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
How can Businesses Benefit from Composable Commerce in 2023 and Beyond?

How can Businesses Benefit from Composable Commerce in 2023 and Beyond?

Composable commerce is a powerful term that symbolizes building a bespoke eCommerce experience for modern users by combining the technologies that best align with their goals and mission. This term was first coined in a Gartner report back in 2020 and involves selecting the right technologies in order to create memorable online experiences for their users. We can perceive composable…

How the Customer Experience has changed during COVID-19

How the Customer Experience has changed during COVID-19

And what companies can do to stay on top of these changes and their competition

Best Practices for Smart Customer Onboarding

Best Practices for Smart Customer Onboarding

Today, customer onboarding has become an integral part of any business, being fundamental for brand excellence and increased retention. In our competitive, highly customer-centric culture, smart customer onboarding can definitely give modern businesses the edge they need to reduce customer churn and achieve the best profitability ratio and customer retention possible. Regardless of your industry, products offered, or brand perspectives,…

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