During the exploration phase of adoption, the adoption team should have become familiar with the fundamentals of Model-Based Design e.g. model architecture, data dictionaries, testing, formal methods, report generation and so on. In that this blog is focused on groups adopting MBD it is a fair assumption that the current state is “introductory” (1) however the following sections can be used to identify where additional support is needed.(2)
Architecture
The following tasks should be understood…
- Encapsulation of models: How to define each model in a format with defined interfaces and data.
- Integration of models: How to integrate individual models into a larger integration model
- Integration of existing code artifacts: How to integrate artifacts from the models into existing code artifacts and/or integrate code artifacts into the models
Data management
The following tasks should be understood…
- Creation of data artifacts for use in the model: How to create data that the model can reference
- Management of data artifacts: How to store and reference data artifacts in a scalable way.
- Harmonizing data between model and existing code artifacts: How to reuse data between models and existing code artifacts
Testing
The following tasks should be understood…
- Creation of test harnesses: How to create a test harness that will exercise the model in a “stand alone” method.
- Creation of data: How to create the data used by the test harness both for input and output evaluation.
- Creation of test evaluation methods: Creation of methods for evaluating the outputs from tests
Supporting tools
The following tasks should be understood…
- Basic use of version control: The users should understand which files need to be placed under version control.
Final thoughts
The obvious question arises “how do I move from “introductory” to “ready?” There are three primary methods
- Training: There are multiple training courses (industry) out there allowing you to learn about Model-Based Design (university).
- Papers: Both academic and industry papers exist to help you learn about MBD.
- Outside help: Outside help can come from either hiring people with MBD experience or hiring outside consultants.
- All of the above…
Footnotes
(1) Having an introductory level of knowledge of Model-Based Design methodologies is not the same thing as an introductory level of knowledge of software development. Most groups that adopt MBD have a strong software development background.
(2) Most of the “Why is my state so [XXX]” I understand. However, I don’t know why Pennsilvina and Connecticut got “haunted” as their “Why.”