Mission Critical Embedded System Development Process: An Industry Perspective

Mission Critical Embedded System Development Process: An Industry Perspective

Stefano Genolini (TXT e-solutions, Italy) and Matteo Crippa (TXT e-solutions, Italy)
Copyright: © 2014 |Pages: 16
DOI: 10.4018/978-1-4666-6194-3.ch017
OnDemand PDF Download:
No Current Special Offers


While analyzing currently available international research about embedded system development, it seems that as the complexity of embedded systems is continuously increasing, the major problems regarding their development remain always the same: vague requirements, insufficient time to develop, lack of resources, and complexity management. With the focus on the development process, it is shown, with examples coming from 20 years of experience, the industry perspective of a company managing such problems by adopting a consolidated set of good practices.
Chapter Preview


Whilst a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs, an embedded system is a computer system designed for specific control functions within a larger system, often with real-time computing constraints. Development of embedded software applications is becoming more and more complicated due to the increasing richness of features that are required to be managed.

An international on-line research1 about embedded systems development conducted a periodic survey in 2012 by contacting industry developers; and presented a periodic report summarizing the major topics in embedded development industry. According to this research the most critical issues perceived by embedded software developers are:

  • Incomplete or vague requirements (63%).

  • Insufficient time for development (45%).

  • Insufficient resources (41%).

  • Design complexity (41%).

What is interesting to note is that, during the last several years, the major problems always remain the same: vague requirements, insufficient time to develop, lack of resources, management of system complexity, among others.

It is thus possible to argue that:

  • Vague and incomplete requirements and design complexity are the consequence of increasing complexity of targeted applications;

  • Insufficient time is the consequence of reduced time to market;

  • Insufficient resources are the consequence of reduced budgets.

Complexity, time to market and costs issues together with development process are analyzed in the sections below:


Development Process

In software production the process has been analyzed many times leading to different solutions and specific best practices. This is part of the history and the intent of this chapter is not to choose which is the best or create new process ideas.

Key Terms in this Chapter

UML: The Unified Modeling Language™ is OMG's most-used specification, and the way the world models not only application structure, behavior, and architecture, but also business process and data structure.

HIL: Hardware in the loop is a specific technique used to develop and test embedded system by using the complete plant simulated or real.

MIL-STD-498: It is a military standard adopted by the Department of Defense to standardize software development and its documentation.

MADES: Is a Specific Targeted Research Project (STREP) of the Seventh Framework Program for research and technological development of the European Community that aims to develop a holistic, model-driven approach to improve the current practice in the development of embedded systems.

RTCA DO-178B(C); EUROCAE ED-12B(C): Are equivalent standard definition documents (edited in issue B and C) with the title “Software Considerations in Airborne Systems and Equipment” Certification issued from RTCA (for U.S.) and EUROCAE (for European Community) that are the most common means of compliancy for civil avionic systems.

ISO/IEC 12207: is an international standard definition document “Systems and software engineering -- Software life cycle processes” that define different tasks needed to develop and maintain software.

AUTOSAR: AUTomotive Open System ARchitecture is a worldwide development partnership of car manufacturers, suppliers and other companies from the electronics, semiconductor and software industry.

ARINC 424-20: ARINC Specification of Navigation System Database for avionics.

IEC 61508: It is an international safety standard document adopted by industry; it is titled “Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems”

SIL: Software in the loop is a specific technique used to develop and test embedded system by inserting the software in the complete control loop.

SysML: The OMG systems Modeling Language™ is a general-purpose graphical modeling language for specifying, analyzing, designing, and verifying complex systems that may include hardware, software, information, personnel, procedures, and facilities.

MARTE: The OMG Modeling and Analysis of Real-Time and Embedded Systems™ is a specification of a UML® profile that adds capabilities to UML for model-driven development of Real Time and Embedded Systems (RTES).

ISO 26262: Is a standard definition document with the title “Road Vehicles – Functional Safety” defining functional safety standard to be adopted in Automotive.

Complete Chapter List

Search this Book: