OpenComRTOS

OpenComRTOS
OpenComRTOS
OpenComRTOS 1.jpg
OpenComRTOS application view
Company / developer Altreonic NV
OS family Distributed microkernel
Working state Current
Source model Source code license
Initial release 2008
Latest stable release 1.4 / September, 2011
Marketing target Embedded systems
Available programming languages(s) ANSI-C
Package manager OpnComRTOS suite msi file
Supported platforms Freescale PowerPC, Texas Instruments C66xxx DSP, ARM, XMOS, MicroBlaze, LEON, NXP CoolFlux DSP, Melexis MLX16, Win32, Linux
Kernel type network-centric real-time MP Microkernel
Default user interface Development environment on host machine
License Binary - Source - Open Technology
Official website www.altreonic.com

OpenComRTOS is a commercial network-centric, formally-developed real-time operating system, aimed primarily at the embedded systems market.

Contents

Overview

OpenComRTOS is a network-centric RTOS (Real-time operating system) that was developed using Formal Methods. It has unique features like the capability to support heterogeneous multi-processor systems in a fully transparent way, independently of the processor type (16bit, 24bit, 32bit, 64bit) and the communication medium (shared memory, buses, point-to-point links or virtual links on top of existing communication mechanisms). Typical code size on a 32bit target processor is about 5 KiBytes. OpenComRTOS is based on the meta-modelling paradigm of Interacting Entities. In OpenComRTOS the unit of execution is a "Task" (a function with its local workspace or stack). Task entities synchronise and communicate using intermediate "Hubs" entities that are decoupled from the interacting Tasks. Hub are formally modelled as "Guarded Actions". The current implementation provides the functionality of traditional RTOS services like Events, Semaphores, Ports, FIFOs, Resources, Packet Pools and Memory Pools. The user can also create his own Hub types. OpenComRTOS uses a uniform architecture with a Kernel Task, driver Tasks and application Tasks, each having a Task input Port. The same interface is used for the Interrupt Service Routines. The underlying architecture relies on the use of prioritised Packet switching with communication and routing being part of the underlying system services. One of the results is that the source code of the Tasks is independent of the mapping of Tasks an Hubs to the processing nodes in the target system.

History

The initial purpose for developing OpenComRTOS was to provide a software runtime environment supporting a coherent and unified systems engineering methodology based on Interacting Entities. This was originally developed by Open License Society since 2005, and since 2008 further developed and commercialised by Altreonic. A previously developed RTOS called Virtuoso[1][2][3][4][5] served as a guideline. Virtuoso was a distributed RTOS, developed by Eonic Systems until the technology was sold to Wind River Systems in 2001. Its overall functionality of transparent parallel processing (called the Virtual Single Processor runtime model) was a major driving force to redevelop it in a better way.[6][7] OpenComRTOS is conceptually a fourth generation of Virtuoso although it was a clean room development. The Virtuoso RTOS had its origin in the pioneering INMOS transputer, a partial hardware implementation of C.A.R. Hoare's Communicating Sequential Processes (CSP) process algebra.

Formal Development Approach

For the development of OpenComRTOS a systematic but iterative engineering process was followed. Requirements and specifications being defined, models were developed in Leslie Lamport's Temporal logic of actions (TLA+) and then model checked with the corresponding TLC model checker. Based on these models, the code was written and then a third person created new models in TLA+ to verify that the implementation was still isomorphic. The timer and associated time-out functionality for services were model checked using the Uppaal Model Checker. In 2011 Springer published the book on the OpenComRTOS project.[8]

OpenComRTOS suite: Development Environment and Tools

OpenComRTOS comes with a number of tools. OpenVE is a visual modelling environment whereby the user specifies node topology and application topology in a graphical way. From these diagrams an application specific runtime model is generated. Application specific code is provided in ANSI-C for each task. Runtime execution as well as inter-processor interactions are visualised using the Event Tracer. A System Inspector allows to read out and modify the datastructures. Additional modules are hostserver modules (these allow any task access to the host node services) and a Safe Virtual Machine for C. The latter requires about 3 KiBytes (10 KiBytes for program and data) and allows to dynamically download binary compiled c code at runtime.

Portability

OpenComRTOS was developed for embedded systems and is written in portable ANSI-C, except the context switch and ISR interfaces. OpenComRTOS has been ported to the following targets: Freescale PowerPC, Texas Instruments C66xx DSP, Melexis MLX16, ARM Cortex M3, Xilinx, MicroBlaze, LEON3, NXP CoolFlux DSP and to MS-Windows and Linux. The latter versions allow transparent integration of host nodes and serve as well cross development and simulation systems. As the RTOS kernel is identical for single or multi-processor nodes, supporting a multi-processor system requires only to write a small task level driver that can send and receives Packets.

OpenComRTOS is made available in binary, source code and Open Technology licenses. The latter provides formal models, design documents, source code and test suites.

References

  1. ^ , Beyond the von Neumann machine: communication as the driving design paradigm for MP-SOC from software to hardware. Kluwer Academic Publishers Hingham, MA, USA, Networks on chip, 1993, Pages: 217 - 238
  2. ^ , Virtuoso : providing sub-microsecond context switching on dsps with a dedicated nanokernel. International conference on signal processing applications and technology, Santa Clara September, 1993.
  3. ^ , Beyond transputing : fully distributed semantics in Virtuoso’s Virtual Single Processor programming model and it’s implementation on of-the-shelf parallel DSPs. In Proceedings of WoTUG-20: Parallel Programming and Java, 1997, pages 77–86.
  4. ^ , Non-sequential processing: bridging the semantic gap left by the von Neumann architecture. In Signal Processing Systems SIPS’97, pages 35–49.
  5. ^ , The rationale for distributed semantics as a topology independent embedded systems design methodology and its implementation in the Virtuoso RTOS. Design Automation for Embedded Systems, 2002, 6:277–294. 10.1023/A:1014018820691.
  6. ^ . OpenComRTOS: an ultra-small network centric embedded RTOS designed using formal modeling. In Proceedings of the 13th international SDL Forum conference on Design for dependable systems, SDL’07, pages 258–271, Berlin, Heidelberg. Springer-Verlag.
  7. ^ . An industrial case: Pitfalls and benefits of applying formal methods to the development of a network-centric RTOS. In Cuellar, J., Maibaum, T., and Sere, K., editors, FM 2008: Formal Methods, volume 5014 of Lecture Notes in Computer Science, pages 411–418. Springer Berlin / Heidelberg.
  8. ^ Formal Development of a Network-Centric RTOS: Software Engineering for Reliable Embedded Systems by Eric Verhulst, Raymond T. Boute, José Miguel Sampaio Faria and Bernhard H.C. Sputh (ISBN 978-1-4419-9735-7 - 1st Edition., 2011, XVII, 219 p. 54 illus)


External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Comparison of platform virtual machines — Platform virtual machines are software packages which emulate the whole physical computer machine, often giving multiple virtual machines on one physical platform. The table below compares basic information about platform virtual machine (VM)… …   Wikipedia

  • OS-9 — For the Macintosh operating system, see Mac OS 9. OS 9 Company / developer Microware (now owned by RadiSys Corporation) Programmed in C, Assembly language OS family Unix like Working state Current …   Wikipedia

  • DNIX — Company / developer Dataindustrier AB OS family Unix like Working state Historic Source model Closed source Latest stable release 5.4 …   Wikipedia

  • MenuetOS — For other uses, see Meos (disambiguation). MenuetOS Screenshot Company / developer Ville M. Turjanmaa Programmed in FASM assembly language Working …   Wikipedia

  • Windows CE — Microsoft Windows CE Company / developer Microsoft Programmed in C[1] …   Wikipedia

  • Operating System Embedded — Enea OSE Company / developer ENEA Programmed in Assembly, C, C++ OS family Real time embedded operating system …   Wikipedia

  • Contiki — This article is about the embedded operating system. For other uses, see Contiki (disambiguation). Not to be confused with Kontiki. Contiki Screenshot of the VNC server running on the Atmel AVR port of Contiki. Com …   Wikipedia

  • Nucleus RTOS — Nucleus OS Company / developer Mentor Graphics Programmed in C OS family Real time operating systems Working state Current Source model Closed source …   Wikipedia

  • Nokia OS — ISA Company / developer Nokia OS family Embedded operating systems Source model Closed source Marketing target Mobile phones Nokia OS (NOS) is an informal name for the operating system in many Nokia …   Wikipedia

  • OS2000 — Baget 2.0 RTOS (ОСРВ Багет 2.0) Baget startup screen (ASCII art) Company / developer Scientific Research Institute of System Development of the Russian Academy of Sciences OS family Real time operati …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”