Why


The ADAS/AD challenge
Learn about the challenges of developing safe ADAS/AD vehicle functions


The AD Cycle - How it works
Learn about the AD Cycle works for efficient ADAS/AD development


Benefits of ETAS Deterministic Middleware Solution
See why the worlds top automotive OEMs choose us

Solution concepts


System representation concepts
Fundamental concepts to construct ADAS / AD systems


YAAA Modeling Concepts and Workflow
YAML-based concepts and workflows to model ADAS / AD systems


Deterministic Recompute and Virtual Drives
The 🔑 to development efficiency


Scheduling Mechanisms in ETAS DMS
Achieving optimal compromises between latency and predictability

Basics


Determinism
Gain deeper understanding on determinism in embedded real-time systems


Differences of μC and μP-based embedded systems
Why achieving deterministic behavior μP-based embedded systems is a challenge


Glossary
Understand the terms and abbreviations used in ETAS Deterministic Middleware Solution

Products


ETAS DMS Software Development Kit
Design, develop, build, debug and test ADAS/AD applications

ETAS DMS Middleware & Runtime Libraries
Safety-certified middleware and runtime libraries for series production

For whom


Software Architects
Architecture-as-code. Git-based collaboration. Auto-generated graphics.


Feature Developers
Reduced development complexity. Fast debugging with real vehicle data.

Services


Trainings
Get up to speed on developing with ETAS Deterministic Middleware Solution through our expert trainings


Consultancy
Want to know how to best make use of ETAS Deterministic Middleware Solution for your ADAS/AD platform or project?


Proof of Concept (PoC)
See one of your ADAS/AD vehicle functions developed with ETAS Deterministic Middleware Solution


Custom Project
Have a special need or require an extension to ETAS Deterministic Middleware Solution?

Support


FAQs
Get answers to frequently asked questions about ETAS Deterministic Middleware Solution


Contact
Get in touch with an expert to obtain support

Infos and news about ETAS Deterministic Middleware Solution


Blog
Get the latest news about ETAS Deterministic Middleware Solution


Newsletter
Get the latest news about ETAS Deterministic Middleware Solution delivered to your email inbox


Whitepapers
Read in-depth information, analysis, and insights from our experts

YAML As Architecture (YAAA)

Domain-specific language (DSL) for ADAS / AD systems

YAAA (YAML As Architecture) is a grammar and meta model for the entities and relationships in the ETAS DMS meta model.

YAAA is designed to model systems in the automated driving (AD) as well as driver assistance (DA) domain. It supports the decomposition of complex systems into sub components and describes all relevant details, from software components, to code geneneration and target deployment utilizing a middleware.

The main aspects for YAAA modelling are:

  1. Functional components: the building blocks of the AD application to describe the function behavior. Available components are e.g. Gateways, Runnables, Activities, Partitions, Operating System, SoCs
  2. Communication: The connections and interfaces between the functional components
  3. Deployment: Information on the distribution of the functional components to the hardware

YAAA: Modeling concepts and workflow

YAAA provides a set of YAML-based templates for modeling the software architecture of ADAS / AD systems. Learn more

Benefits of YAAA

  • The language is designed to fit into modern Git-based software development workflows. This is achieved by capturing architecture desciption in plain text YAML files, resulting in an efficient architecture-as-code approach.
  • The YAAA architecture desciption is based on YAML and hence is human and machine readable. This eases file diffs and as such enables an efficient software development workflow based on a version control system (e.g. Git).
  • For YAAA, a similar pattern as in object oriented programming languages is applied: defining types and instantiating them.
    Each YAAA type definition lives in it's own .yaml file which allows for a great modularity of the system and allows for a clear separation of concerns and definition of code ownership.

Tools supporting YAAA

  • The YAAA Code Generator (YAAAC) is a command line tool to generate all middleware related source code and configuration files which are required to build and deploy a YAAA application described by the YAAA model and the functional user code.
  • YAAA-Vis is a web-based viewer providing interactive graphical views of the architecture model designed in YAAA.
  • YAAA-Code is a Visual Studio Code extension that eases developing YAAA projects. It provides code completion, code suggestions and validations for YAAA files.
  • YAAA-Vis Code is a Visual Studio Code extension that helps deveoping YAAA projects. It provides code completion suggestions and validations for YAAA models.

The YAAA development tools are part of the ETAS DMS SDK.