Upon completion of the validation stage of Model-Based Design adoption, your group will be ready to define an initial MBD workflow. The defined process should include steps to cover each stage of the software development cycle from requirements gathering all the way through acceptance testing.
While there should be an overall Model-Based Design workflow there are 3 primary sub-workflows that are both critical and tightly linked to each other. As a result development of these sub-workflows takes priority. They are the requirements, model elaboration, and testing sub-workflows.
Model-Based Design embraces methodologies for creating requirements driven development. The primary objective of the requirements workflow is to establish linkages between both the models and tests to the requirements. As the diagram shows the initial requirements linkages flow down through the development and testing procedures.
The feedback to the requirements comes from both the models (at elaboration stage) and the tests (at test execution stage.) Results from each stage of the development process are feed into coverage analysis tools to produce human readable reports which track the level of compliance with the requirements.
Results from each stage of the development process are feed into coverage analysis tools to produce human readable reports which track the level of compliance with the requirements.
Model Elaboration sub-workflow
The model elaboration workflow supports the development of both the system level and components level models. The process depends on a regular synchronization between the individual developers (D1, D2, …, DN) and the system integrator.
The second point to remember is that the system level arbitration is both between the system level model and all of the components under development by other developers.
The testing sub-workflow examines how tests are defined, when they are executed and how information is presented to users. For a given model the tests assigned to that model consists of the common testing requirements for the project and the specific tests dictated by the model specific requirement.
Critical to the testing workflow is the feedback and update of test suites. As the model is elaborated and as new issues are discovered the initial test suite should be updated to reflect the changes in the model. Additional changes may need to be fed back to the requirements if the results warrant it.
The overall Model-Based Design workflow consists of multiple sub-workflows. The top level workflow is built up from the example sub-workflows and additional workflows as needed (such as version control and documentation workflows).
Automation of the workflows is critical for success in adoption. At each stage in the creation of the workflows the questions of “what can be automated” and “how can people view the results” should be asked.