Authors:
Adnan Shaout Department of Electrical and Computer Engineering The University of Michigan – Dearborn Dearborn, Michigan
Shanmukha Pattela Department of Electrical and Computer Engineering The University of Michigan – Dearborn Dearborn, Michigan
We offer consulting and training related to MBD and MBSE, please contact via email wutieyang@aiprocessor.cn
Abstract:The transition from the discipline of mechatronics to the integration of software and mechatronics has established software as a key technology. The current complex automotive systems are a product of the growth of embedded software. Therefore, the focus of the automotive industry is on new model-based development approaches rather than traditional methods of hand-coding software in assembly or C language. This paper reviews the application of model-based development in accelerating the development process of embedded control systems and technologies. Additionally, it reviews tools that support model-based development (MBD), covering everything from functional requirements to automated testing and model-based testing processes.
Keywords:Model-Based Development, Automotive Embedded Systems, Embedded Software, Automotive Industry.
1. Introduction
Automotive embedded systems are becoming increasingly complex. Traditional design methods involve writing textual specifications and code. However, handwritten code cannot be tested without hardware. This approach forces engineers to wait until hardware is available to test their systems. To overcome these barriers, engineers should be able to separate development and verification from hardware availability. Model-based design is currently a method of focus in the automotive industry.
Over the past few decades, traditional development processes have included handwritten and manual review, analysis, and testing activities. The increasing complexity of control systems and innovations in software control have prompted engineers to implement model-based design methods. This is a design process based on system models [1]. Table 1 shows the market challenges and advantages of model-based development [8].
More than 80% of automotive software can be automatically generated from models using various tools, thereby reducing the complexity associated with manual coding. Advanced tools such as MATLAB/SIMULINK, StateFlow (Mathworks), and dSPACE TargetLink [22] help developers create functional models and generate AUTOSAR standard production code, which can be directly deployed to target electronic control units (ECUs) [15]. Therefore, model-based design is considered an efficient method, offering numerous advantages in designing and implementing functions, model verification and validation, and automatically generating C language code [2]. However, quality assurance is a critical factor throughout the development process, and testing is a key element of quality assurance [20].
|
Market Challenges |
Advantages of Model-Based Design |
|---|---|
|
Increasing complexity of control systems |
Executable models connect every development stage |
|
Growing product and customer demands |
Distributed software development with scalability, testability, and maintainability |
|
Shortening prototype development and time to market |
Increased reusability, productivity, and reliability |
|
Higher quality assurance costs |
Automatically generated production code |
Table 1. Market challenges and model-based development [8].
This paper extends our previous work [17], which was presented at the Arab International Conference on Information Technology (ACIT) held at Sultan Qaboos University, Muscat, Oman, from December 21 to 23, 2021. The structure of this paper is as follows: Section 2 presents the latest research findings; Section 3 describes the retrieval process using three scientific databases, as shown in Figure 2; Section 4 defines modeling techniques and proposed model-based development techniques; Section 5 discusses model-based testing, selected methods, and a comparison of available and recommended tools. Finally, Section 6 summarizes the research conclusions on various MBD methods in the context of automotive control systems.
2. Latest Technologies
In recent years, the automotive field has been shifting towards model-based functional development of complex systems. The recommended solution is to adopt ready-made advanced tools for adjustment and configuration. MATLAB/Simulink can be used for development and verification. Models can be simulated using Model-in-the-Loop (MIL) for concept testing and validation. Model-based functional design will shorten prototype development time. Workshops and dSPACE Autobox/MicroAutobox can be used for functional verification. Thus, the code implementation in the V cycle will shift from manual/handwritten C language code to using dSPACE Target Link to automatically generate code for the target ECU. As shown in Figure 1 [8], the key points for generating production-ready software using a model-based approach are as follows:
-
Model-based functional design.
-
Model-based software design.
-
Model-based documentation.
-
Model-based testing.
Figure 1 illustrates the overview roadmap of the model-based automotive software approach discussed in this paper.

2. Literature Survey Method
We utilized three scientific databases: IEEE, SAE MOBILUS, SCIENCE DIRECT, and Google Scholar. The search terms we used included “automotive design methods,” “model-based methods,” “MBD in automotive,” “MBD methodologies,” “MBT,” “MATLAB/SIMULINK,” “embedded control system design,” etc., to obtain search results. The steps for selecting relevant research papers during the search process are as follows:
1. Search four scientific databases using keywords and analyze approximately 6700 search results.
2. Exclude 3500 studies based on research titles.
3. Exclude 2300 studies by reading abstracts.
4. Read various relevant sections of each paper and exclude 950 studies unrelated to detailed research.
5. Conduct detailed studies on 100 research papers and exclude 60.
6. Select 23 papers relevant to our chosen topic.

3. Model-Based Methods
Many automotive companies are shifting their model-based design processes for their electronic and electrical systems (E and ES) [16]:
-
Using Simulink models for executable system specifications and algorithm development.
-
Rapid prototyping and quick delivery.
-
Automatically generating code from Simulink models.
-
Continuous testing and validation.
By implementing model-based design, they are able to shorten the time for developing and implementing standard projects.
The model-based development process follows a typical V-model process. Development begins with requirements capture and analysis. Functional models are created based on clear, complete, and unambiguous requirements documentation. In the early stages, virtual prototypes can be used to test functional models.
Once the system and ECU designs are validated in a virtual environment, the design must proceed to the implementation phase. To generate code that meets all requirements, software design, implementation details, and constraints must be added to the model. Finally, the generated source code, I/O drivers, and operating system code are integrated. Figure 3 shows multiple V-models, which are different physical representations of the same system at different levels of abstraction, aimed at achieving the same final output [23].

3.1. Advantages of Model-Based Design
Many automotive companies are transitioning to model-based methods, including Caterpillar, General Motors, Toyota, Continental, Jaguar, etc. [7]. Table 2 analyzes the implementation of model-based design in Caterpillar’s projects as an example.
Table 2. Advantages of MBD (with real-time examples).
|
Benefit Factor |
Statistics |
|---|---|
|
Project Cost |
Reduced by 2 times |
|
Total Project Time |
Reduced by 2 times |
|
Project Man-Hours |
Development time reduced by 2-4 times |
|
Project Completion Time |
Accelerated by 2 times |
3.2. Other Model-Based Techniques and Technologies
Table 3 presents different MDB techniques.
|
Modeling Method |
Modeling Technology |
|---|---|
|
Hierarchical Modeling |
MATLAB/SIMULINK/Stateflow [3, 7], LabView, Unified Modeling Language |
|
Graphical Modeling |
SCADE Suite [7], ASCET, Charon, Dymola, HYSDEL, Hy-Visual, Modelica, hySC |
|
Integrated Modeling |
MATLAB/SIMULINK/Stateflow, UML, SYSML/MARTE [4, 22], TargetLink [3] |
|
Correction through Construction |
Enables automatic code generation, ensuring verification at the embedded code level |
Table 3. MBD Techniques.
The choice of modeling technology depends on the type of system being modeled and the tasks of model development [23]. The modeling methods are as follows:
-
Continuous Systems: Best modeled using differential equations with algebraic constraints.
-
Discrete Systems: Require Petri nets, finite state machines, timed communication sequence processes.
Table 4. Technical comparison based on selection criteria.
|
Criteria |
Matlab/Simulink/Stateflow |
LabView |
|---|---|---|
|
Hardware Dependency |
Supports hardware from multiple vendors |
Only supports NI hardware |
|
Focus Area |
Dynamic simulation |
Measurement systems |
|
Code Generation |
Generates production-level code |
Insufficient code generation in dynamic simulation scenarios |
1) MATLAB/SIMULINK/STATEFLOW:
As shown in Figure 4, ML/SL/SF is the state-of-the-art solution for modeling automotive embedded systems. This tool is suitable for designing behavioral models for 50% of automotive control systems.


We can more efficiently use the model-based approach combined with MATLAB/SIMULINK/STATEFLOW technology to develop embedded systems, and it can shorten development time and reduce costs more than traditional control strategy development methods. Figure 5 shows an example of developing automotive control systems using ML/SL/SF [22].
4. Model-Based Testing Process
Manual testing is straightforward and typically used for verification and validation. Testers need to manually create test cases, execute them, and analyze the results. Due to varying analysis skills and experiences among testers, test results and coverage may differ. This approach is costly, error-prone, and time-consuming. To address this issue, test automation using test scripts has been introduced. This method supports the automated execution of test cases and report generation, saving time. Therefore, automated testing of embedded software is a popular and widely used technique as it simplifies testing work, and tests can be repeated at any time of the day [8]. The main important parts of test automation include: test case generation, execution, and report analysis.
In the automotive field, before the development of control system software, testing was primarily conducted in areas such as electromagnetic compatibility (EMC) testing, electrical testing (short circuit, stress, current peaks), environmental testing (testing under extreme climate conditions), and field testing (road testing) [9]. With the increasing complexity of systems, the demand for specific functional testing methods has also increased. Therefore, model-based testing has received significant attention in recent years [10, 11, 12, 13]. Similar to the model-based development process, model-based testing follows a typical V process, where development and testing activities begin almost immediately after the project starts [9]. Common testing methods used at various stages of the automotive software development process include MIL, SIL, and HIL [9], as shown in Figure 6.

4.1. Requirements for MBT
1) Test Automation
Generally, automotive control systems require testing scenarios with very precise timing sequences. Due to the large number of such scenarios and test cases that need to be executed, automation is clearly the only way forward.
2) Reuse of Test Assets Across Integration Levels
Before software is integrated into the target ECU, functional testing of the model includes the intermediate levels described below. It is recommended to reuse test assets across all integration levels and implementation processes to eliminate ambiguity [21].
This reduces the workload of test case design and allows for the evaluation of test results across various integration levels. Test cases can be modified or adjusted in a central model without needing to update numerous different integration and implementation levels [9, 19].
The integration levels are as follows [6]:
• Model-in-the-Loop (MIL)
• Software-in-the-Loop (SIL)
• Process-in-the-Loop (PIL)
• Hardware-in-the-Loop (HIL)
• Test Bench
• Vehicle
3) Systematic Test Case Design:
The control system interacts with physical components, exhibiting complex functionalities and numerous variables. Testing such complex systems requires careful selection of test cases to ensure coverage of all relevant testing aspects while avoiding redundancy.
Categories of model-based testing:
Figure 7 shows an overview of the classification of model-based testing.

4.2. Test Suite Generation Tools
Below are several available automated test suite generators on the market: Table 5 shows the classification of selected methods based on taxonomy [23], and Table 6 shows the classification of selected testing methods based on test specifications [23].


To meet all requirements for model-based testing, we selected the TPT method, which will be explained below. TPT test cases are architecture-independent and ensure that they can run/reuse across different testing platforms. However, the selected TPT method can be applied to any other test suite format with input and output statement vectors or formally defined statements.
4.3. TPT for Automotive Model-Based Testing
Figure 8 shows the workflow for model-based testing.

Simulink Design Verifier documentation – MathWorks (SLDV) can automatically generate test cases and verify properties. The advantage of using SLDV is that property modeling and system modeling can be done in the same environment. Properties and models used for test case generation can be created in various ways. They can be completed using Simulink, Stateflow, or MATLAB code.
TPT Testing Process
1. Test Case Design
Throughout the test case design process, both the selection and modeling of test cases are done using graphical test modeling language. The basis for test case design is functional system requirements. Therefore, test cases modeled using the Time Partition Testing (TPT) method are black-box tests [18]. Figure 9 shows automatic test case generation in MatLab [18].

2. Compilation
TPT VM (Virtual Machine) – Executes test cases compiled into a highly compressed bytecode representation. This virtual machine is specifically designed to accurately include the TPT bytecode set, as well as the operations, data types, and structures required to implement TPT test automation. This concept ensures that both test cases and TPT VM have a minimal footprint. This is crucial in testing environments with limited memory and CPU resources, such as PIL and HIL [18].
3. Test Execution
During test execution, the TPT VM executes the bytecode of the test cases and continuously communicates with the SUT through a platform adapter. The platform adapter is also responsible for recording all signals throughout the test run. Due to the separation of test modeling and execution, tests can be run on different testing platforms, such as MIL, SIL, PIL, and HiL environments. HiL environments (typically real-time) can be automated through TPT testing, as the TPT-VM can also run in real-time. The unique semantic model of TPT test cases allows tests to be executed in each testing environment, provided there is a consistent platform adapter [18].
4. Test Evaluation
The recorded test data is initially raw data, without any evaluation of whether the SUT behavior meets expectations. Then, this raw data will inevitably be evaluated using compiled evaluation scripts. These evaluations are done offline, independent of real-time constraints. TPT uses Python as the scripting language, and the Python interpreter can serve as the runtime engine. Additionally, libraries are provided to simplify signal observation, signal processing, and signal manipulation. However, TPT does not rely on any specific scripting language/interpreter [18]. Figure 10 shows an example of signal viewer test data evaluation [18].

5. Report Generation
Reports will be automatically generated and displayed in a readable format. The report includes test results, including pass, fail, or not applicable determinations, signal curves, data tables, and can explain evaluation results in customizable annotations. TPT supports automation of all major testing activities, but features such as test management, coverage metrics, data logging, etc., are not yet covered, and integration with other management tools is under development [18].
6. Requirement Tracking
Requirement coverage monitoring can be performed by importing requirements into TPT and linking them with test cases [18]. Figure 11 shows an example of requirement tracking [18].

5. Conclusion
This paper presents the important features of the automotive model-based development process and the necessity of conducting testing processes in the early stages. It also explains the taxonomy of MBT, covering the main aspects of MBT methods. This aims to help understand the characteristics, similarities, and differences of different methods and provide a tool for MBT methods. Future research could extend to exploring UML SYSML/MARTE languages for embedded system modeling and further investigating development tools.
References
[1] Blumenfeld M., Stewart E., and Larios E., “Using Model Based Systems Engineering to Increase the Robustness of Monitoring Systems in Railways,” in Proceeding of the 7th IET Conference on Railway Condition Monitoring, 2016. [2] Brankovic B., Binder C., Draxler D., and Neureiter C., “Towards a System-of-Systems Architecture Definition Enabling Cross-Domain Embedded Vehicle Engineering,” in Proceeding of the 26th IEEE International Conference on Emerging Technologies and Factory Automation, pp. 1-6, 2021. [3] Rao A., Rajeev A., and Yeolekar A., “Applying Design Verification Tools in Automotive Software V&V,” Technical Report, 2011. [4] Dahlweid M., Brauer J., and Peleska J., “Model Based Testing: Automatic Generation of Test Cases, Test Data and Test Procedures from SysML Models,” Bremen, 2015. [5] D. Disertacija, “Model-Based Approach to Real Time Embedded Control Systems Development with Legacy Components Integration,” 2014. [Online]. Available: Https://Bib.Irb.Hr/Datoteka/728042.Phd_Jb_Prin t.Pdf. Last Visited, 2022. [6] Fleischer D., Beine M., and Eisemann U., “Applying Model-Based Design and Automatic Production Code Generation to Safety-Critical System Development,” SAE International Journal of Passenger Cars-Electronic and Electrical Systems, vol. 2, pp. 1-0747, 2009. [7] Friedman J., “MATLAB/Simulink for Automotive Systems Design,” in Proceedings of the Design Automation and Test in Europe Conference, pp. 1-2, 2006. [8] Grassl G. and Winkler G., “Model-Based Development with Automatic Code Generation – Challenges and Benefits in a DCT High-Volume Project,” Technical Report, 2008. [9] Bringmann E. and Krämer A., “Model-Based Testing of Automotive Systems,” in Proceeding of the 1st International Conference on Software Testing, The International Arab Journal of Information Technology, Vol. 19, No. 3A, Special Issue 2022 Verification, and Lillehammer, pp. 485-493, 2008. Validation, [10] Kum D., Son J., Lee S., and Wilson I., “Automated Testing for Automotive Embedded Systems,” in Proceeding of the SICE-ICASE International Joint Conference, pp. 4414-4418, 2006. [11] Lamberg K., “Model-Based Testing of Automotive Electronics,” in Proceedings of the Design Automation and Test in Europe Conference, pp. 1-1, 2006. [12] Lin A., Tsai G., and Chen B., “Embedded System Development of an Electric Power Assisted Steering System Using MATLAB/SIMULINK/Real-Time Workshop,” Techincal Report National Taipei University, 2004. [13] PIKETEC, TPT: Control testing made easy, Piketec, https://piketec.com/tpt, Last Visited 2022. [14] Rashid M., Anwar M., and Khan A., “Identification of Trends for Model Based Development of Embedded Systems,” in Proceeding of the 12th International Symposium on Programming and Systems, pp. 1-8, 2015. [15] Sundharam S., Iyenghar P., and Pulvermueller E., “Software Architecture Modeling of AUTOSAR Based Multi-Core Mixed-Critical Electric Powertrain Controller,” Modelling, vol. 2, no. 4, pp. 706-727, 2021. [16] Schnabler M. and Stifter C., “Model-Based Design Methods for the Development of Transmission Control Systems,” Technical Report, 2014. [17] Shaout A. and Pattela S., “Model Based Approach for Automotive Embedded Systems,” in Proceedings of the International Arab Conference on Information Technology, pp. 1-7, 2021. [18] Sobotka J. and Novák J., “Automation of Automotive Integration Testing Process,” in Proceeding of the IEEE 7th International Conference on Intelligent Data Acquisition and Advanced Computing Systems, pp. 349-352, 2013. [19] Tierno., Santos M., Arruda B., and da Rosa J., “Open Issues for The Automotive Software Testing,” in Proceeding of The 12th IEEE International Conference Applications, pp. 1-8, 2016. on Industry [20] Turlea A., “Search Based Model in the Loop Testing for Cyber Physical Systems,” in Proceeding of the IEEE 16th International Conference on Embedded and Ubiquitous Computing, pp. 22-28, 2018. [21] Vuli B., Badalamen M., and Jaikamal V., “Maximizing Test Asset Re-Use across MiL, SiL, and HiL Development Platforms,” Technical Report, 2010. [22] Wewetzer C., Lamberg K., and Otterbach R., “Creating Test Patterns for Model-based Development of Automotive Software,” Technical Report, 2006. [23] Zander-Nowicka J., Model-based Testing of Real Time Embedded Systems in the Automotive Domain, Technische Universität Berlin, 2009.