Select Page

Software development reimagined – Part 1: How multicore, safety and security aspects are changing today's software projects

Embedded software development today still mostly takes place in single-core environments. However, software is increasingly controlling complex processes that only function in multi-core environments. This presents new challenges for development.

To achieve a high standard of software quality, different models for the individual development phases of a project are helpful. The usual approaches to the software development process typically rely on the V-model and the model for agile development methods.

The V-model (XT) prescribes the following steps:

Development phases in the V-model

Figure 1: Project development phases in the V-model

These steps are mandatory when developing systems in agile projects:

Agile development phases

Figure 2: Development phases in agile projects

However, software today has to control increasingly complex processes. This presents new challenges for software development, for example, in meeting the stringent requirements of safety and security.

Multicore technology allows for better use of battery capacity.

A brief look back: With the introduction of laptops and the mobile availability of computing power, the limits of achievable computing power per watt, expressed in millions of instructions per second (MIPS), were quickly reached. The greater the computing power, the greater the strain on the battery. The same process occurred with mobile phones.

Salvation came not only in the form of enormous battery packs (which were also available if you wanted to carry them), but with the development of multicore processors, which could process more software packages in parallel without placing a greater burden on the processor. This meant that the batteries of mobile devices lasted longer and the devices became more powerful without consuming significantly more electricity.

In the PC world, the transition from single-core to multi-core processors took place at the beginning of the millennium. Back then, the first multi-core notebooks were quite expensive. And this was despite the fact that the available PC software – developed for single-core architectures – was not yet equipped to handle this challenge.

New challenges cannot be met without multicore environments.

We find ourselves at a similar point today in the embedded world:

Multicore challenges

Figure 3: Multicore, Safety and Security and new challenges

While the majority of embedded software continues to be developed for single-core microcontrollers, new challenges are already on the horizon: driver assistance systems, autonomous driving, intelligent charging concepts for car batteries and solar panels, secure mobile communication and much more require efficient software.

Without Multicore environments These new challenges cannot be overcome. Two aspects are particularly important here, and manufacturers bear a great deal of responsibility for them:

  • SafetyThe systems must not endanger users or their environment.
  • SecurityApplications and data should be stored securely. Unauthorized and unwanted access should be avoided at all costs.

Multicore, Safety and Security Together, these factors form a complex starting point for embedded programming. Finding clear answers in the embedded field is not always satisfactory, as there is still much uncharted territory where these three factors intersect.

So what do we need to consider and implement in our software projects to ensure that high-quality products are created in the end, which can be reliably processed in a multicore system while taking safety and security into account?

  1. The System requirements and the functional specification (System Requirements, functional Specification) must have clearly separated requirement paths for these different challenges.
  2. The Software architecture It must contain different or separate modules according to the different requirement paths and demonstrate their logical connections. Therefore, it must consider and map multicore, safety, and security for the new, complex systems.
  3. The Software design (i.e., the programming) must adhere to the rules derived from the requirements. For example, modular, procedural, and object-oriented programming steps must be used. In some cases, software specifications precisely define the programming method – software development according to AUTOSAR, such as the API for drivers based on the AUTOSAR standard (MCAL drivers) and custom-developed complex drivers, RTE extensions for multicore, etc.
  4. The Software testing (Unit, system test) must check exactly according to the specifications of the requirements and the defined software architecture whether all defined quality characteristics (functionality, reliability, usability, efficiency, modifiability, portability, etc.) are met – especially in connection with the strict real-time requirements in the embedded world.

The other parts of this Series of articles on the topic of embedded software development, focusing on multicore, safety, and security. They will examine the topics of requirements, software architecture, and software testing in more detail. Part 2 Learn how to avoid typical mistakes thanks to comprehensive requirements. Part 3 This is about the topic of software architecture.

Gain the right knowledge about embedded software development, multicore, and safety & security. MicroConsult offers professional training and coaching on these topics – in live online and in-person formats.

Further information

MicroConsult Expertise: Multicore & Microcontrollers

MicroConsult Training & Coaching: Multicore & Microcontrollers

MicroConsult Expertise: Embedded Software Development

MicroConsult Training & Coaching: Embedded SW development

MicroConsult expertise: Safety & Security

MicroConsult Training & Coaching: Safety & Security

All MicroConsult training & coaching

MicroConsult Newsletter

With the MicroConsult newsletter, you'll stay on the pulse of the embedded world. Look forward to proven practical knowledge, real professional tips, and current events – directly from our experts for your project success.

Subscribe now!

Published by

Renate Schultes

Renate Schultes