An abstract, non-functional timing simulation supports the system architect in the step from the idea to the elaborated concept and immediately serves as an executable specification. The model elements for describing the software are limited to processor runtimes and access to hardware resources. Through this abstraction, the distribution of software in the system and dynamic effects from the scheduler behaviour can be evaluated quickly. For effective and early runtime analysis of AMALTHEA models, we have therefore extended the APP4MC ecosystem with the simulation framework APP4MC.sim. In particular, our solution allows the consideration of software aspects and also the investigation of effects caused by concurrent access to shared hardware resources, especially memory in multi-core architectures. At its core, APP4MC.sim is based on the SystemC library with TLM extensions, which provides a solid foundation due to its widespread use and large user community.
We will present the steps from a model via an executable SystemC simulation to an event trace:
- Code generation (Java, Guice, Xtend2)
- Simulation (SystemC user libraries + generated code)
- Analysis of event traces (Trace Compass, Amalthea Trace Database)
The work is funded within the framework of the ITEA3 project Panorama.