Why software engineering should be considered a science

Mirko Baecker from Siemens PLM Software says that, for complex, safety-critical projects, software development is an engineering discipline

Guest
By Guest on 18 November 2016
Why software engineering should be considered a science

This article first appeared in the Autumn 2016 issue of The Record.

On any substantial programming project where a large team of developers is working on complex, often ­safety-critical ­systems, the discipline of software engineering is a science rather than an art.

Automotive design is one area where many different parts of software engineering have to come together and combine with mechanical and systems engineering. Auto companies are morphing into mobility and consumer electronics companies, reliant on new and disruptive technologies to build new products – without surrendering any of the responsibilities of safety and performance. That means the tools that help manage the product development lifecycle need to be integrated systems that cross multiple domains and disciplines to support a seamless flow of information, and deliver efficiency and accountability across all the steps of the development process.

Today, up to 90% of the 500,000 different requirements for a new car are not mechanical at all; they’re electrical and software. And even though automotive design has switched to common platforms shared between different models, there can be hundreds of variants of those individual platforms. Software and hardware need to be developed in parallel, with strong integration between the mechanical and electrical components and the software models that make up the overall system throughout the development, so you can validate them together. This ­model-driven development means systems engineering that’s been happening in separate domains like the power train, safety systems and infotainment now needs to apply across all those domains.

New vehicles combine mechanical and electrical systems with product lifecycle management (PLM) tools and the electrical and software systems that application lifecycle management tools support. Delivering those vehicles effectively on the schedules that customers demand, without compromising on safety or innovation, requires tools that integrate these worlds and support best practices.

With large teams of software engineers working on the logic and code of multiple systems, there needs to be clear accountability in terms of who is responsible for those systems as development scales, and regression testing is required to make sure none of the changes made introduce any dangerous side effects. For efficiency, that may need to be automated with continuous integration to validate that the overall safety of the code – across all the variations of the vehicle platform – hasn’t been degraded by the changes. At any point, you might need to go back and ask who approved a design, which components were tested together or how any defects discovered were prioritised, so you need tools that give a view across all the domains of mechanical, electrical and software control systems in the vehicle.

To keep pace with the industry, automotive development has to include large amounts of simulation, capturing and replaying the data from testing of physical systems to validate every software change, in a way that allows for compatibility and reuse across a wider range of cars, vehicle platforms and variants. For autonomous vehicles and assistive systems, data collection and testing will also have to cover all the territories where vehicles will operate, which might have different driving cultures and rules.

Testing, verification and validation of all these models has to happen in an integrated way, with software development tools that integrate with PLM systems and are themselves integrated to help visualise requirements, specifications and information flowing between the different models as a consistent process rather than a series of discrete steps. That needs to continue all the way from proving the feasibility of a concept, to implementing and optimising the whole system and, increasingly, past the point of shipping. And you have to do it at an increasingly fast pace.

Product development cycles for automotive have been shrinking for a while now, and the pace of technology sometimes moves faster than automotive companies can easily digest. It’s not just a question of adopting new components and technologies; it’s also the time and cost of integrating and validating them.

Treating development as a science and an engineering discipline is the only way to cope with this combination of increasing complexity, pressure for cost efficiency and pace. That requires software engineering practices that follow rigorous, structured processes. If you can move seamlessly through gathering requirements, building, testing, validating code and generally improving repeatability in development, you can improve productivity, efficiency and accountability.

The automotive industry is moving toward standardisation through the growing number of ISO specifications and partnerships. Ensuring compliance with those standards necessitates putting certified software development processes in place.

The right tools and techniques can reduce costs that would otherwise rise as software becomes an ever more significant part of the development process, by increasing efficiency and accuracy. They can help present the requirements, specifications and even the code in ways that are easier for software engineers to read and understand. They’re also key to commoditising some of the software development load, by allowing reuse of software components between vehicles and vehicle platforms, and across engineering domains within a vehicle.

When automotive companies think of themselves as mobility and consumer experience companies, they have to be professional software companies as well. That demands integrated product design and development systems that cover the entire product lifecycle, both mechanical and digital. The increasing pace of disruptive change – in both technology and business models – demands tools that support these new and more agile ways of working, as delivering new business value becomes the only way to maintain competitive advantage.

Mirko Baecker is EMEA Marketing Portfolio Director for Manufacturing Engineering Software Solutions (NX CAM and Tecnomatix) at Siemens PLM Software


Number of views (3285)/Comments (-)

Comments are only visible to subscribers.