Compose and Analyze Systems Using Architecture Models
A system refers to a composition of elements that interact to achieve a goal no single element could accomplish on its own. The constituent elements of a system can include mechanical parts, electrical circuits, computer hardware, and software. A system specification describes the system elements, their characteristics and properties, their interactions with each other, and the desired interaction (or interface) of the overall system with its environment.
System Composer™ allows you to describe systems in terms of architecture models as a combination of structural elements with underlying behavioral descriptions. These descriptive models can sometimes be presented as distinct diagrams that are consistent with each other.
To perform a basic systems engineering workflow to design a mobile robotic arm using System Composer, follow these steps.
The model-based systems engineering (MBSE) workflow enabled by System Composer involves starting with stakeholder needs, identifying requirements and use cases, designing an architecture iteratively, and implementing functionality using behavior models. You can also use analyses and trade studies to optimize architectural design and communicate facets of the system using architecture views. This figure illustrates an MBSE workflow.
With System Composer, you can implement a systems engineering workflow.
Author architecture models and define system requirements:
Create hierarchical models of system structure that represent functional, logical, or physical decompositions of the system using components, ports, and connectors.
Import models from MATLAB® tables and export them with System Composer changes.
Edit and view the instance-specific parameters specified as model arguments on a component or architecture using the Parameter Editor.
Create and manage data interfaces between structural architectural elements using the Interface Editor.
Manage model-to-model allocations to show relationships between software components and hardware components and to indicate deployment strategies using the Allocation Editor.
Refine and elaborate requirements using Requirements Toolbox™ in the Requirements Editor (Requirements Toolbox). Link requirements to architectural model elements.
Define metadata, generate views, describe system behavior, and analyze architectures:
Extend base architectural elements to create domain-specific conceptual representations using the Profile Editor.
Filter views of the system structure using a component diagram, hierarchy diagram, or class diagram in the Architecture Views Gallery.
Represent the interaction between structural elements of an architecture as a sequence of message exchanges with a sequence diagram in the Architecture Views Gallery.
Perform static analysis and trade studies to optimize architectures using the Instantiate Architecture Model and the Analysis Viewer tools.
Implement component behavior and use simulation-based workflows to verify requirements:
Specify component behavior using block diagrams in Simulink®, state machines in Stateflow®, and physical interfaces in Simscape™ using subsystem behaviors.
Design a software architecture model, define the execution order of the functions from the components in the Functions Editor, simulate the design at the architecture level, and generate code.
Verify and validate requirements with Simulink Test™ using the Test Manager (Simulink Test).
Generate reports using Simulink Report Generator™. For more information, see System Composer Report Generation for System Architectures.
For definitions and applications of common System Composer terms and concepts, see System Composer Concepts.