Why automotive companies need to embrace digitalization and adopt a holistic software and systems engineering approach to the design and development of software
To remain competitive in the modern automotive industry, automotive OEMs and suppliers must deliver innovative software-driven vehicle features that integrate seamlessly with a vehicle’s mechanical, electrical and electronic systems. The importance of these software systems will only grow as the industry moves closer to achieving full autonomy.
In an autonomous vehicle, the software will take full responsibility for guiding the vehicle through dynamic driving environments. This task will require the incorporation of artificial intelligence and machine learning algorithms into already complex software systems to process information and make real-time decisions. The impact of this growing complexity will manifest in multiple ways in automotive software development:
- Software systems will have to fulfill a greater number of requirements, support more feature/functions, and operate with greater reliability as the vehicle becomes increasingly software-driven.
- As vehicle software grows, the task of verifying and validating its functionality becomes much harder. This is especially true of safety-critical systems that must meet very strict requirements on failure rates and failure modes (functional safety).
- When design changes arise, software teams will need to test and validate change implementation and cascade it to all affected systems. The efficient, accurate and organized dispersal and implementation of these changes is critical to building a vehicle that functions as intended and is safe.
While software enables the creation of vehicles that are smarter, more adaptive, more convenient and more desirable, it also accelerates development cycles and contributes to vehicle complexity. As auto makers confront these challenges, new approaches to vehicle development can help manage the growing complexity of the software, hardware, mechanical and electrical systems of autonomous vehicles.
Software complexity creates new challenges
The integration of more software into the vehicle increases complexity, specifically in the interaction between software and other systems, such as the electrical and electronic (E/E) systems and networks and electronics hardware. Increasing vehicle software content leads to an increase in the frequency and importance of interactions between the software and other systems. These other systems then must account for the real-time aspect of most modern automotive software, adding compatibility constraints to both the hardware selected and the software systems during design.
The added complexity at all levels of the vehicle will strain traditional siloed development processes. Integration issues will become more frequent and more severe between engineering teams and disciplines. Document-based approaches to the system-level program management will also become infeasible as more teams and external partners become involved in the vehicle program. The result is greater vehicle development risk leading to more recalls, warranty claims, and cost for the auto maker.
Digitalization enables the future of AV design
Auto makers must find new approaches to software development to continue the journey toward autonomous vehicles. Today, automotive software engineering teams and the overall vehicle development cycle are ill-prepared to meet the challenges of tomorrow. In response, many companies are adopting a feature-based software engineering approach to better manage complexity and accelerating development cycles.
These approaches, however, still have holes. Many companies still rely on document-based approaches for tracking and managing software development. This will not scale to meet the challenges of a modern car, and certainly not an AV. In document-driven approaches, feature-based or not, companies will struggle to ensure compliance of both the software and development processes with various standards, such as functional safety. Change management and collaboration among teams will also prove difficult as software systems become more sophisticated and interconnected with each other and other systems around the vehicle. Engineering changes must be cascaded and implemented efficiently across multiple systems, requiring teams to collaborate continuously during development.
An enterprise-wide software and systems engineering approach
Digitalization can help fill in the holes of traditional automotive software development. Digitalization brings companies past the document-based development approach and helps to improve the integration of software with the other engineering domains. As a result, software engineers can work more closely and efficiently with their counterparts in electronics hardware, E/E systems, and the mechanical domain. This increased collaboration can reduce development risk by making it easier and quicker to find and resolve design issues, or by avoiding these problems in the first place. All domains can then improve and optimize their designs despite accelerated development cycles as less time is spent on resolving issues during integration.
Embracing digitalization also enables auto makers to adopt an enterprise-wide software and systems-engineering approach (SSE) to the overall vehicle development. A digitalized SSE process means that auto makers can maintain a holistic, systems-level view of the vehicle during its development through connected digital tools. The system-level view includes various domains and sub-systems, including software, hardware, mechanical systems, etc.
SSE can capture product requirements, performance targets, constraints and other information to form the product definition.
These definitions and requirements are then available for all other stakeholders, including CAD, CAE and even partner companies. It also enables a multi-directional flow of information. As simulations and tests are completed, that data can be captured to further enrich the digital twin of the vehicle, ensuring that all stakeholders can access an up-to-date model of the vehicle and its behavior.
A modern digitalized software development flow, based on SSE, is built on three major pillars:
- Requirements capture and test specification for all aspects of software systems with attribute assignment and integrated traceability. This may include an online platform for workflow management and digital solutions for test case management with requirements traceability.
- Design and testing procedures that link requirements to models and code. This enables tracking of test results, automated testing and software release planning with status monitoring.
- Live reporting and dashboards that can provide insights into model development with automated results feedback.
These pillars create a solution that can continuously provide key information to the right people in all phases of development. This includes the processes of software specification, implementation, testing, model re-use, and in change and impact analysis. This solution can also enable stakeholders to view and manage information from a globally accessible platform with direct traceability to relevant models.
This approach can help coordinate and orchestrate the overall software development flow, from higher level program engineering (feature/function decomposition, trade studies, target setting, and so on), to the core controls and software engineering processes. And through digitalization, engineering domains and teams will be better integrated and prepared to overcome the challenges of AV software development and integration.