As we are all well aware, the automotive industry worldwide is rapidly moving toward the AUTOSAR tool and integration environment for the development of embedded software. In many ways, this is a long overdue maturation of the industry from the early days of company-specific operating systems and software development environments which were lacking in scalability and interoperability. This move also mirrors the earlier transition of desktop software development from the splintered early days to the universal UNIX® and Microsoft Windows development environments of today. As a result, suppliers large and small across all automotive domains are thinking about migrating their own software development environments to AUTOSAR, often without a very clear understanding of what steps that entails and the impact that migration has on the entire software development organization.
As an AUTOSAR consulting company, we at LHP have worked with a number of automotive companies that have effectively made the transition to AUTOSAR development. Based on this experience, we have identified the top five considerations that will facilitate the transition by helping to establish clear goals and plan effectively for the unavoidable impacts that will have to be managed in order to achieve a successful transition.
The Top Five Considerations
The term AUTOSAR is very often misunderstood, particularly by an organization that has no direct experience with AUTOSAR, or when experience comes from having worked with AUTOSAR in a different organizational context.
AUTOSAR is not one size fits all. For a small product footprint, there may be very limited benefit to adopting all of the implications of AUTOSAR when only the external interfaces need to be compliant to OEM requirements. AUTOSAR offers many different granularities (Implementation Conformance Classes) of the stack up to a monolithic basic software. For products that may be too constrained to entirely migrate to the AUTOSAR platform, it is possible to implement an AUTOSAR front end with a non-AUTOSAR backend based on a more advanced Portable Operating System Interface Operating System (POSIX OS), or a less sophisticated OS for time-sensitive data processing such as a demand-side platform (DSP). Decide how your organization plans to use AUTOSAR, based on its unique product and development environment.
It is often the case that the driving force behind AUTOSAR adoption is the customer requirements for component integration, and that may very well be the only consideration for the migration. But the customer requirement can be an impetus to re-evaluate the current organization and consider the adoption of other elements of the AUTOSAR ecosystem including the platform software, architectural design tools, and other parts of the ecosystem tools for virtual analysis and software validation.
As platform features become more complex, there is a declining benefit from the custom development of features that are required only to support the application software; features such as cryptographic protection mechanisms for cybersecurity of the vehicle interfaces, multi-core hardware support with the associated protections for the data integrity, and new features such as Controller Area Network with Flexible Data-Rate (CAN FD) and Ethernet. As these functions become standardized by AUTOSAR there is a declining benefit to investing development money and energy in something that does not differentiate the product or add to the company's intellectual property (IP).
Similarly, the rise of functional safety in automotive software development requires a more systematic approach to the architectural design of the software, distinct from the functional implementation. A well-developed migration to AUTOSAR can help to solve this problem as well, in addition to other process requirements for safety, cybersecurity, and software quality.
AUTOSAR methodology imposes some significant constraints on the software development workflow because it impacts the software development, integration, and software release processes. Since the AUTOSAR tools are designed against the AUTOSAR specification they provide little flexibility for the organization to deviate from these workflow constraints. A sampling of some of these constraints is as follows:
AUTOSAR defines the framework of the software architecture to structure the software development and flexible deployment architecture. This flexibility comes with the cost of additional formal roles which may not currently exist within the organization.
One of those roles is the software architect, whose role is to manage the allocation of requirements to software components, but also to define the software interfaces and the creation of multiple architectural views of the software structure and organization. With an AUTOSAR application, architectural changes can only be made through the AUTOSAR tools, and changes between components must be coordinated. It is sometimes impractical to provide AUTOSAR tools and training to all developers in a large organization, and funneling changes through an architect can become a significant bottleneck in the process.
Another important role is the software integrator, whose job is to integrate the software components and ensure that all the interfaces are properly connected in a variety of different product configurations. AUTOSAR requires many more steps in order to produce a software build, including AUTOSAR integration and generation of the runtime environment (RTE) for the specified integration architecture.
Depending on the complexity of the organization, it may be possible to distribute the role of software architect using a less formal approach, or in a larger organization a better solution is to automate the common tasks of the architect, including adding, creating, and connecting interfaces, task scheduling, and RTE generation.
For the platform software, AUTOSAR uses a configure-versus-build philosophy, which eliminates much of the need for platform software development. Furthermore, AUTOSAR BSW developers become much more portable across product lines because the layered AUTOSAR architecture makes the platform configuration independent of the application software.
While AUTOSAR employs industry-standard features for software development, it also defines its own flavor for the defining and handling of software resources that can have significant differences with many legacy software systems. Thus, porting of a legacy software system can require a significant redesign of the structure of the code, and likely involves management of many more resources and imposes more constraints than the organization is accustomed to. AUTOSAR also employs a very flexible deployment architecture whereby all the interface code is auto-generated from the architectural description.
The migration of the code base to AUTOSAR can be facilitated by effectively planning the re-architecture against established principles, and with the development of customized style guides and process rules.
Some of the major architectural constraints and considerations of an AUTOSAR application are as follows:
By clearly defining the expectations from the transition to AUTOSAR, as well as properly anticipating all of the steps and potential pitfalls in the migration, the organization will achieve a better end result, and stay in line with the global corporate strategy and expectations.