In ADAS (Advanced Driver Assistance Systems) and AD (Autonomous Driving) projects, software architects play a crucial role in designing and shaping the software infrastructure that enables the functionality and intelligence of these systems. Their responsibilities involve various tasks to ensure the successful development and deployment of safe and efficient autonomous driving technologies.
Software architects are responsible for defining the overall system architecture and designing the software components that make up the ADAS/AD system. They create a high-level plan that outlines how different software modules will interact, communicate, and work together to achieve the desired functionality.
In real-time ADAS/AD applications, performance optimization is critical. Software architects analyze and optimize algorithms and software modules to ensure the system can operate efficiently and respond quickly to changing conditions.
Software architects work closely with other team members, including hardware engineers, control engineers, data scientists, and testers, to ensure effective collaboration throughout the development process.
In ETAS Deterministic Middleware Solution, the software architecture is specified with YAAA, a domain-specific language.
YAAA provides means to specify interfaces as well as runnables. The latter communicate via ports that are typed by the interaces. Runnables are grouped to activities, forming so-called runnable-graphs for which ETAS DMS ensures deterministic behavior.
Through separation of concerns, interfaces, runnables, activities are all managed in separate YAML files.
The activity graph provides an architectural description of the system.
Learn more about the YAAA modeling concepts and workflow.
Through the architecture-as-code approach, creating and changing artifacts is as easy as writing code.
This brings several benefits: