Project simplifies multicore software development

December 03, 2014 // By Christoph Hammerschmidt
Embedded software increasingly controls vital functions in more or less everything, from vehicles to industrial controls and consumer devices. Reliability and safety risks rise in lockstep with the volume of this software. Within the WEMUCS project, a group of research institutes and commercial companies has devised a development process and a consistent tool chain that facilitates development and at the same time makes the software more dependable.

The WEMUCS project which has been concluded successfully now, pursued the objective to simplify the development process in particular with respect to multicore platforms and at the same time ensure better software quality. At the ESE congress currently taking place in Sindelfingen (Germany) participating companies and institutes demonstrate a broad range of examples, with most of them dealing with automotive applications.

Improving software quality is a non-trivial issue: The tools that currently are available for developing, optimising and testing of embedded software are not exactly seamlessly integrated. Some of the products at the market do not even take into account the specific features and properties of embedded systems. A consequence of this situation is that changing the tools frequently causes errors in the software; in addition, the efforts necessary for the documentation increases. The errors are detected only late in the development process which leads to higher costs - not to mention the additional expenditure of time.

The WEMUCS project has an answer to these challenges: The participants further developed and modified existing tools for modelling, test, optimising and tracing. These tools have been intertwined and dovetailed to enable users to verify the system requirements already in an early phase and along the entire process. This, the project participants say, optimises the system. In order to interconnect the tools, the participants jointly developed specific interfaces and data exchange formats. In addition, usage methods for these interfaces and formats have been developed.

On top of these works to streamline the tool chain, the project partners developed new methods of automatically parallelising control software - for new software at the modelling level and thus at an early stage of development as well as for existing automation software. Against the background of progressive adoption of multicore processors this creates the prerequisite to exhaust the potential of these high-performance processors.

An example for such a data exchange format is the open OT1 format which