Consultation Solution Tool Course Member  
Order | Model Framework | Training & Consulting | Solution | Contact us
 Multistage Simulation
 System Simulation
 Software Simulation
 Co-Simulation (Matlab)
 

Views  
Simulator, Model Based Simulation and Testing Tool
Author: Zu Tao, Pitaya Software Engineering
What is Simulator
Simulator is an automated development and Testing Tool based on the EA Model. You can use EA's Sys ML and UML Models to generate executable code, compile, run, and then perform automated Tests based on the Model as a pattern comparison:
Why do you Need a Simulator?
Now the scale of software is getting larger and larger, more and more participants, so the overall understanding of software and continuous understanding ability Requirements are getting higher and higher, and with the accumulation of software scale, many teams have been feeling powerless. The whole process of software development is a whole, which is just like the software development process is a wooden bucket, and the delivered software is the water in the wooden bucket, every link in the software development process is a baffle of the wooden bucket, any gap between the two baffles will affect the whole, resulting in the quality of the final software. With this barrel effect in mind, the software development process needs to evolve from a document-based Analysis Design to a Model-based Analysis Design in order to achieve improved capabilities:
  • In the document-based analytical Design working mode, there is no unified language and form between Requirements and Design, which causes the transition gap and leads to the problems of Requirements and Design.
  • Under the Model-based Requirements and Design work mode, a good and natural transition between Requirements and Design work can be achieved by using the Model, so close tracking can be formed, 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 Design Work Scenario
    1. Requirements personnel write Requirements Document
    2. The Designer writes the Design Document
    3. Developers understand Requirements and Design, code "Code"
    4. Testers understand Requirements and Design, Design and execute Test Cases
    In this working mode, Requirements and Designs are described in documents, and the description ability and correlation tracking ability of documents are weak, which further affects the breadth and depth of Analysis and Design, and it is difficult to deal with complex systems or continuously accumulated systems.
    Model-based Analysis and Design Work scenario

    1. Requirement personnel build Requirement Model
    2. Designers build Design Model
    3. Developers understand Requirements and Design, code "Code"
    4. Testers understand Requirements and Design, Design and execute Test Cases
    In this working mode, the use of Models can improve the ability of description, and then improve the ability of Analysis and Design. The use of Modeling specifications Sys ML and UML is also helpful to improve the ability of communication and reuse. It can greatly improve the ability to cope with complex systems and continuously accumulate systems.
    Document based Analysis Design


    Work scenario
    1. Requirements personnel write Requirements Document
    2. The Designer writes the Design Document
    3. Developers understand Requirements and Design, code "Code"
    4. Testers understand Requirements and Design, Design and execute Test Cases
    In this working mode, Requirements and Designs are described in documents, and the description ability and correlation tracking ability of documents are weak, which further affects the breadth and depth of Analysis and Design, and it is difficult to deal with complex systems or continuously accumulated systems.
    Model-based Analysis and Design


    Work scenario
    1. Requirement personnel build Requirement Model
    2. Designers build Design Model
    3. Developers understand Requirements and Design, code "Code"
    4. Testers understand Requirements and Design, Design and execute Test Cases
    In this working mode, the use of Models can improve the ability of description, and then improve the ability of Analysis and Design. The use of Modeling specifications Sys ML and UML is also helpful to improve the ability of communication and reuse. It can greatly improve the ability to cope with complex systems and continuously accumulate systems.
    Problems with Model-based development
    In the Model-based Analysis and Design work mode, the information transmission of Requirements and Designs for subsequent work software development and Testing is mainly carried out manually, which is easy to appear transition gaps, resulting in water leakage!
    Model-based development ~ Testing
    In order to address the docking of Requirements and Design Models with software development and Testing, we also need to push the Model work forward:
  • Model-based development: ?
  • Automate code generation based on the Design Model and then compile the code. Reduce manual coding vulnerabilities, improve quality and efficiency, and form rigorous tracking relationships.
  • Model-based Testing: ?
  • Generate Test cases based on the Model, then automate Test Design and execution based on the Model, improve Test quality and efficiency, and form rigorous tracking relationships.
    Design Model-based code generation and Design Model-based Testing work scenarios are described as follows:
    Model-based development Work scenario


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


    1. based on Model ->Generate Test cases
    2. Issue Test requests to executable programs based on the Model
    3. Receive the response of the executable program
    4. Mark 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 Tests can be conducted based on Models, which improves Test efficiency and Test quality.
    Model-based development


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


    Work scenario
    1. based on Model ->Generate Test cases
    2. Issue Test requests to executable programs based on the Model
    3. Receive the response of the executable program
    4. Mark 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 Tests can be conducted based on Models, which improves Test efficiency and Test quality.
    Based on the Model, developers can run through the entire process of software development: Requirements - Design - development - Test, so that the entire process of software development to achieve the following four major capabilities:
    1. Smooth transition: Because the Model has a unified specification, similar forms, mask the differences in the realization of points, making different work transitions and transitions easier.
    2. Rigorous tracking: Model-based transformation and transition will naturally achieve a close tracking relationship between various tasks, which is a very important foundation for Requirements tracking and change management.
    3. Improve efficiency: The rapid iteration of the four kinds of work based on the Model can break the professional barriers and greatly improve the communication efficiency.
    4. Ensure quality: In the clear work content, smooth work transition, with the ability of automation, quality will undoubtedly be better guaranteed.
    For this Model Based Development mode, take the first letter of Model Based and each work, it can be called MB-ADDT (Model Based Analysis,Design,Development, Test).
    The goal of MB-DDT is Model-based closed-loop development. To make it even more graphic, let's make an icon:
    Simulator can realize Model-based full-cycle closed-loop development process and improve development efficiency and quality.
    What does Simulator have?
    Simulator has the following functions:
  • Model-based code generation
  • Compile the generated code
  • Generate Test cases based on the Model
  • Execute Test cases based on the Model
  • Report Test status based on Model
  • What can Simulator be used for
    Simulator can provide the following working scenarios for users:
    1. Build a Requirement Model in EA
    2. Build Design Models in EA
    3. Use Simulator to automatically generate code based on the Model.
    4. Use Simulator to compile code into executable program,
    5. Deploy the executable program to the target device.
    6. Use a Simulator to access the target device through a communication connection, execute Test cases, and perform Simulation Tests.
    7. The Simulator accepts the Test response of the target device and displays the state of the software as a Model.
    The following is the Tool operation diagram of MB-DDT:
    What's a Simulator like?
    Below is a screenshot of the specific working interface:
    Generate code: Users can automatically generate 100% runnable code based on SysML and UML Models.
    Compile executable programs: Users can compile generated code with one click. The generated executable can be deployed by the user.
    Simulation Testing: Users can generate Test cases based on the Model, send requests to the device where the executable program is deployed, receive the response from the device, and display the Test results in a Model manner.
     
    Views