ArticleslgStudy

computer science

OpenComRTOS

OpenComRTOS is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand OpenComRTOS rather than just read about it. In short: OpenComRTOS is a commercial network-centric, formally developed real-time operating system (RTOS), aimed mainly at the embedded system market. Overview OpenComRTOS was developed using formal methods.

OpenComRTOS — main illustration
OpenComRTOS — illustration

Key takeaways

  • OpenComRTOS belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect OpenComRTOS to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of OpenComRTOS from memory before moving on to harder problems.

Reference excerpt

OpenComRTOS is a commercial network-centric, formally developed real-time operating system (RTOS), aimed mainly at the embedded system market.

Overview OpenComRTOS was developed using formal methods. It has features like the ability to support heterogeneous multi-processor systems transparently, independent of the processor word size (16-bit, 24-bit, 32-bit, 64-bit), and the communication medium (shared memory, buses, point-to-point links or virtual links on extant communication mechanisms). Typical code size on a 32-bit target processor is about 5 KiBytes. OpenComRTOS is based on the meta-modelling paradigm of Interacting Entities. In the RTOS, 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. Hubs are formally modelled as Guarded Actions. The current implementation provides the functions of traditional RTOS services like events, semaphores, ports, first in first out (FIFO) stacks, resources, packet pools, and memory pools. The user can also create custom 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 and 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 the Open License Society since 2005, and since 2008 further developed and commercialised by Altreonic. A formerly developed RTOS named Virtuoso served as a guideline. Virtuoso is 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. 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. Most challenging applications:

Oil exploration system with 12,000 processors featuring microcontrollers, fixed point and floating point DSPs and a Linux host in a single network. Sonar system with 1,600 floating point DSPs. Rosetta and Giotto ESA space missions. Converting a 400,000 lines application running on a Portable Operating System Interface (POSIX) style RTOS to OpenComRTOS.

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.

OpenComRTOS Designer: development environment and tools OpenComRTOS comes with many tools. Visual Designer is a visual modelling environment whereby the user specifies node topology and application topology graphically. From these diagrams, an application specific runtime model is generated. Application specific code is provided in ANSI C for each task. Runtime execution, and interprocessor interactions, are visualised using the Event Tracer. A System Inspector allows reading out and modifying the data structures. Further 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 dynamically downloading 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/4, 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.

See also Comparison of real-time operating systems

References

External links Official website, Altreonic

Illustrations

OpenComRTOS illustration

Worked examples

Example 1 — a first encounter with OpenComRTOS

Start with the simplest possible case. Write down what OpenComRTOS claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to OpenComRTOS before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about OpenComRTOS ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of OpenComRTOS

In research
OpenComRTOS appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses OpenComRTOS in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
OpenComRTOS is common in secondary-school and first-year university syllabi. It links to neighbouring topics 2008 software, ARM operating systems, Embedded operating systems, so understanding it makes those chapters shorter.
In everyday life
Look for OpenComRTOS outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study OpenComRTOS in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what OpenComRTOS means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain OpenComRTOS out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is OpenComRTOS in simple terms?

OpenComRTOS is a commercial network-centric, formally developed real-time operating system (RTOS), aimed mainly at the embedded system market. Overview OpenComRTOS was developed using formal methods.

Why does OpenComRTOS matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study OpenComRTOS?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on OpenComRTOS.

Tags

  • 2008 software
  • ARM operating systems
  • Embedded operating systems
  • Microkernels
  • Real-time operating systems

Keep exploring