Model Based Architecture Development and Simulation
State of the art driver assistance system development with AMALTHEA and chronSIM
A model-based approach, which always originates from a single-source for the next process step, offers many advantages. The system model from AMALTHEA serves here as a starting point, to design a robust dynamic system and software architecture, as well as to generate source code and test cases.
In this article, a workflow is presented on how an AMALTHEA system model architecture is simulated, analyzed and optimized in case of an error.
The development of driver assistance systems, whether it be solutions on individual control devices such as a camera or a network of sensors and control computers, begins with the conception of the system design and will be refined in the derived software architecture. The challenges are situated in the control of the underlying parallel hardware, such as multicore computers, or the concurrency of entire ECU networks.
The different logical paths for the data processing are running in parallel, and can have synchronizations points to join (compress) information, but also branches, to split into new paths. Computation times are usually not constant, and activation cycles are physically bound to the sensor or the actuator, so that there cannot be a uniform processing.
Requirements for a Tool
- Visualization of dynamic aspect, like synchronization of different frequency levels
- Investigation of the latencies for different event chains as well as their distribution over time
- Investigations of the resource load in statistic and a dynamic view
- Investigations of the available memory access bandwidth
- Acknowledgment of design failure in early development phases
- Optimization of data paths (event chains) in the context of system level
- Visualization for training purposes and better presentation of topics for discussions
- Automated analysis for checking timing constraints and optimization possibilities
AMALTHEA supports the use cases as an open, standardized format to the system and SW description. It uses a metamodel, whose instances can be serialized in XML. In addition, it provides a powerful development environment through the Eclipse platform, to work on instances of the XML data models. Thus, model transformations can be implemented in Java and Xtend programming.
For further information see:
The system architecture comprises of an imager chip for image acquisition and an integrated module with multiple processing units. These are specialized computers for the image processing (pre-processing, feature calculation and classification), and programmable cores
It is possible to define logical data relations between runnables. In Figure 4 the runnable runn_merge receives as input information from the runnable runn_algo and classification results from runnable runn_hwclass. It delivers as output a merged scene description for the runnable runn_func.
The timing model needed is generated automatically from the AMALTHEA system model. The obtained timing model has been loaded into the INCHRON Tool-Suite and studied with the real time simulator chronSIM.
With this analysis it can be quickly established where the design has bottlenecks or even design errors.
A major advantage of this systematic approach is that temporal errors are early identified in the design phase. Otherwise the errors will be found only very late in the development process by testing and debugging the hardware. Through the simulation, temporal errors have been identified up to 12 months earlier, the causes have been understood through an appropriate visualization and efficiently fixed.