MATLAB and Simulink for Model-Based Systems Engineering

Engineers use model-based systems engineering (MBSE) to manage system complexity, improve communication, and produce optimized systems. Successful MBSE requires the synthesis of stakeholder requirements into architecture models to create intuitive system descriptions.

MATLAB®, Simulink®, and System Composer™ together create a single environment for creating descriptive architecture models that seamlessly bridge into detailed implementation models. The connected environment ensures items across the architecture and design worlds stay in sync. Systems engineers can establish a digital thread to navigate between system requirements, architecture models, implementation models, and embedded software.

Figure 1. System Composer™ bridges the gap between Model-Based Systems Engineering and Model-Based Design

With MATLAB, Simulink, and System Composer, you can capture and manage system requirements enabling impact and coverage analysis, optimize system architectures by capturing architecture metadata and directly connecting to MATLAB analytics for domain-specific trade studies, create simplifying customized model views to isolate the components of interest for different engineering concerns, validate requirements and verify system architectures using simulation-based tests, translate and refine requirements into architectures with components ready for simulation and implementation using Model-Based Design in Simulink.

Modeling with Simulink is instrumental to our team’s ARP awork, specifically validating system-level requirements, developing requirements-based tests, and defining low-level software requirements that our supplier uses to produce DO-178 Level A flight code using Simulink and Embedded Coder.”  Rodrigo Fontes Souto, Embraer

System Composer which was released in 2019a provides an intuitive means of capturing the system architecture. It has a direct connection with MATLAB for doing data analysis to perform trade studies enabling system optimization. It provides views of the system allowing you to filter information to see things from different viewpoints. And it shares the same model as Simulink thus providing a direct connection and ensuring changes are kept in synch.  Simulink also provides for multi-domain simulations enabling the systems engineer to start system integration earlier and to do what if behavioral analysis. System Composer brings the ability to do many common systems engineering tasks into the same environment as you do your design work.

System Composer™ enables the specification and analysis of architectures for model-based systems engineering and software architecture modeling. With System Composer, you allocate requirements while refining an architecture model that can then be designed and simulated in Simulink®.

Simulink Requirements allows the creation of a digital thread that provides traceability for easy navigation through the system information.  It also highlights what may be impacted by a and provides requirements coverage reporting allowing you to ensure all the requirements have been implemented.

Figure 2. Sketch System Interfaces and Elaborate Incrementally

Architecture models consisting of components and interfaces can be authored directly, imported from other tools, or populated from the architectural elements of Simulink designs. You can describe your system using multiple architecture models and establish direct relationships between them via model-to-model allocations. Behaviors can be captured in sequence diagrams, state charts, or Simulink models. You can define and simulate the execution order of component functions and generate code from your software architecture models (with Simulink and Embedded Coder®).

To investigate specific design or analysis concerns, you can create custom live views of the model. Architecture models can be used to analyze requirements, capture properties via stereotyping, perform trade studies, and produce specifications and interface control documents (ICDs).

1. Develop Architecture Models and Manage System Requirements


Use System Composer to intuitively sketch hierarchical systems of architectures using a component, port, and connector modeling approach. Work at the level of abstraction that fits your needs at the time and adds details as you get them. To formally define the information that is exchanged between components, you can create interfaces to verify that the data being exchanged has compatible properties such as data types, dimensions, or units.

On previous projects, the requirements coverage analysis was performed manually and based on subjective evaluation. Simulink, Simulink Coverage, and Requirements Toolbox enabled us to automate this analysis and provided objective coverage metrics, which helped us shorten requirements review for certification by up to 30%.”  Massimiliano Campagnoli, Alenia Aermacchi

Existing design artifacts and interface control document (ICD) information can be reused by importing external repositories and files using a MATLAB API. You can also extract an architecture model from existing Simulink system models.

While developing architecture models, you can directly capture, view, and manage system requirements using Requirements Toolbox™. System requirements can be linked to different architectural elements to establish a digital thread for requirements traceability and perform requirement coverage analysis. Linked requirements maintain a revision history enabling you to perform impact analysis and communicate important changes to downstream teams.

2. Perform Trade Studies and Analyze Architectures with View


You can use stereotypes to extend your architecture models with domain-specific design data such as size, weight, power, or cost. Related stereotypes can be grouped into profiles that can be applied throughout your architecture or reused in other architectures. To manage architectural complexity, you can create custom views to isolate components of interest for various stakeholders or to facilitate specific analysis activities. You can directly perform analysis and trade studies on your architecture using MATLAB.

Figure 3. Analyzing Architecture

3. Connect to Model-Based Design in Simulink


Directly link architecture components to Simulink models to define behaviors using Model-Based Design, which is the systematic use of models throughout your development process. Following a top-down workflow, Simulink models can be automatically generated from architectural components. Conversely, you can create an architecture component directly from a Simulink component model. Linking architecture models with Simulink behavior models ensures that your architecture and implementation models stay synchronized and allows you to simulate system behavior.

Figure 4. Simulink Integration

4. System Verification


With simulation, you can explore architectures, prototype components, and create component specifications, all while understanding and refining system behaviors early in the development process. To scale this for large and complex systems, you can automate verification using test suites to validate requirements and iteratively verify system behaviors throughout the model-based system engineering process. You can specify system-level tests to check the consistency and correctness of requirements that can be used by downstream implementation teams. You can translate requirements with complex, timing-dependent signal logic into assessments with clear, defined semantics that can be used to debug designs and identify inconsistent requirements.

Figure 5. Perform System Verification to Debug Designs and Identify Inconsistent Requirements.

SUMMARY


System Composer lets you create or import architecture models that describe a system in terms of components and interfaces. You can also populate an architecture model from the architectural elements of Simulink designs or C/C++ code. You can create custom live views of the model to study specific design or analysis concerns. With these architecture models you can analyze requirements, capture properties via stereotyping, perform trade studies, and produce specifications and ICDs.

Figure 6. System Composer: Design and Analyze System and Software Architectures

CONCLUSION


With MATLAB, Simulink, and System Composer, you can capture and manage system requirements enabling impact and coverage analysis, optimize system architectures by capturing architecture metadata and directly connecting to MATLAB analytics for domain-specific trade studies, create simplifying customized model views to isolate the components of interest for different engineering concerns, validate requirements and verify system architectures using simulation-based tests, and translate and refine requirements into architectures with components ready for simulation and implementation using Model-Based Design in Simulink.

USEFUL LINKS


USER STORIES


Interfaces are automatically created inside the Simulink elements, and if we describe external interfaces in these Simulink models, they appear in the static architecture. It is really helpful to have a toolchain that is automatically ensuring consistency.