The AUTOSAR standard defines variations of the software architecture called AUTOSAR platforms: Classic Platform (CP) and Adaptive Platform (AP).
When you choose which platform to use for designing and implementing an AUTOSAR software component, review the information in this table for guidance.
AUTOSAR Platform Comparison
|Goal or Feature||Classic Platform||Adaptive Platform|
|Use cases||Embedded systems||High performance computing, communication with external resources, and flexible deployment|
|Safety and security||Supported||Supported|
|Dynamic updating||Not available||Incremental deployment and run-time configuration changes|
|Level of standardization||High—detailed specifications||Low—APIs and semantics|
The Classic Platform addresses requirements of deeply embedded electronic control units (ECUs) that control electrical output signals based on input signals and information from other ECUs connected to a vehicle network. Typically, you design and implement the control software for a specific type of vehicle, which does not change during the lifetime of the vehicle.
The Run-Time Environment (RTE) layer of the software architecture handles communication between AUTOSAR software components in the Application layer and between AUTOSAR software components and services provided by the Basic Software layer. The Basic Software layer consists of:
Services, such as system, memory, and communication services
The Classic Platform uses a virtual functional bus (VFB) to support hardware-independent development and usage of AUTOSAR application software. The bus consists of abstract representations of RTEs for specific ECUs, decoupling AUTOSAR software components in the Application layer of the architecture from the architecture infrastructure. AUTOSAR software components and the bus communicate by using dedicated ports. You configure an application by mapping component ports to the RTE representations of the system ECUs.
The Adaptive Platform is a distributed computing and service-oriented architecture (SOA). The platform provides high-performance computing, message-based communication mechanisms, and flexible software configuration for supporting applications, such as automated driving and infotainment systems. Software based on this platform can:
Meet strict integrity and security requirements
Address environment perception and behavioral response planning
Integrate a vehicle into the back end or infrastructure of an external system
Address changes to external systems because you can update the software during the lifetime of a vehicle
The RTE layer of the software architecture includes the C++ standard library. It supports communication between AUTOSAR software components in the Application layer and between AUTOSAR software components and software provided by the Basic Software layer. The Basic Software layer consists of system foundation software and services. AUTOSAR software components in the Application layer communicate with each other, with nonplatform services, and with foundation software and services by responding to event-driven messages. Software components interact with software in the Basic Software layer by using C++ application programming interfaces (APIs).
Foundation software includes the POSIX operating system and software for system management tasks, such as:
Identity access management
Logging and tracing
Examples of services include:
Update and configuration management
ECU hardware on which a single instance of an Adaptive Platform application runs is a machine. A machine might be one or more chips or a virtual hardware component. The hardware can be a single chip that hosts one or more machines or multiple chips that host a single machine.
The Adaptive Platform supports hardware-independent development and usage of AUTOSAR application software. Abstract representations of RTEs for specific ECUs (microcontrollers, high-performance microcontrollers, and virtual machines) decouple AUTOSAR software components in the Application layer of the architecture from the architecture infrastructure. AUTOSAR software components and foundation software and services communicate by using dedicated ports. You configure an application by mapping component ports to the RTE representations of the system ECUs.