wiki:Projects
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.

AADL Models Edition

AADL-BA-FrontEnd

aadlba front end logo AADL-BA-FrontEnd for OSATE 2 is an editor for AADL V2 behavior specifications, integrated and distributed with the reference AADL v2 editor: OSATE 2 (Open Source AADL Tool Environment) developped by the SEI. The behavior specification interpreted by this editor, is defined in the Behavior Model Annex of the AADL V2 standard. This annex was designed to model the behavior of AADL components using state machines. It defines syntactic, semantic, and consistency rules to ensure a given behavior specification is meaningful. The AADL-BA-FrontEnd plug-in checks that a given behavior specification respects these rules. It also implements a data type checker that verifies (according to strict rules close to the Ada type checking) the consistency of data manipulations (assignments, comparison, etc.).

An AADL V2 specification using the AADL-BA is given in the multi-modal ping-pong example.

Should you need any further information about TELECOM Paristech Eclipse plugins, included AADL-BA-FrontEnd, please do not hesitate to contact us at aadl [minus] eclipse [at] listes [dot] telecom [minus] paristech [dot] fr


Model Transformation and Code Generation

RAMSES

RAMSES (Refinement of AADL Models for Synthesis of Embedded Systems) is a model transformation and code generation tool that produces C code for ARINC653-compliant operating systems and OSEK-compliant operating systems. RAMSES interfaces with OSATE2 and proposes a command-line interface to OSATE2. RAMSES proceeds by refinement insofar as it produces a simplified version of an AADL model as an intermediate step towards code generation. This simplified model includes a behavior annex subclause that expresses the behavior resulting from the expansion of AADL components.


Code Generation

Ocarina AADL toolsuite

Ocarina is our AADL toolsuite used to analyze, instanciate and optimize AADL models. It also has code generation features to automatically create code from AADL models targetting real-time embedded operating system. There is a complete list of Ocarina functionnalities:

  • Model parser and pretty printer
  • Model optimization
  • Code generation in C (for the PolyORB-HI-C runtime)
  • Code generation in Ada (for the PolyORB-HI-Ada runtime)
  • Code generation for ARINC653 compliant systems (for the POK runtime)
  • Support of both versions of the AADL (version 1 and 2)

Ocarina is currently used in both industry and research domains and was selected with success as a valid prototype platform for several projects (ASSERT, MOSIC, Flex-eWare and so on). Moreover, its model parsing facilities are used by third-party tools, like the Cheddar schedulability analysis tool.

Ocarina is distributed under the GNAT Modified GPL licence.

Ocarina Eclipse plug-in for Eclipse/Topcased

To interface Ocarina with Eclipse and Topcased, we designed a plugin that allows the use of Ocarina inside this modeling toolsuite. It can be installed through the Eclipse updates and make the use of Ocarina very easy (point and click style).


AADL Runtime Environment

POK ARINC-653 compliant AADL runtime

POK is an ARINC653-compliant AADL runtime. It provides isolation functionnalities to isolation partitions in terms of space and time. It uses the Ocarina generated code to configure partitions and provides functionnalities to execute code.

We are also involved in the writing of the ARINC653 annex of the AADL. We detail our modeling approach for ARINC653 systems, discuss validation patterns to enforce safety and security requirements. We also provide small examples to demonstrate our approach and the benefits of our toolset.

POK is published under the BSD licence. You can find more information about this project on its own website.

PolyORB-HI-C AADL runtime

PolyORB-HI-C is an AADL runtime used by Ocarina C code generator. This piece of software is a link between Ocarina generated code and the underlying runtime system (Linux, RTEMS, ...).

PolyORB-HI-C is POSIX/C compliant and runs on many operating systems (Linux, FreeBSD, Solaris, RTEMS, DSLinux). It has a low complexity (most of the algorithms have a complexity of O(1)) and a reduced memory footprint.

It is also used in the industry and was chosen as a valid execution platform in the Flex-eWare project.

PolyORB-HI-C is written under the GPL licence. It is also released with Ocarina.

PolyORB-HI-Ada AADL runtime

PolyORB-HI-Ada is an AADL runtime used by Ocarina Ada code generator. This piece of software is a link between Ocarina generated code and the underlying runtime system (Linux, RTEMS, ...).

PolyORB-HI-Ada is Ravenscar compliant and runs on many operating systems (Linux, FreeBSD, Solaris, RTEMS). It has a low complexity (most of the algorithms have a complexity of O(1)) and a reduced memory footprint. More, it enforces many restrictions on the Ada language. It was used with success in the ASSERT project.

PolyORB-HI-Ada is written under the GPL licence. It is also released with Ocarina.

Runtimes examples

All our examples are shipped in software releases. You can find a description of these examples on this page.


Model Checking

REAL

REAL is a language for constraints declarations on AADL (and AADL V2) language. REAL can be used either to evaluate some aspects of the model (such as memory occupation), or to verify that hard constraints are respected. It allows to have a fully AADL-centric developpement chain, from project specifications to effective system description.


Past projects

There is a list of past projects. Unfortunately, we dont have the time to maintain all our projects and some of them are leaved unmaintained. This page contains a list of past projects.


Contributions

Developments

  • For AADL-BA-FrontEnd for OSATE2 and RAMSES: send a email to aadl-eclipse-devel [at] listes.enst.fr

Bug report

  • For AADL-BA-FrontEnd for OSATE2 and RAMSES: go here
  • For Ocarina, PolyORB-HI and REAL: go here

Community

Contributors

Our research projects involve a team of several people. There is a list of who is or was involved in our projects :

Related projects

Last modified 17 months ago Last modified on 09/23/15 16:26:21

Attachments (2)

Download all attachments as: .zip