The biggest perceived constraints to embedded projects
The embedded world is a dynamic landscape where development teams, driven by the lightning speed of technology and constrained by the demands of the environment, face numerous challenges and opportunities.
To understand them, we approached several players in a sector that goes beyond software. The experts we spoke to come from a wide variety of sectors: banking, medical, industry, automotive, defense, robotics… and have a vision of embedded systems that is both common and unique to a particular sector.
The major challenges facing the embedded world is a series of articles based on a detailed qualitative analysis of interviews with players in the embedded sector. We discuss major trends and specific issues that have arisen, allowing us to visualize the future of this field.
A topic that takes us right to the heart of embedded trends, allowing companies to express their views on how to overcome the obstacles and challenges imposed by this field. The biggest perceived constraints on embedded projects is the first article in this series.
1. Check the software’s robustness, a time-consuming
but essential task
Robustness testing is a real issue. Often perceived as an iteration and a constraint, it is a practice that is increasingly in demand, especially in medical devices, but also in the automotive and aerospace sectors, where more and more software is present in embedded systems. The task is perceived as a constraint, as additional time to be allocated to overall product development.
So, software test management, which is relatively new in these areas, raises a real question: how do you test the performance of software on the hardware platform that will run it, and how do you provide traceability between the requirements of the specification and the technical requirements to execute it? And yet, testing is the key to determining whether software is robust and functioning properly, and to proving that the product is safe and reliable.
Therefore, it is essential to ensure that the software in question is reliable in order to avoid bugs as much as possible, especially blocking bugs, such as concurrent access problems, shared variables, variables on external peripherals, or concurrent access to external memory. To avoid the appearance of bugs, static analysis-based verification tools come into play. Although the loss of time may not be significant at the moment, it is possible that the end customer may require additional testing. In this case, a full testing phase must be considered.
Testing takes time, and is often considered a constraint by development teams, but it’s an indispensable task that proves that software is robust, reliable, and secure.
2. A lack of expertise that limits project progress
Talking to these experts at the heart of the action, one limitation to the development of on-board projects stands out: the lack of expertise, the lack of available resources. The embedded world offers a wide range of profiles with solid skills, but sometimes seems to fall short of the market demand for specialized knowledge and practices. This lack of expertise in the market is matched by a real demand for employability and skills. Manufacturers are struggling to maintain profiles in the face of an increasingly volatile new generation. But the demand is there and we’re seeing real growth.
Embedded software development requires a wide range of skills in firmware, hardware, applications, tools, and controls. Developing off-the-shelf software, on the other hand, requires a special affinity for user connectivity, software version updates, and cybersecurity. These two examples of development require very specific expertise. And yet, it’s hard to find people who can master these areas with their in-depth knowledge of embedded software.
Given this trend, the products themselves are becoming increasingly complex, as are the computing systems (including microcontrollers, microprocessors, and FPGAs), which are also becoming more complicated to manage. But it’s hard to find skilled human resources capable of end-to-end programming (HMI, sensors, servers…).
And when the manpower is there, it’s the available resources that are lacking. Developers are pressed for time, workloads are high, and planning becomes difficult.
There is therefore considerable potential to address this constraint, which has a major impact on the development of embedded projects. The lack of expertise and skills in the labor market is an urgent issue that needs to be addressed, for example through engineering education. In fact, the lack of expertise has been identified as one of the primary complexities in the embedded world.
3. The advance of new technologies is frightening
Not surprisingly, the meteoric rise of new technologies is a topic on the minds of many players in the embedded market.
Artificial Intelligence (AI) is a parameter to consider. Many tools and algorithms have been developed using the latest technologies. Some companies are keeping up with the technology and integrating AI into their tools, but for the most part, there is concern about data recovery by third parties. There are also concerns about cybersecurity and the quality and ownership of the generated code.
Communication between the various subsystems making up complex systems is also a constraint that has been raised, especially between the various hardware present on a vehicle, which requires the use of several communication standards, even if some are already in use, such as ISO 15118. There are also challenges around creating standardized wireless communication, which doesn’t really exist yet. We can also add layers related to specific applications, such as communication with the cloud for vehicles communicating with a platform.
Finally, in the transportation sector, for example, embedded networks (CAN, Ethernet) can impose restrictions on communication with the ECU.
4. Find the right balance between application performance and cost
The need for application performance can be a constraint despite the power available in the devices being designed, especially in the industrial sector where the quest for performance can lead to higher costs. In response to the need to reduce costs, some manufacturers are turning to component selection to make them less expensive, especially for high-volume runs, while others are trying to provide maximum functionality on targets that are limited in terms of processing power and memory. Adapting cost to application needs is also a common practice.
Other factors that affect application performance have been identified, such as the notion of real time, which is a constraint because it places relatively high-performance demands on, for example, network domains or signaling devices that have large data flows to manage.
In the world of embedded systems, cost seems to be a limiting factor that ultimately finds its logic in the choices made by the designer. If we compare an FPGA and a microcontroller, the cost is clearly different.
Last but not least, one of the main constraints is to be able to deploy potentially heavy and costly algorithms on resource-limited hardware targets, which we want to make as frugal as possible. To illustrate this point, we need to be able to choose the core best suited for the processing to be done, and not use an x86 architecture to implement a simple FIR filter, for example!
5. Restrictions that are sometimes unique and specific to a particular field
When developing an embedded project, incomplete specifications can be a real timewaster. While it’s not always easy to create a complete horizon, it’s essential to have the most accurate specifications possible.
The supply of electronics can sometimes be a real constraint.
Software development time is often significant, not least because of the quality of the written code. The lower the level of code, the greater the need for in-depth expertise to develop energy-efficient devices.
Other perceived constraints in embedded projects were also raised, such as project autonomy and environmental constraints such as high temperatures that limit heat dissipation.
The biggest perceived constraints on embedded projects is an article from The major challenges facing the embedded world. The report is the result of a qualitative analysis conducted with embedded industry players. We would like to thank them for providing us with information on specific trends and issues in the embedded world.
- Sources: Florian Tachon, Sébastien Salmon, Olivier Marliac, Thomas Bernard, Julien Caulier, Romaric L’hernault, Alexandre Lanquar, Ghais Fanari, Mathieu Muller, Eric Pages, Dahbia Agher and Pierrick Boissard.