# EAST-ADL

EAST-ADL is an Architecture Description Language (ADL) for automotive embedded systems, developed in several European research projects. It is designed to complement AUTOSAR with descriptions at higher level of abstractions. Aspects covered by EAST-ADL include vehicle features, functions, requirements, variability, software components, hardware components and communication. Currently, it is maintained by the EAST-ADL Association in cooperation with the European FP7 MAENAD project.

## Overview

EAST-ADL is a domain-specific language using meta-modeling constructs such as classes, attributes, and relationships. It is based on concepts from UML, SysML and AADL, but adapted for automotive needs and compliance with AUTOSAR. There is an EAST-ADL UML2 profile which is used in UML2 tools for user modeling. The EAST-ADL definition also serves as the specification for implementation in domain-specific tools.
EAST-ADL contains several abstraction levels. The software- and electronics-based functionality of the vehicle are described at different levels of abstraction. The proposed abstraction levels and the contained elements provide a separation of concerns and an implicit style for using the modeling elements. The embedded system is complete on each abstraction level, and parts of the model are linked with various traceability relations. This makes it possible to trace an entity from feature down to components in hardware and software.
EAST-ADL is defined with the development of safety-related embedded control systems as a benchmark. The EAST-ADL scope comprises support for the main phases of software development, from early analysis via functional design to the implementation and back to integration and validation on vehicle level. The main role of EAST-ADL is that of providing an integrated system model. On this basis, several concerns are addressed:
* Documentation, in terms of an integrated system model.
* Communication between engineers, by providing predefined views as well as related information.
* Analysis, through the description of system structure and properties.
Behavioural models for simulation or code generation are supported as references from EAST-ADL functions to external models, such as a subsystem in MATLAB/Simulink.

## Organisation of EAST-ADL Meta-Model

The EAST-ADL meta-model is organized according to 4 abstraction levels:
* Vehicle level contains modeling elements to represent intended functionality in a solution-independent way
* Analysis level represents the abstract functional decomposition of the vehicle with the principal internal and external interfaces.
* Design level has the detailed functional definition, a hardware architecture and allocations of functions to hardware.
* Implementation level relies on AUTOSAR elements and does not have EAST-ADL-specific constructs for the core structure.
For all abstraction levels, relevant extension elements for requirements, behavior, variability and dependability are associated to the core structure.

## Relation between EAST-ADL and AUTOSAR

Instead of providing modeling entities for the lowest abstraction level, i.e. implementation level, EAST-ADL uses unmodified AUTOSAR entities for this purpose and provides means to link EAST-ADL elements on higher abstraction levels to AUTOSAR elements. Thus, EAST-ADL and AUTOSAR in concert provide means for efficient development and management of the complexity of automotive embedded systems from early analysis right down to implementation. Concepts from model-based development and component-based development reinforce one another. An early, high-level representation of the system can evolve seamlessly into the detailed specifications of the AUTOSAR language. In addition, the EAST-ADL incorporates the following system development concerns:
* Modeling of requirements and verification/validation information,
* Feature modeling and support for software system product lines,
* Modeling of variability of the system design,
* Structural and behavioral modeling of functions and hardware entities in the context of distributed systems,
* Environment, i.e., plant model and adjacent systems, and
* Non-functional operational properties such as a definition of function timing and failure modes, supporting system level analysis.
The EAST-ADL metamodel is specified according to the same rules as the AUTOSAR metamodel, which means that the two sets of elements can co-exist in the same model. The dependency is unidirectional from EAST-ADL to AUTOSAR, such that AUTOSAR is independent of EAST-ADL. However, relevant EAST-ADL elements can reference AUTOSAR elements to provide EAST-ADL support for requirements, variability, safety, etc. to the AUTOSAR domain.
A model may thus be defined where AUTOSAR elements represent the software architecture and EAST-ADL elements extend the AUTOSAR model with orthogonal aspects and represents abstract system information through e.g. function and feature models. Such model can be defined in UML, by applying both an EAST-ADL profile and an AUTOSAR profile, or in a domain specific tool based on a merged AUTOSAR and EAST-ADL metamodel.

## History and Specification of EAST-ADL

The EAST-ADL language has been defined in several steps within European research projects:
| Project name | Time | Budget | EAST-ADL Version | Specification Download | Support by research departments of following vehicle manufacturers(OEMs) |
| EAST-EEA | 1.7.2001 - 30.6.2004 | 40 M€ | EAST-ADL Version 1.0 | No download available after project had finished | BMW, Daimler, Fiat, PSA (Peugeot/Citroen), Renault, Volvo, Valeo |
| ATESST | 1.1.2006 - 31.3. 2008 | 3.9 M€ | EAST-ADL Version 2.0 | https://web.archive.org/web/20110725022136/http://www.atesst.org/home/liblocal/docs/EAST-ADL-2.0-Specification_2008-02-29.pdf | Daimler, Volvo Group, VW/Carmeq |
| ATESST2 | 1.7.2008 - 30.6. 2010 | 3.8 M€ | EAST-ADL Version 2.1 | https://web.archive.org/web/20110725022320/http://www.atesst.org/home/liblocal/docs/ATESST2_D4.1.1_EAST-ADL2-Specification_2010-06-02.pdf | Fiat, Volvo Group, Volvo Cars, VW/Carmeq |
| MAENAD | 1.9.2010 - 31.8. 2013 | 4.0 M€ | V2.1.12 | www.east-adl.info | Fiat, Volvo Group |
EAST-ADL is governed by the EAST-ADL Association, founded in September 2011. The EAST-ADL UML2 profile is represented in the EAST-ADL annex to the OMG MARTE profile.

## Discussion

While interest from automotive companies in EAST-ADL is increasing over the past years, EAST-ADL is still to be seen as a research effort (as of 2012). The practical acceptance of EAST-ADL in the automotive industry is still very low, even though EAST-ADL addresses many important aspects of vehicle development. EAST-ADL is used as a reference model in other research projects, e.g. CESAR and TIMMO-2-USE

## Modeling Tools and File Format

EAST-ADL tool support is still limited, although a UML profile is available and domain specific tools such as MentorGraphics VSA, MetaCase MetaEdit+ and Systemite SystemWeaver have been tailored for EAST-ADL in the context of research projects and with customers. Papyrus UML, extended within the ATESST project as a concept demonstrator has EAST-ADL support, and MagicDraw, can also provide EAST-ADL palettes, diagrams, etc. In the case of UML, developers also need to have knowledge of UML (classes, stereotypes, arrow types, ..) for modeling with EAST-ADL. Many automotive engineers, in particular mechanical engineers, hardware developers, process experts) do not have this knowledge and prefer other approaches. EATOP is an upcoming initiative to make an Eclipse-based implementation of the EAST-ADL meta-model.
An XML-based exchange format, EAXML, allows tools to exchange EAST-ADL models. The EAXML schema is autogenerated from the EAST-ADL metamodel according to the same principles as the AUTOSAR ARXML schema. Currently, the exchange format is supported by the EAST-ADL prototype of Mentor Graphics VSA, MetaEdit+ and SystemWeaver. For UML tooling, it is possible to exchange models using XMI, subject to the XMI compatibility between tools.

## Similar approaches

* Unified Modeling Language (UML)
* Systems Modeling Language (SysML)
* Architecture analysis and design language (AADL)
* AUTOSAR
* SystemDesk