You are hereWorkshop Concurrent Embedded Programming

Workshop Concurrent Embedded Programming

By eric.verhulst - Posted on 12 January 2012

Printer-friendly version

A single approach for many-multi-parallel-distributed systems 

After 3 successful sessions at IMEC in Leuven, we are planning to repeat the workshop elsewhere. We are looking for hosting partners across Europe. Find a place, agree on a date, register 20 registrants and we come to your place. Contact us at info. request (at=@) altreonic. com

This workshop aims at debunking the myth that writing concurrent programs for many-core, multi-core, parallel and distributed (embedded) systems is difficult. On the contrary, a single approach with a solid formal basis can handle them all, including reusing existing sequential code.

The workshop will first explain how software writing is really developing a software model of a real (or virtual) system. Such systems are often inherently concurrent and can be expressed as a set of "interacting entities". To formally analyse such systems we can go back to the abstraction provided by process algebras like Hoare's CSP (Communicating Sequential Processes), but often that is not needed if the programming environment provides a consistent API (Application Programming Interface) that hides the details while shielding the software engineer from erroneous side-effects.

In a second part the different types of concurrent programming will be explained. While multi-core design often target data-parallelism, many-core and distributed architectures are typically used for functional parallelism. This also makes clear that concurrent programming always involves a form of communication with the computation to communication ratio being a key parameter. In addition, embedded systems will need to meet real-time constraints and this can only be achieved if the real-time properties are taking into account at the system level.

Finally, the concepts will be illustrated by way of OpenComRTOS Designer. This environment has a formally developed and network centric RTOS at the core, supported by a visual development environment, code generators and profiling tools. It allows concurrent but transparent programming of heterogeneous targets, ranging from small memory starved microcontroller nodes to multi-core host-nodes running a full blown general purpose OS, all connected in a single networked system.

The workshop attendees will provide hands-on experience running and developing small multiprocessor OpenComRTOS applications on a PC and attached ARM boards. The  attendees can take the Win32 and ARM-M3 version home for free.   

Place and date:


- Theoretical concepts

- Programming approaches


- Introduction to the Interacting Entities concept of OpenComRTOS

- Hands-on exercises using Win32 and ARM processing boards (one PC per participant, knowledge of C is advised but optional). Requires a PC or laptop with Windows (XP or higher).


Cost is low and mainly pays for the catering and room.

Registration (preliminary).

Use the contact form at Number of places is limited.



Syndicate content