Main Content

Design Architecture Models

Architecture models in System Composer™ describe a system at different levels of abstraction. This mobile robot example presents three architectures:

  1. Functional architecture describes high-level functions and the relationships between them.

  2. Logical architecture describes data exchange between electronic hardware and software components in each subsystem.

  3. 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");

mobile-robot-functional-architecture.png

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");

mobile-robot-logical-architecture.png

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");

mobile-robot-hardware-architecture.png

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.

mobile-robot-show-hide-requirements.png

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.

mobile-robot-hardware-requirements.png

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.

mobile-robot-allocation.png

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.

mobile-robot-physical-allocation.png

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.

See Also

| | |

Related Topics