OpenComRTOS Designer is Altreonic’s formally developed network-centric RTOS with associated modeling and debugging tools. It is unique in the sense that it supports heterogeneous systems and hence it is much more a generic programming and modeling environment than a simple RTOS. While it supports high-end multicore processors, it also supports distributed systems, DSPs and small microcontrollers thanks to its very small code size and build-in support for transparent distributed real-time scheduling.
The OpenComRTOS kernel was from the beginning developed with safety and reliability in mind. While the packet switching architecture allows transparent processing on multiple processing nodes, it also reduces code size, lowers the latency and reduces the copying of parameters. The datastructures are statically generated to avoid the use of dynamic memory allocation, which further reduces the memory requirements and enhances the safety of the design. Tasks interact through so-called Hubs, similar to Guarded Actions, while offering the familiar functionality of Events, counting Semaphores, Resources, BlackBoards and other common RTOS services. Formal methods were used to support the architectural development and a verification of the implementation. One of the unexpected results was a code size reduction of up to ten times versus a previously handcoded version that e.g. was used on the recent ESA Rosetta mission. The formal development is described in a book of Springer (Formal Development of a Network-Centric RTOS, 2011).
Altreonic is now releasing the OpenComRTOS v.1.6. Qualification Package. It was developed as a domain independent Project inside Altreonic’s GoedelWorks environment whereby all project data is stored in a central project repository. The modeling approach of GoedelWorks provides full traceability from high level Requirements to the last line of source code. GoedelWorks allows the real-time generation of precedence and dependency trees in a graphical or textual format of any project entity. This makes it easy to verify the completeness for example in terms of fulfillment of Specifications and test coverage.
In total about 370 tests were developed supporting the verification and validation. Code coverage (functions, lines and branches) is 100% and supported by an automatic test suite. The current Qualification Package is geared towards the PowerPC e-600 processor family. With the exception of the Hardware Abstraction Layer most of the evidence can be reused for other target processors.
Overall the Qualification Package Project contains 1280 Entities, 2840 structural or dependency links, 18 high level Requirements, 307 derived Specifications and 512 Work Products (such as source code files, Test Cases and evidence Artefacts). This provides an extensive and detailed evidence for qualification of the RTOS kernel independently of the safety domain. Thanks to the use of formal methods used during the previous development, the kernel only has 6550 lines of source code with a resulting code size of 15724 Byte on the PowerPC. Yet, it is already in use replacing much larger POSIX style RTOS.
The Qualification Package is generic, i.e. not specific for a particular safety domain. The linked qualification entities make it easy to execute, for example, an impact analysis when the Specifications are updated or when domain- or organization-specific Requirements change. The graph below shows the dependency tree for the Event service from its Specification to some of the Tests.
The Qualification Package is made available as an option to the Open Technology License under which OpenComRTOS Designer is commercialised. While the latter already contains all engineering data such as formal models, design documents and source code, the Qualification Package adds an extra layer of evidence to provide 100% assurance whereby the additional tests can be used as regression tests.
More information can be found at: www.altreonic.com
Eric Verhulst, eric.verhulst ( @= at) altreonic.com, Tel.: +32 16 202059 or +32 477 608 339