Design Article
Measuring return on investment of model-based design
Joy Lin, MathWorks
5/25/2011 5:32 AM EDT
Abstract
As embedded systems become more complex, it is becoming more difficult to maintain quality and control costs with traditional approaches to software development. To meet this challenge and improve their competitive position, companies are shifting to Model-Based Design for embedded software development. However, the benefits of adopting Model-Based Design along with the supporting processes to fully leverage its benefits needs to be justified before the investment can be made. The Model-Based Design Return on Investment (ROI) framework described in this paper provides an analytical tool to justify investment in Model-Based Design by quantifying the expected savings of Model-Based Design over a traditional development approach.
Introduction
As customer requirements increase in scope and complexity, the logic and control software for systems has also grown in scope and complexity. As they develop the millions of lines of code required for airplanes and automobiles under ever tightening schedules, organizations have found that traditional development processes are no longer sufficient to meet quality and schedule targets. Model-Based Design for embedded software development lowers costs by identifying defects early in the development process and reducing the total number of latent defects. By helping companies deliver higher-quality systems at lower cost and in less time, Model-Based Design provides a competitive advantage.
Traditional development vs. Model-Based Design
In a traditional development process, requirement, design, implementation, and test tasks are performed sequentially in different tool environments, with many manual steps (Figure 1). Requirements are captured textually, using tools such as Microsoft Word or IBM DOORS. Designs are created using domain-specific tools, which precludes system-level testing until after implementation in software or hardware. The designs are then manually translated into code, which is a time consuming and defect-prone process. At each phase, some defects are introduced, leaving the test phase to be the catch-all for all the defects that have accumulated throughout the previous phases. As a result, the test phase constitutes the bulk of development time and cost. Lack of a common tool environment, multiple manual steps, and late-stage defect discovery all drive up development time and cost.

Figure 1: Traditional development methods require many unnecessary manual steps that can introduce defects.

Figure 2: Model-Based Design uses a system-level model as an executable specification throughout development. This design approach supports system- and component-level design and simulation, automatic code generation, and continuous test and verification
(Click on image to enlarge)
As embedded systems become more complex, it is becoming more difficult to maintain quality and control costs with traditional approaches to software development. To meet this challenge and improve their competitive position, companies are shifting to Model-Based Design for embedded software development. However, the benefits of adopting Model-Based Design along with the supporting processes to fully leverage its benefits needs to be justified before the investment can be made. The Model-Based Design Return on Investment (ROI) framework described in this paper provides an analytical tool to justify investment in Model-Based Design by quantifying the expected savings of Model-Based Design over a traditional development approach.
Introduction
As customer requirements increase in scope and complexity, the logic and control software for systems has also grown in scope and complexity. As they develop the millions of lines of code required for airplanes and automobiles under ever tightening schedules, organizations have found that traditional development processes are no longer sufficient to meet quality and schedule targets. Model-Based Design for embedded software development lowers costs by identifying defects early in the development process and reducing the total number of latent defects. By helping companies deliver higher-quality systems at lower cost and in less time, Model-Based Design provides a competitive advantage.
Traditional development vs. Model-Based Design
In a traditional development process, requirement, design, implementation, and test tasks are performed sequentially in different tool environments, with many manual steps (Figure 1). Requirements are captured textually, using tools such as Microsoft Word or IBM DOORS. Designs are created using domain-specific tools, which precludes system-level testing until after implementation in software or hardware. The designs are then manually translated into code, which is a time consuming and defect-prone process. At each phase, some defects are introduced, leaving the test phase to be the catch-all for all the defects that have accumulated throughout the previous phases. As a result, the test phase constitutes the bulk of development time and cost. Lack of a common tool environment, multiple manual steps, and late-stage defect discovery all drive up development time and cost.

Figure 1: Traditional development methods require many unnecessary manual steps that can introduce defects.
Model-Based Design (Figure 2) starts with the same set of requirements as a traditional process. Rather than serving as a basis for textual specifications, however, the requirements are used to develop an executable specification in the form of models. Engineers use these models to clarify requirements and specifications. The models are then elaborated to develop a detailed design. Using the tools for Model-Based Design, engineers can simulate the design at the system level, uncovering interface defects before implementation. Once the design is finalized, the engineers automatically generate production code and test cases from the models. This workflow enables engineers to stay in the same environment from requirement to test, minimizing the amount of manual work. In addition, testing can begin at the requirement phase when engineers simulate their executable specifications in models to verify that the requirements are met. As a result, defects are caught and removed earlier, lowering the total cost of development.

Figure 2: Model-Based Design uses a system-level model as an executable specification throughout development. This design approach supports system- and component-level design and simulation, automatic code generation, and continuous test and verification
(Click on image to enlarge)
Navigate to related information


