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.
Create and elaborate specifications of architectures, compositions, and interfaces for model-based systems engineering and software design.
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.
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.
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.
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.
Requirements Allocation and Traceability
Associate architecture model elements with requirements. Iteratively decompose architectures while deriving additional requirements to create specifications.
Allocate requirements from external sources to architecture elements. Visualize and trace requirements from architectural elements, derive next-level requirements, and decompose architectures interactively.
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.
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.
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.
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.
Live Model Views
Customize live model views for specific design or analysis concerns.
Automatically create a diagram that focuses on a single component and its connectivity.