There’s nothing ‘automatic’ about safety-critical embedded software systems

There’s nothing ‘automatic’ about safety-critical embedded software systems

5 min read >

Insights

New breakthroughs in AI, machine learning, and automation have generated so much interest in the business sector and the media over the last five years that these three distinct fields now tend to become conflated in the public mind — particularly when any of them fail.

Perhaps that’s inevitable since there’s some conceptual crossover between systems that attempt to imitate human thought processes, systems that imitate human learning processes, and systems that replace repetitive human activity; but it can also mean that little distinction is made in the public mind between the safety standards and programming practices behind such varied fields as infotainment, business systems, and safety-critical embedded software systems.

In reality, there’s a world of difference. NASA long ago set the tone and philosophy for safety-critical vehicle software, favoring proven languages over less seasoned newcomers, and prioritizing the ‘human factor’ of acknowledged expertise in embedded software development. It’s a mindset that has trickled down to the industry development pipeline for safety-critical consumer-level systems, for very pragmatic reasons.

To illustrate this, we recently invited one of our leading embedded software developers to outline the level of professionalism and individual attention necessary to create such safety-critical embedded software solutions for ADAS (Advanced Driver Assistance System), one of the key fields in which Tremend is a market leader. This fascinating series of posts looks at the rise of the C programming language as the predominant programming space for safety-critical code from the early 1970s through to the present time.

A ‘traditional’ approach

The more frameworks, interpreters, and virtualization factors code has to pass through, the more the opportunity for unwanted outcomes can multiply. If you’re developing a trading algorithm, that’s unfortunate; if you’re developing vehicle systems, it’s potentially fatal.

Therefore the embedded development sphere is startlingly frugal and circumspect in comparison to almost any other and remains dominated by the venerable C programming language, and various industry-specific subsets of it (such as MISRA C).

C has retained its crown in embedded software for nearly half a century, not in spite of the fact, but rather because it offers complete power to the programmer, and places the onus of due care and liability on the software producer. It’s, therefore, a Spartan, high-vigilance pursuit.

In such a sensitive sector there are still — naturally — filters and check-points for possible program anomalies, such as ‘qualified’ compilers which assemble the code with an eye to possible issues; industry-specific subsets of C which are often imposed on developers at a regulatory level, along with strict guidelines for how they’ll be used; and static analyzers, which can run through the theoretical execution of code, looking for unintended and unwanted outcomes.

However, none of these methodologies, individually or in combination, can compare to the potential of an experienced programmer to recognize a whole slew of factors that can affect the reliability of a safety-critical system.

A bespoke approach

There’s little room for a homogeneous or overly-systematized approach to embedded software development in safety-critical systems such as ADAS. The programmer’s foresight works with the pipeline tools – including static analyzers, qualified compilers, and the restrictions of a language subset (such as MISRA) – to ensure that no unintended consequences occur in the entirety of the possible environment variables in which the software is intended to run. It’s a resource-intensive approach that’s impractical for most software/hardware development arcs, but essential for the embedded sector.

It’s a pity that the media rarely reflects the sheer skill and number of man-hours that go into their creation, nor acknowledges the influence of the stringent quality-control frameworks which have built up around the sector in the last thirty years.

We invite you to take a more detailed look at the embedded programmer’s decades-long hunt for software integrity here — it’s all a far cry from the ‘point-and-click’ culture which is too often depicted around the subjects of automation and AI in the automotive sector.

Leading car manufacturers all over the world (including Japan, Germany, and France) depend on Tremend for Human Machine Interface (HMI), Advanced Driver Assistance Systems (ADAS), and Highly/Fully Automated Driving (HAD and FAD) solutions.

shutterstock 1096130420 gr 01 1
Back to Work Challenges Companies have to Overcome Post COVID

Back to Work Challenges Companies have to Overcome Post COVID

Although it’s hard to believe, back in 2019 only 45% of US companies and 41% of worldwide companies allowed remote work. At least, that’s what a study revealed back then. Of course, big companies such as Amazon, Twitter, or Google were strategizing for new ways to enable working from home, but all those plans were sped up tenfold when the…

How Customer Data Platforms can be Used for Data Monetization 

How Customer Data Platforms can be Used for Data Monetization 

Nowadays, customer data has emerged as the new currency for numerous businesses. However, not everyone has mastered the art of fully capitalizing on their customer data platforms (CDP). Surprisingly, a mere 14 percent of businesses possess a comprehensive 360-degree view of their customers, as per 2022 research by Gartner. Despite this, a significant majority of customers (69%) express a willingness…

Legacy systems & digital transformation, a love-hate relationship

Legacy systems & digital transformation, a love-hate relationship

Technology is changing and so is the business landscape. But not at the same pace.

Unlock innovation and digital transformation for your business.

Get in touch

We are always happy to talk

Phone

+40-21-223-7700

Email

hello@tremend.com

Address

165 Splaiul Unirii, Timpuri Noi Square,
TN Office 2 building, 4th floor,
District 3, Bucharest, Romania, 030134