close Warning: Can't synchronize with repository "(default)" (Couldn't open Subversion repository /var/repositories/svn/aadl: SubversionException: ("Failed to load module for FS type 'fsfs'", 160033)). Look in the Trac log for more information.

Past projects


Arc is an Eclipse plugin to generate Ravenscar-compliant Ada source code from AADL models


We carry out research in the fields of real-time, embedded and distributed systems. One of our current axes of research is the investigation of the AADL (Architecture Analysis and Design Language) as a vehicle for the various phases of system design of hard real-time systems. Architecture description languages gained prominence in academia–and to a limited extent in the industry–during the 90's. The AADL is an architecture description language geared towards distributed, real-time embedded control systems (DRE control systems). It has been developed by a broad consensus of academia and industry and is a standardized language. It is an evolution of MetaH that was developed by the Honeywell Technology Center.

AADL Components

AADL, like all architecture description languages, is component centric. A system is described as a set of inter-connected components. AADL offers the possibility of modeling software as well as hardware components of a system. This allows the digital system design to coexist in the same repository as the software system design. It also allows the expression of detailed deployment information and the analysis of properties that are a consequence of the digital as well as software architecture, .e.g: the end-to-end transmission time of a message among two remote threads that are hosted on processors connected by a bus with a certain access and jitter time.


Components in AADL define interface points as features. Features are the only means by which a component may communicate with its context.


Most entities in AADL may also have associated properties, these are name/value pairs that describe an aspect of the component (or other entity) that is not expressible otherwise. Examples of properties include Deadline', Period', Dispatch_Protocol' for threads and Source_Name' and `Source_Data_Size' for data components.

Code Generation

One of the investigations being carried out in our group is on the generation of Ravenscar Profile compliant Ada code from AADL models. We have developed a mapping from AADL software components to Ada language constructs that conforms to the Ravenscar Profile for High Integrity Real-Time Systems. We have tested these code generation rules by building an open-source Eclipse plugin (ARC: Ada to Ravenscar Converter) that implements these code generation rules. The tool is still in an alpha phase, and has quite a few limitations and bugs. Please send bug-reports to Irfan Hamid. When you send bug reports it would be highly appreciated if you send also the offending AADL sample. Installation instructions and a tutorial on how to use the tool are provided in the documentation.


You may download any of the following versions of ARC. However, it is recommended that you download the latest version that is available at any given time (currently 0.2.6) primarily because the above-mentioned documentation page is updated to reflect the state of affairs as present in the latest version.

Last modified 8 years ago Last modified on 06/17/09 19:58:09