SynDEx: System-Level CAD Software for Optimizing Distributed Real-Time Embedded Systems
by Yves Sorel
Distributed real-time embedded systems are of crucial importance in application domains such as avionics, automobiles, telecommunication and mobile robotics. Principally based on digital electronics, which includes software, this aspect of the various applications is rapidly growing. Because they must meet constraints on resource distribution and optimization, as well as time, the design of such systems is particularly complex. In order to assist the designers, scientists at INRIA are proposing a methodology called AAA (Algorithm Architecture Adequation) and its associated system-level CAD software called SynDEx. These cover the whole development cycle, from the specification of the application functions, to their implementation running in real time on a distributed architecture composed of processors and specific integrated circuits.
AAA/SynDEx provides a formal framework based on graphs and system-level CAD software. On the one hand, these specify the functions of the applications, the distributed resources in terms of processors and/or specific integrated circuit and communication media, and the non-functional requirements such as real-time performances. On the other, they assist the designer in implementing the functions onto the resources while satisfying timing requirements and, as far as possible, minimizing the resources. This is achieved through a graphical environment, which allows the user to explore manually and/or automatically the design space solutions using optimization heuristics. Exploration is mainly carried out through timing analyses and simulations. The results of these predict the real-time behaviour of the application functions executed on the various resources, ie processors, integrated circuits and communication media. This approach conforms to the typical hardware/software codesign process. Finally, for the software part of the application, code is automatically generated as a dedicated real-time executive, or as a configuration file for a resident real-time operating system such as Osek or RTlinux.
This approach will improve the design safety provided by formal models, and decrease the development cycle thanks to timing simulation and automatic code generation. Another interesting feature is the ability to easily interface AAA/ SynDEx with domain-oriented specification languages such as the Synchronous languages, AIL for automobile, Scilab/Scicos for automatic control, AVS for image processing and so on. This means a link can be provided to users most commonly used tools, and when these languages guarantee timing properties, that these will be maintained during the distributed real-time implementation. This is particularly important in the case of safety-critical applications found in the field of avionics and automobiles.
Figure 1 shows the principles of SynDEx interfaced with the hybrid dynamic systems modeller and simulator Scicos. Figure 2 shows the SynDEx graphical user interface used to design a manual driving application with joystick for the CyCab modelled and simulated with Scicos. The CyCab is an intelligent and modular electric vehicle designed at INRIA Rocquencourt by the IMARA team and industrialized by Robosoft. Its architecture is based on four MPC555 microcontrollers and an embedded PC, all of which communicate through a CAN bus.
|Figure 1: SynDEx interfaced with Scicos.
Since the early nineties, there has been a significant amount of research on AAA/SynDEx at INRIA Rocquencourt, firstly by the SOSSO, then the OSTRE, and now the AOSTE team. As time has passed, it has increased in popularity with industrial users, and has therefore been evaluated by several companies. This occurred firstly in France and three years ago in Europe, through ITEA projects launched in automobile and telecommunications research. It is also currently used in real-world applications provided by Robosoft, MBDA, Mitsubishi-ITE, and PSA.
|Figure 2: SynDEx GUI used to design a manual driving application with a joystick for the CyCab.
AAA/SynDEx runs under Unix/Linux, Windows and MacOS and comes with full documentation, including a reference manual, a user manual and a tutorial. It is downloadable free of charge under INRIA copyright at http://www.syndex.org.
Future work will focus on the following aspects, from high to low levels of the design flow: the integration of AAA/SynDEx with the MDA (Model Design Architecture) approach by proposing successive model transformations; the extension of currently static optimization techniques to more dynamic schemes in order to better support event handling and dynamic creation of functions; and finally, the tight coupling of system-level and circuit-level CAD tools in order to actually provide automatic hardware/software partitioning in the co-design process.
Yves Sorel, INRIA, France
Tel: +33 1 39 63 52 60