MATLAB and Simulink for Model-Based Systems Engineering

Design, analyze, and test system and software architectures

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.

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 4754 work, 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

Using MATLAB and Simulink for Model-Based Systems Engineering

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 add 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.

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 Simulink Requirements™. 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.

Link system requirements to architecture models to establish requirements traceability and perform requirement coverage analysis or impact analysis.


Create custom views to manage architectural complexity and communicate with various stakeholders.

Perform Trade Studies and Analyze Architectures with Views

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.

Using MATLAB, you can directly perform analysis and trade studies on your architecture. Examples include:

  • Bottom-up rollup or top-down allocation (size, weight, power, cost, etc.)
  • Network or flow analysis (end-to-end latency, shortest path, flow of materials, etc.)
  • Custom analysis
  • Trade studies (identifying the most acceptable solution)

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.


Perform system verification to debug designs and identify inconsistent requirements.

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.