To be (co) supervised by
Rob Esser
email: esser@cs.adelaide.edu.au
phone: 8303 5198
Room 3033, Plaza Building
Students will become members of the Formal Modelling and Verification research group and regularly attend and report on their work in group meetings. Our research group consists of 3 academics, 5 PhD students, masters and honours students who research in the area of formal systems.
The Cal Actor language
was developed at the University of California at Berkeley. As designed at
Berkeley it is a textual notation for writing dataflow actors.
Recently at Xilinx Research Laboratories a
visual syntax has been developed and integrated into the
Moses tool suite. Moses provides editing, simulation and animation support for both text-based and visual Cal.
Xilinx manufacture Field Programmable Gate Arrays (FPGAs). These programmable
hardware devices offer the flexibility of software with the performance of
hardware. A number of FPGAs even include multiple PowerPC cores enabling one
chip hardware/software solutions to be built. In addition to fixed processor
cores, FPGAs have enough configurable logic to enable a number of 32 bit
processor cores to be implemented on the same chip. Currently Xilinx offer a soft DSP core to
their customers.
The aim of this project is to develop a model of a
DLX processor with the Cal actor language and to use existing tools to transform this model into hardware
running on the XUP FPGA
development board. In addition variants of the DLX architecture are to be
created and compared.
The Cal Actor language
was developed at the University of California at Berkeley. As designed at
Berkeley it is a textual notation for writing dataflow actors.
Recently at Xilinx Research Laboratories a
visual syntax has been developed and integrated into the
Moses tool suite. Moses provides editing, simulation and animation support for both text-based and visual Cal.
Xilinx manufacture Field Programmable Gate Arrays (FPGAs). These programmable
hardware devices offer the flexibility of software with the performance of
hardware and are ideal platforms for demanding video applications
The aim of this project is to develop using the Cal actor language a model of a
video capture application for a high definition video stream and to use existing
tools to transform this model into hardware running on the
XUP FPGA development board.
A model for standard definition video capture application already exists and can
be used as the basis for a high definition implementation.
The Moses tool suite is a Java based modelling and simulation environment. It allows the syntax and semantics of discrete-event based visual languages to be simply formalised. From these descriptions a generic editing and simulation infrastructure is parameterised. Recently, explicit state-space generators have been written for a small number of very specialised languages.
In this project, based on formalisation of the semantics of visual notations, a framework is to be developed to allow the elaboration of a system's state-space. This framework will have similarities to the existing simulation framework but will also include support for property checking and for generating counter-examples.
The Moses tool suite is a Java based integrated and extendable tool suite for specifying concurrent systems with a range of modelling formalisms. The tool suite includes a set of tools for visual programming in which visual notations (formalisms) are defined. Examples of common visual notations are Petri nets, UML Statecharts and Data flow diagrams. System components are modelled using (graphical) editing tools and executed either as a stand-alone program or within an animation framework.
The automatic layout of visual notations is a specialised form of graph layout. It is typically a very hard problem to solve and especially so when used in conjunction with the interactive editing of models. Different visual notations require different strategies for producing non intrusive automatic layout of visually pleasing and intuitive models.
A major design objective of the Moses tool suite is to make it easy for users to extend the system, and to use parts of the system in new and unforeseen ways. A key application programming interface (API) of Moses is the Repository. The Repository provides the functionality for persistently storing typed objects in a hierarchical name-space. The type of such an object determines (both directly and indirectly) the set of tools which can be applied. Typically, objects could be representations of complete systems or components of a system. Their type could identify the kind of formalism used in the specification (e.g. Petri nets, process networks, etc.). The hierarchical name space could map directly onto a machine's file system, web server, etc. The tool infrastructure adds to this by providing tools and mechanisms to organize tools, to configure them, and to configure the work space of a user. It also provides all the basic tools for manipulating objects inside a repository.
In this project a new back-end will be developed for the repository. It is to be based on the Concurrent Versions System. This will provide additional functionality to back out of any changes, revert to tagged versions and to work collaboratively. In addition the notion of type conversions will be implemented as repository objects rather than as Java classes and referenced in the type description graph.