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. More information can be found here.

You can find technical information about Ocarina on technical website.

Ocarina Eclipse plug-in

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).

You can find more information about this plug-in here. A demonstration of the plugin can be viewed here.

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. You can find more information about this project here

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.

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. A description of POK functionnalities is provided here and a presentation is available here.

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.