The automotive industry permanently faces new challenges stemming from new environmental laws, safety aspects, and demand for more drivers and passengers comfort in new vehicles. Most of all innovations in these fields are driven by software. Therefore automotive software engineering has to deal with several key issues which needs to be solved.
- The amount and complexity of automotive software increases rapidly, thus requiring more and more computional power. Since the amount of electronic control units (ECUs) in modern cars is already very high and cannot be simply increased, more computational power is achieved by replacing single-core by multi- or many-core processors.
- A rising number of car variants with an almost individual combination of features demands a sophisticated variant management in the software development process.
- Software tool landscapes at OEMs and first-tier suppliers are very diverse. Old tools may not be simply replaced but need to be integrated into new tool chains and design flows.
- Software artifacts need to be exchanged between companies or cross-domain projects that are using different tools. This raises the need for standardized data models.
- The tools need to be available and maintained during the whole automotive system's life cycle. The source code of the tools therefore needs to be available to all stakeholders during a long period of time.
The public European ITEA research projects AMALTHEA and its successor AMALTHEA4public address these issues by establishing a de-facto standard for a tool chain infrastructure for embedded multi- and many-core software development. APP4PMC will bring this tool chain into the Eclipse community. The main focus of the AMALTHEA projects is currently on the automotive industry, but it is not limited to. Multi- and many-core embedded systems can be found in numerous other domains like automation or telecommunication industries as well. Therefore the solutions produced by APP4MC will not be restricted to the automotive industry and can be adapted or applied to other domains as well.
The APP4MC project aims at providing
- a basis for the integration of various tools into a consistent and comprehensive tool chain
- extensive models for timing behaviour, software, hardware, and constraints descriptions (used for simulation / analysis and for exchange)
- editors and domain specific languages for the models
- tools for scheduling, partitioning, and optimizing of multi- and many-core architectures
The focus of APP4MC is the optimization of timing and scheduling in embedded multi- and many-core systems. The data model is focused on these topics and does not claim to replace existing standards like EAST-ADL, AUTOSAR or MDX.
The APP4MC project provides a tool chain environment and de-facto standard to integrate tools for all major design steps in the multi- and many-core development phase. A basic set of tools will be available to demonstrate all the steps needed in the development process. Companies and R&D partners will benefit from the de-facto standard for tool chains and the support given by the features of the extended APP4MC tool chain platform. The platform can be easily adapted with commercial or in-house tools. This eases up the cooperation between different companies and organisations were various tools are already in place but based on different data inputs. These hassles will be eliminated by the APP4MC system model as a central element for the entire tool chain.
None. All contributers agreed to publish under the EPL.
Eclipse is widely used in the automotive software industry. APP4MC will add value to the Eclipse community by establishing a de-facto standard for the exchange of data models for multi- and many-core systems. The tool chain will be a basis for building customized open- and closed source tools. The APP4MC project itself expects a wider visibility in the community and an extended open collaboration with the interested parties. The main users/developers and their related companies are already members of the ‘Eclipse Automotive Industry Working Group (AUTO-IWG)’.
Technical details and cooperations:
- The APP4MC platform is build on existing Eclipse Frameworks like EMF, XCore and Sphinx. To describes component interfaces it references the Franca IDL.
- The AMALTHEA research project has also specified event trace formats (HTF and BTF). These formats are freely available and have been published on the web pages of the Eclipse Automotive Working Group. APP4MC implements these formats as EMF models.
- The Trace Compass project implemented an import of the BTF format. A further cooperation (e.g. implementation of specific visualizations) is intended.
APP4MC will be enhanced to handle multi- and many-core aspects for functional distribution related to new hardware. An consortium associated to the publicly funded AMALTHEA4public project will increase the community and result in wider use of the tooling. Big automotive OEM’s, tier-one and tool suppliers are related and connected to the project.
A new AMALTHEA tool chain environment is expected by 3Q/2015. This environment will be the initial contribution to APP4MC and starting point for further development.
- Robert Bosch GmbH
- itemis AG
- Timing Architects
- Behr Hella Thermocontrol
- Dortmund University of Applied Sciences and Arts
- SYMTAVISION GmbH
- INCHRON GmbH
The initial codebase of APP4MC is the result of the publicly funded project AMALTHEA and is currently extended and maintained by the AMALTHEA4public project. A first release - available under the EPL - was published in June 2014 and can be downloaded from amalthea-project.org. The code that will be contributed to the APP4MC project is separated into multiple components that are described in more detail.
Figure: AMALTHEA Tool Platform components and their dependencies (simplified)
Models
The EMF models are specified with Xcore. The parts of the overall model (see left column in the editors figure) are specified in a modular way.
Editors
This component contains editors for all AMALTHEA models. The editors are Sphinx tree editors based on generated EMF providers with little modifications like additional nodes and new labels and icons.
Workflow
The workflow component is based on the MWE2 engine. It provides the possibility to specify and execute workflows based of the AMALTHEA models and tools.
The platform ships with some available workflow steps, which can be used out of the box: "Reader", "Writer" and "Add Schedule Points".
Multicore Support
Algorithms for multi-core development like partitioning and mapping of software.
Export
After the execution of the workflow steps the AMALTHEA model contains the results of the optimization. This content can be exported e.g. as OSEK OIL-file.
Tracing
Record, analyze and transform runtime traces of an embedded system.
The event traces can be stored in the AMALTHEA Trace Database (as SQLite database) where – especially for graphical user interfaces – information can be extracted efficiently.