Opendata, web and dolomites

Report

Teaser, summary, work performed and final results

Periodic Reporting for period 1 - COEMS (Continuous Observation of Embedded Multicore Systems)

Teaser

\"The main tool for understanding and controlling physical phenomena is observability. The invention of the telescope by Hans Lipperhey and its reproduction by Galilei in the 17th century, for example, meant a revolution to astronomy. In medicine, the findings by Roentgen...

Summary

\"The main tool for understanding and controlling physical phenomena is observability. The invention of the telescope by Hans Lipperhey and its reproduction by Galilei in the 17th century, for example, meant a revolution to astronomy. In medicine, the findings by Roentgen, allow us to look into the human body, without affecting it, and thereby identifying many causes of medical problems. The list of such game-changing inventions and tools can be extended further by electron-scan microscopes, ultrasound devices, EEG, DNA analysis etc.

Likewise, the ability to observe the internals of an execution of a computer-based system is a fundamental requirement for ensuring correctness and safe behaviour. The goal of the COEMS project is to develop novel observation techniques for embedded multi-core systems that allow for the observation and simultaneous correctness checking of system internals at a level of detail that is orders of magnitude better than it is possible today. The main objective of the COEMS project is to build a novel observer platform with supporting verification methods for embedded multicore systems.

For verification of systems, both static and dynamic techniques are used today. While static verification is extremely powerful, dynamic analysis is a key technique not only because a final analysis and verification on the target platform will always be necessary – and COEMS focuses on such (final) dynamic analysis and verification. The current practice for verifying system behaviour is to use both extensive logging annotations, and a step-by-step oriented debugger to check the execution of the system. Any kind of code annotation has an effect on the overall timing of the system and may thus influence also the functional behaviour - hence its safety. In the space and railway industry, therefore, the rule \"\"run what you test and test what you run\"\" is strictly followed by leaving all code annotations in the final system. In many domains, however, like the automotive domain, market constraints disallow, for performance reasons, log information to be present in the resulting system. Then, the tested system is not identical with the final product, and especially timing bugs may abound in the final system that could not occur in the tested system. Especially when using multi-core systems as an underlying execution platform, current verification techniques reach their limit.\"

Work performed

The COEMS project is split into two phases of 18 month each. The first phase aims at providing the basic technology, the second aims at completing the technology and making adaptions based on the experience made during the first phase. During the first 18 month the following work items have been completed: Requirements for the COEMS hardware and tooling have been collected by the industrial partners and corresponding guidelines for tool qualification for the avionics and railway domain have been documented.
A first estimation of the economic impact of the technology has been carried out.
A first edition of the COEMS hardware has been designed and produced and the corresponding FPGA-designs have been developed, i.e. the components for pre-processing processor trace data and executing analyses on the resulting event traces.
Furthermore, the monitoring specification language has been designed and respective tools, i.e. a code editor, compiler and interpreter, have been developed and tested in combination with the COEMS hardware.
Also a static analyzer that is required to support the more complex use-cases, as coverage measurement and race detection, has been developed.
The prototypes for demonstration of the COEMS technology for the avionics and railway domain have been defined both, on a hardware and on a software level.
As the COEMS project aims to provide technology ready for industrial application, a first version of a training suite has been provided.
The training suite comprises tutorials to apply the COEMS technology to solve practical problems an software engineer might encounter.
These results have already been disseminated via scientific publications, newsletters, social media, press-releases and by presentation at various conferences.

Final results

The goal of the proposed COEMS project is the development of an observation system for embedded multi/many-core computing systems. It provides a game changing tool that radically increases the productivity in developing and maintaining such systems. Hence, COEMS will foster European development and increase the competitiveness of European companies.

Scientific Impact: We see COEMS scientific impact especially in the area of Software tests, Debugging, Performance Optimization, Runtime Verification and Software Engineering Research.

Industrial Impcat: Because debugging and testing are the most time-consuming tasks, industry profits from the new observation capabilities provided by COEMS and its reduction or elimination of current limitations. The proposed approach will shorten development cycles, improves the chances of project success, lowers overall costs and is a contributing factor to a product’s reliability. Impact on safety-critical applications (avionics, railway, medical) Safety-critical applications in any field rely on arguments generated with a formal qualification process for its software to work predictably and robustly within their specified boundaries.

Economical Impact: Testing and debugging tasks accounts for 50 % or even more of development costs. Thus, any improvement of efficiency of developers directly translates into increased revenue. Additional costs will be caused by remedying issues that occur in the field, opportunity costs of software products that are delayed and/or cancelled due to bugs (40 % of all embedded software development projects are behind schedule), consequential damage to software companies\' reputations due to bugs in released software and delays and cancellations of software projects.

Social Impact: From today\'s perspective, the step from single core to multi-core computing systems is the only solution to meet the demand for continuously increasing computing performance at decreasing power consumption. Furthermore, increasing embedded systems performance enables new or improved solutions for reducing fuel consumption, making home automation more efficient or decrease the power consumption of computing systems. As a fundamental building block in the process towards multi-core architectures, the COEMS approach is an indirect but fundamental contributor for reducing accidents and CO2 emissions due to increased safety and efficiency, respectively.

Website & more info

More info: https://www.coems.eu/.