Article Consultation Solution Tool Course Member  
 
 
 
     
   
Model-Based Simulation, Development & Testing (with Simulator+EA)
 
Zu Tao ,Pitaya System Engineering
Views    2021-3-15 
 

 

Why Model-Based Development

Nowadays, the scale of software is getting bigger and bigger, and the number of people involved is increasing, so the overall understanding and continuous understanding of the software are becoming more and more demanding, and with the accumulation of software scale, many teams have felt deeply inadequate. The whole process of software development is a whole, which is like the software development process is a wooden barrel, and the delivered software is the water in the barrel, each link in the software development process is a baffle of the barrel, any gap between the two baffles, will affect the whole, resulting in the quality of the final software. With this barrel effect, it is necessary for the software development process to evolve from document-based analysis design to model-based analysis design to achieve improved capabilities:

  • In the document-based analysis and design work mode, there is no unified language and form for requirements and design, resulting in transition gaps and leading to requirements and design problems.
  • In the model-based requirements and design work model, the requirements and design work can achieve a good and natural transition with the model, so it can form a close track, which greatly improves the quality and efficiency of the requirements and design work.

The comparison of the two working modes is as follows:

Document-based analysis and design Working scenario


1. Requirements personnel to write "requirements document"
2. Designers write "Design documents"
3. Developers understand requirements and design, code.
4. Testers understand requirements and design, design and execute "test cases"。
In this working mode, requirements and design are described by documents, but the description ability and association tracking ability of documents are relatively weak, which affects the breadth and depth of analysis and design, and it is difficult to deal with complex systems or continuous accumulation of systems.

Model-based analysis and design Working scenario


1. Requirements personnel to establish "requirements model"
2. The designer establishes the Design Model
3. Developers understand requirements and design, code.
4. Testers understand requirements and design, design and execute "test cases"
In this working mode, using model can improve the description ability, and then improve the analysis and design ability. Using Sys ML and UML can also improve the communication and reuse ability. It can greatly improve the ability to deal with complex systems and continuous accumulation systems.
Document-based analysis and design


Working scenario
1. Requirements personnel to write "requirements document"
2. Designers write "Design documents"
3. Developers understand requirements and design, code.
4. Testers understand requirements and design, design and execute "test cases".
In this working mode, requirements and design are described by documents, but the description ability and association tracking ability of documents are relatively weak, which affects the breadth and depth of analysis and design, and it is difficult to deal with complex systems or continuous accumulation of systems.

Model-based analysis and design
Working scenario
1. Requirements personnel to establish "requirements model"
2. The designer establishes the Design Model
3. Developers understand requirements and design, code.
4. Testers understand requirements and design, design and execute "test cases"
In this working mode, using model can improve the description ability, and then improve the analysis and design ability. Using Sys ML and UML can also improve the communication and reuse ability. It can greatly improve the ability to deal with complex systems and continuous accumulation systems.

Problems encountered with model-based development

In the model-based analysis and design work mode, the information transfer of requirements and design for subsequent work software development and testing is mainly carried out manually, which is easy to have transition gaps and cause water leakage!

Model-based development ~ testing

In order to solve the problem of requirements and design models and software development and testing, we also need to continue the work on the model:

  • Model-Based Development:

Automatically generate code based on the design model, and then compile the code. Reduce the loophole of manual coding, improve quality and efficiency, and form a rigorous tracking relationship.

  • Model-Based Testing:

Generate test cases based on the model, and then realize automated test design and execution based on the model, improve the quality and efficiency of testing, and form a rigorous tracking relationship.

The following describes the scenarios of the generated code based on the design model and the test based on the design model:

Model-based development Working scenario


1. Generate Code based on Design Model
2. The generated code is compiled to obtain the executable program.
3. Deploy the executable to the target device
In this working mode, the design to code is automatically generated, which improves the efficiency and reduces the introduction of human quality problems.
Model-based testing Working scenario


1. Based on the Model? Generate test cases,
2. Test requests are issued to executable programs based on the model,
3. Receives the response of the executable program,
4. Marks the execution result of the test case.
The following capabilities are realized: test cases can be quickly generated based on requirements and designs, and then automated testing can be carried out based on models, which improves the efficiency and quality of testing.
Model-based development


Working scenario
1. Generate Code based on Design Model
2. The generated code is compiled to obtain the executable program.
3. Deploy the executable to the target device.
In this working mode, the design to code is automatically generated, which improves the efficiency and reduces the introduction of human quality problems.

Model-based testing
Working scenario
1. Test cases are generated based on the model,
2. Test requests are issued to executable programs based on the model,
3. Receives the response of the executable program,
4. Marks the execution result of the test case.
The following capabilities are realized: test cases can be quickly generated based on requirements and designs, and then automated testing can be carried out based on models, which improves the efficiency and quality of testing.

Based on the model, developers can run through the whole process of software development: requirements, design, development, and testing, so that the whole process of software development can achieve the following four capabilities:

1. Smooth transitions: Because the model has a unified specification, similar forms, and differences in the implementation of shielding points, it is easier to transition and transition different jobs.

2. Rigorous tracking: Based on the transformation and transition of the model, the close tracking relationship of various tasks will be naturally realized, which is a very important foundation for requirements tracking and change management.

3. Improve efficiency: The rapid iteration of the four types of work based on the model can break down professional barriers and greatly improve communication efficiency.

4. Guarantee quality: In the work content is clear, the work transition is smooth, and with the help of automation, the quality will undoubtedly be better guaranteed.

For this model-based development model, take the initials of Model Based and each job, and call it MB-DDT (Model Based,Design ,Development , Test)。

The goal of MB-DDT is: model-based, closed-loop development. To make it more visual, let's take an icon:

Model-Based Design ~ Development ~ Tools support for testing MB-DDT

No matter how good the method is, it must be implemented as a tool in order to form a real support for the work. For this purpose, we have developed a customized tool solution:

  • The modeling tools are selected from the current mainstream UML and SysML modeling tools EA: the requirements model and design model can be established, and the requirements and design documents can be automatically generated;
  • Model-based code generation and testing toolsWe have developed a simulator that can generate runnable code based on the design model, compile, and then generate test cases based on the model to perform simulation tests.
  • For development tools, compilation tools, and runtime environments, these are what specific developers can use.

This results in a complete MB-ADD toolchain.

This toolchain provides basic support for MB-DDT, and if users want to extend the functionality, we can customize it according to user needs and introduce more tool support.

Let me give you a brief introduction to this tool solution. This tool solution provides users with the following working scenarios:

1. Build a requirements model in the EA

2. Build a design model in EA

3.Use Simulator to automatically generate code based on the model,

4. Use the Simulator to compile the code into an executable program,

5. Deploy the executable program to the target device;

6. Use the Simulator to access the target device via a communication connection, execute test cases, and perform simulation tests.

7. The simulator accepts the test response of the target device and displays the status of the software as a model.

The following is a schematic diagram of the working tool of MB-ADDT:

Here's a screenshot of the specific work interface:

Generate code: Users can automatically generate 100% runnable code based on SysML and UML models.

Compiling executable programs: Users can compile the generated code with one click. The resulting executable can be deployed by the user.

Simulation test: Users can generate test cases based on the model, send requests to devices where the executable program is deployed, receive responses from the devices, and display the test results as models.

The following is a demonstration >> of the simulator

I hope you have benefited from reading this. If you are interested in MB-DDT (Model-Based Design ~ Development ~ Testing) methods and tools, welcome to discuss and exchange.

If you would like to learn more:

  • Welcome to the Modelers Channel http://www.mbse-x.com/
  • Also welcome to contact us directly at umlooo@hotmail.com
  • About the Author:

    Zu Tao, the founder of Dragon Fruit Software Engineering, founded Dragon Fruit Software Engineering in 2001 and IBM Rational User Group in 2004. In 1998, he participated in the national key research project "Component-based Software Reuse for Specific Domains" as a backbone, and was fortunate to learn and use UML for domain modeling and refining reusable components and architectures. In the subsequent R&D projects, the model has been used for analysis and design, and has accumulated some experience and experience. Focused on MBSE for 20 years, familiar UML, Sys ML, ArchiMate, BPMN, UPDM, DataModel and other modeling languages and specifications, in the past experience, the biggest feeling is that the field of software engineering and systems engineering, which brings together many elite talents, has been a messy and confused state for decades. Develop a sustainable methodology for yourself, such as MBSE From Methodology to Practice Guide Model-Based 3D R&D Management Model-Based Requirements Management Model-Driven Architecture Design "Model-Based Quality Management" "Model-based Personnel Capability Management" "iProcess Process Improvement Method", currently as a product manager and architect, is currently working on the research and development of MBSE (Model-Based Systems Engineering) platform, hoping to establish model-based engineering solutions, and will continue to write some articles in the future, hoping to give some reference to peers.

     

     

    Postscript

      I hope you have benefited from reading this.

      If you are willing to share your experience, please submit it to us.

      If you are interested in our training, consulting and tools:

    Course:
  • Analytical design based on UML and EA
  • MBSE (Model-Based Systems Engineering)
  • Model-Based Requirements Management) Methods and Practices
  • System design and modeling based on SysML and EA
  • Enterprise architecture modeling
  • System architecture modeling methods and cases
  • Domain-driven modeling and design
  • Model-based design
  • Business Modeling & Business Analysis

  • MBSE toolchain :
  • Modeling Tool: EA
  • MBSE platform: iSpace
  • Document generation: DocGenerator
  • Model Simulation: Simulator
  • Quality Management: Inspector

  • Consulting Options:
  • MBSE (Model-Based Systems Engineering)
  • Model-driven development based on UML
  • Model-based engineering management
  • Based on Sys ML for system analysis and design
  • Model-based system analysis and design
  • Welcome to contact us: umlooo@hotmail.com

       
    Views  
     
    Related Articles

    UML Overview
    UML Diagram: Use Case Diagram
    UML Diagram: Activity Diagram
    UML diagram: class diagram
    UML Diagram: Object Diagram
    UML Diagram: sequence diagram
     
    Related Courses

    MBSE (Model-based Systems Engineering)
    System analysis and design based on UML
    Business Modeling & Business Analysis
    System design and modeling SysML EA
    Model-based requirements management
    Business Modeling &; Domain-Driven
     
    Related Tool

    MBSE Platform
    Modeling Tools EA
    Requirements Management
    Automatic modeling
    Multi-level simulation -Sys Simulator
    Code Engineer

    Tool News
    June 2024 EA v17.0 Beta release
    November 2022 EA v16.1 release notes
    November 2022 EA v16.1 official release
    July 2022 EA v16.05 release notes
    April 2022 EA16.0 official release
     
    Latest Article
    UML Overview
    UML Diagram: Use Case Diagram
    UML Diagram: Activity Diagram
    UML diagram: class diagram
    UML Diagram: Object Diagram
    UML Diagram: sequence diagram
    Specification changes from UML 2.4 to UML 2.5
    DDS models and modeling tools
    More...   
    MBSE Tool
    MBSE Platform
    Modeling Tools EA
    Requirements Management
    Automatic modeling
    Multi-level simulation -Sys Simulator
    Code Engineer
    DocGenerator
    Model Checker
    R&D management
    TestDriver
    Model Based Quality Manager (inspector)
    More...   
    Successful Case
    Gac Research Institute SysML+EA+ Software
    Modeling tools EA, WebEA, and learning
    China Automotive Intelligence modeling tools EA...
    Ekatong MBSE tool chain consulting
    Avic UAV MBSE tool chain
    Geely Auto buys EA tools
    Huaco Auto parts buy EA tools
    Dongfeng LAN Map Auto purchase EA tools