System Composer

Design and analyze system and software architectures

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

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.

Get Started:

Architecture Authoring

Create and elaborate specifications of architectures, compositions, and interfaces for model-based systems engineering and software design.

Composition Hierarchies

Sketch hierarchical system and software decompositions of components using a familiar component, port, and connector modeling approach. Iteratively add more details to your design until you are ready for implementation in Simulink.

Interface Management

Specify and refine interfaces on ports to define the information exchanged between components. Verify interface compatibility between ports by checking units, types, and other characteristics. Manage interfaces in dictionaries to facilitate reuse across multiple models of a project.

Apply an interface to a port by creating a new interface or selecting an existing interface. Specify the type, dimensions, units, and structure of the data.

Architecture Import

Reuse your existing design artifacts and Interface Control Document (ICD) information by connecting external repositories and files to MATLAB® and using an API to import the information into System Composer.

Connect external repositories and files to MATLAB and use an API to import the information.

Simulink Integration

Implement your architectural specification in Simulink using Model-Based Design.

Creating and Linking Simulink Components

Create, link, and manage Simulink behavioral components and interfaces as part of your top-down architecture design.

Reusing Simulink Models

Create architectural models bottom-up from existing Simulink models. Extract a composition from an existing Simulink system model or synthesize one from a set of Simulink component models.

Creating Behavioral Specifications

Capture and simulate desired system behavior in Simulink and Stateflow® to refine and validate your requirements and architecture in System Composer.

Use Stateflow with MATLAB App Designer to create executable prototypes that are used to refine and validate requirements.

Requirements Allocation and Traceability

Associate architecture model elements with requirements. Iteratively decompose architectures while deriving additional requirements to create specifications.

Requirements Allocation

Allocate requirements from external sources to architecture elements. Visualize and trace requirements from architectural elements, derive next-level requirements, and decompose architectures interactively.

Requirements Analysis

With Simulink Requirements™, you can perform requirements coverage analysis to assess the completeness of your architecture. Requirement changes resulting in suspect links are highlighted to support impact analysis.

Profiles and Analysis

Extend your architecture with domain-specific design data and apply MATLAB analytics to perform trade studies.


Add custom properties to architectural elements using stereotypes. Group and extend interrelated stereotypes in a profile that can be applied to an architecture.

Trade Studies Using MATLAB Analytics

Optimize architectures based on trade study results. Traverse architectures by hierarchy or connectivity, and perform roll-ups of parametric information. Create your own MATLAB analysis scripts to be applied on demand.

Directly access architecture data with MATLAB and use your own analysis scripts to perform trade studies, such as a roll-up to calculate the total mass of the system.

Model Reuse and Packaging

Reuse models, components, interfaces, and design data within a project or across projects. Use System Composer Projects to organize related model artifacts and facilitate reuse.

Architecture Reference

Reuse architecture component definitions by saving a component and its decomposition in a separate file and then referencing the component from other components in the architecture. Use the same mechanism to partition your overall design into separate model artifacts. You can define variants between multiple reference architectures for one component.

Create a reusable component that contains its interface and hierarchy that can be used to implement other components.

Architecture Projects

For large architectures, use projects to facilitate component reuse, modular team-based design, and the release of independent components. Projects support large-scale componentization by enabling you to reference other projects from a parent project.

Projects can be referenced by other projects supporting large scale componentization.

Live Model Views

Customize model views for specific design or analysis concerns. Make changes in a view that updates the other model views, and save views for later use.

Architecture Views

Create customized views for specific design or analysis concerns that enable communication between multiple stakeholders. For example, you can create views that contain only the software, mechanical, or electrical elements. Through views, contextually edit design properties and link requirements that will be reflected throughout the model.

Spotlight Views

Generate a pre-configured view that shows the context of a component and its connectivity. Use it to examine which components and interfaces will be impacted by a change.

Latest Features

AUTOSAR Composition Editor

Author compositions, and simulate functional behavior with basic software services using Composition Editor (requires AUTOSAR Blockset)


Access and discover System Composer capabilities when you need them

Architecture Views

Create multiple persistent views of an architecture model for different concerns

Architecture Model Queries

Create custom queries to automatically generate a view of the architecture model

Requirements Linking

Link requirements to elements in Architecture and Spotlight views (requires Simulink Requirements)

Interface Adaptor

Visually specify interface mapping between components with different but compatible interfaces

See release notes for details on any of these features and corresponding functions.

Get a Free Trial

30 days of exploration at your fingertips.

Download now

Ready to Buy?

Get pricing information and explore related products.

Are You a Student?

Get MATLAB and Simulink student software.

Learn more