Design Architecture Models
Architecture models in System Composer™ describe a system at different levels of abstraction. This mobile robot example presents three architectures:
Functional architecture describes high-level functions and the relationships between them.
Logical architecture describes data exchange between electronic hardware and software components in each subsystem.
Physical architecture describes the physical hardware or platform needed for the robot.
Note
This example uses Simscape™ blocks. If you do not have a Simscape license, you can open and simulate the model but can only make basic changes, such as modifying block parameters.
Design, Specify, and Allocate Architecture Models
The mobile robot example includes a functional, logical, and physical architecture with requirements linked to components and model-to-model allocations defined.
Functional Architecture Model for Mobile Robot
The functional architecture model describes functional dependencies: controlling a mobile robot autonomously, localization, path-planning, and path-following. To open the functional architecture model, double-click the file or run this command.
systemcomposer.openModel("RobotFunctionalArchitecture");
Logical Architecture Model for Mobile Robot
The logical architecture model describes the behavior of the mobile robot system for simulation: trajectory generator, trajectory follower, motor controller, sensor algorithm, and robot and environment. The connections represent the interactions in the system. To open the logical architecture model, double-click the file or run this command.
systemcomposer.openModel("scMobileRobotLogicalArchitecture_SS");
Physical Architecture Model for Mobile Robot
The physical architecture model describes the hardware components and their connections: the sensor, actuators, and embedded processor. The colors and icons indicate the stereotypes used for each element. To open the physical architecture model, double-click the file or run this command.
systemcomposer.openModel("scMobileRobotHardwareArchitecture");
Link Requirements to Components
Requirement traceability involves linking technical requirements to components and ports in architecture models, thereby allowing the connection between an early requirements phase and system-level design. You can easily track whether a requirement is met by connecting components back to stakeholder needs. You can add requirement links by dragging requirements to a component.
To view requirements, open the Requirements Manager by navigating to Apps > Requirements Manager.
The Identify Target Position
component in the functional architecture model implements the Autonomous Charging requirement, STAKEHOLDER-05
. To show or hide linked requirements, click the requirement icon on the top-right corner of a component.
You can view the requirements linked to the hardware architecture model in the Requirements Browser. After selecting STAKEHOLDER-04
, only components related to the Transportation requirement are shown.
Allocate Architectures
You can allocate functional components to physical components using model-to-model allocations. To open the Allocation Editor, navigate to Modeling > Allocation Editor, or run this command.
systemcomposer.allocation.editor
Load the allocation sets.
allocSetFunc = systemcomposer.allocation.load("FunctionalAllocation"); allocSetPhys = systemcomposer.allocation.load("PhysicalAllocation");
Allocate Functional to Physical Architectures
Click Scenario 1
under the FunctionalAllocation
allocation set.
Select the Component in the Row Filter and Column Filter sections. The Allocation Editor tool allows you to link components between different architecture models to establish traceability for your project. Double-click the boxes in the allocation matrix to allocate or deallocate two elements.
In the functional architecture, the trajectory generator requires components such as Identify Target Postion
, User Input
, and Compute Self Position
, so these components are allocated to the Trajectory Generator
component in the logical architecture.
Allocate Logical to Physical Architectures
Click Scenario 1
under the PhysicalAllocation
allocation set.
The autonomy of a vehicle is mostly handled by a target machine, which is an embedded computer responsible for processing sensor readings to calculate control inputs. Therefore, many functional components like Robot Body
, Sensor Fusion
, and Trajectory Generator
are allocated to the Target Machine
component in the physical architecture model.
References
[1] Rahman, Mohd Azizi Abdul, Katsuhiro Mayama, Takahiro Takasu, Akira Yasuda, and Makoto Mizukawa. “Model-Driven Development of Intelligent Mobile Robot Using Systems Modeling Language (SysML).” In Mobile Robots: Control Architectures, Bio-Interfacing, Navigation, Multi Robot Motion Planning and Operator Training, edited by Janusz Będkowski. InTech Open, 2011. https://doi.org/10.5772/26906.
See Also
allocate
| addComponent
| addPort
| connect