Platform specifications and coding guidelines
What is AUTOSAR?
AUTomotive Open System ARchitecture – is a partnership of over 180 automotive manufacturers, suppliers, tools, and semiconductor vendors that aims to standardize and future-proof software elements, interfaces, and bus systems, to help vehicle manufacturers manage growing complexity while keeping costs down. It develops standardized open software architectures for automotive Electronic Control Units (ECUs), avoiding repeatedly re-development of similar software components for the same applications.
Autosar Adaptative Platform
For Autonomous and Connected Vehicle Technologies
Connected and autonomous driving technologies are evolving at a rapid pace. These changes demand new development requirements for both new and existing ECU software platforms. The new ‘Adaptive Platform’ standard developed by AUTOSAR for highly autonomous and internet-connected driving technologies, helps to meet these rapidly growing market needs.
While original AUTOSAR specifications are now called Classic AUTOSAR, Adaptive AUTOSAR is a new standard made to cover the new needs and new resources previously mentioned. It does so by offering dynamicity and by using the capabilities provided by high-performance computing.
Adaptive AUTOSAR addresses the separation of hardware from software, resulting in compute clusters combining software functionality for different functions in one “vehicle server”. Adaptive AUTOSAR extends the AUTOSAR platform to address the unique needs of this vehicle server.
The standard includes interfaces required for the development of future automotive ECUs (Electronic Control Units) running on modern multi-core microprocessors that enable OEMs to implement autonomous driving software updates, Internet of Things (IoT) capabilities, media streaming, and other services for their future cars.
Some of the technologies driving the adaptive platform standard include:
Benefits of AUTOSAR
- It helps OEMs remain competitive and innovative.
- Provides increased design flexibility.
- Increases efficiency in functional development.
- Offers common interfaces for development processes.
- Grants a seamless, manageable, and task-optimized work environment.
- Improves safety through standardization.
Autosar C++ 14 rules and deviations
AUTOSAR Consortium released the “Guidelines for the use of the C++14 language in critical and safety-related systems” as a part of the Adaptive AUTOSAR platform. This document provides coding guidelines for modern C++ as defined by ISO/IEC 14882:2014. Its main application is for the automotive industry, but also can be used in other industries that require embedded software.
The standard specifies:
- 154 rules adopted from MISRA C++ 2008 without modifications (67%)
- 131 rules based on existing C++ standards
- 57 rules based on the research or other literature or resources
AUTOSAR C++14 follows the rules classification approach from MISRA C++ 2008, according to:
- Required rules: mandatory for compliance with the standard
- Advisory rules: recommended but not mandatory
The rules are also classified as whether they are enforced automatically by static analysis tools:
- Automated: can be fully supported by static analysis tools
- Partially automated: can be supported by static analysis tools but may require additional practices
- Non-automated: cannot be supported with static analysis tools.
The rules can also be classified according to allocation targets: implementation, verification, toolchain, and infrastructure.
How to comply with AUTOSAR C++14 guidelines?
It would be best if you had it to fulfill the requirements of ISO standards (such as 26262)
The best way to achieve AUTOSAR compliance is through a static analysis tool like QA-MISRA that analyses software packages very quickly, focussing on coding standards compliance and code quality insights. QA-MISRA ensures automated compliance with the AUTOSAR C++14 guidelines for safety-critical C/C++ code.
With QA-MISRA there are no hidden extras, coding language variants, or compliance module add-ons. It provides a single solution to automatically check your C or C++ source code for compliance against the most common international software safety and security standards.