Part 2 of this series looks at strategy for change, including migrating legacy code into models.
looks at the software development process and tool migration plan
(requirements and the design phase) when implementing Model-Based
When transitioning to Model-Based Design for embedded systems development, it is essential to consider an overall plan spanning people, development processes, and tools. A common sense approach when beginning any process improvement activity is to first identify the problem to be solved and then develop a plan to implement the solution.
When transitioning to Model-Based Design, performing the transition in an iterative manner—do, learn, adjust, and repeat—has been shown to be most effective. The end goal is a development process where the model is the design, verification is done throughout the development process using simulation, and the implementation of the entire application onto target hardware is highly automated.
But faced with design and organizational complexity, time, quality, and cost pressures, for developers the transition is akin to changing a flat tire while moving down the highway. Choosing the right first steps is key to a successful transition. This series of articles presents a set of practical strategies for determining the first steps when deploying Model-Based Design and code generation in production development processes.
A growing number of embedded systems development organizations, including automotive, are seeking to adopt Model-Based Design to take advantage of benefits such as enhanced ability to deal with complexity, reduced time-to-market, reduced cost, and improved quality. Many organizations have taken the first step by building models for early stage design analysis or rapid prototyping of control algorithms. The next challenge is determining how to effectively incorporate Model-Based Design into their production development processes. Building an effective migration plan requires consideration of the impact Model-Based Design has on organization, process, tools, testing, and design.
This series presents a set of considerations and strategies for adopting Model-Based Design for embedded software development. A key component of the strategies to be outlined is a phased roll-out, which spans the first production deployment to a highly optimized integration of people, processes, and tools that delivers on the potential of Model-Based Design. Common challenges will be presented as well as current industry best practices to address them.
The series is structured into 3 main sections:
- Organizational challenges and impact
- Strategy for change
- Process and tool migration plan
In the organizational challenges and impact section we answer the questions:
- What does Model-Based Design mean to the people in my organization?
- Do I need new skills? Are there new kinds of work being performed?
- Should my people be organized differently to take full advantage of Model-Based Design?
- How will the inputs and outputs to my embedded systems development organization change when I adopt Model-Based Design?
In the strategy for change section we explore the optimal approach to a migration to Model-Based Design. A phased approach where carefully constructed criteria are established for selecting the first project, including considerations related to:
- What problem am I trying to solve?
- What project should I start with?
- What Return-on-Investment (ROI) is needed to prove the value of Model-Based Design?
- How can risk be mitigated during the migration?
- How can a large legacy code base be effectively migrated?
- After the initial project, what’s next?
In the process and tool migration plan section we examine many of the important details that need attention during the transition. Each phase of the development process (requirements, design, implementation, verification, and validation, etc.) is analyzed in some detail and specific recommendations are made for the initial project and the expanding, optimized roll-out of Model Based Design.