Contenuto principale

Best Practices for Large-Scale Architecture Modeling

To improve the performance of your system architecture as it grows in size, componentize, reuse, and manage system artifacts to build models that scale up efficiently.

In System Composer™, you can choose a template as your starting point based on what foundational principles you plan to use in your architecture. For more information, see Choose Architecture Template for System Design.

Componentize System Artifacts

When you use component-based modeling, you use subsystems to describe interlocking parts of your system and optimize model design processes. Use componentization to create a solid foundation for a complex architecture model.

Edit Through Views Using Filters

Use filtered views to focus on a limited section of the architecture model, and edit that system interactively so that changes propagate to the main architecture model. For more information, see Edit Views Interactively.

Edit Through Sequence Diagrams Using Co-Creation

If you have an idea about how the sequence of events in your system should behave, you can start with a sequence diagram. As you build the sequence diagram, co-creation of components, ports, and connectors populates to the architectural canvas. For more information, see Author Architecture Models Through Sequence Diagrams.

Layer Components with Hierarchy

Layer components with hierarchy to reduce the number of ports and connections by communicating at the proper fidelity. To learn more about component-based modeling, see Component-Based Modeling in Simulink and Explore Types of Simulink Components.

Reuse System Artifacts

To manage large amounts of architectural data and reduce the overall file size, you can reuse components, requirements, stereotype properties, and interfaces.

Modularize and Reuse Components

Rather than duplicating component designs, you can reuse components in an architecture model by using Reference Component blocks. Component reuse improves supportability and reduces model file size. When working with a permeable system boundary, use a subsystem reference. Subsystem references are required for physical ports. When using reusable self-contained models, use a model reference. For more information about using Reference Component blocks in System Composer, see Implement Component Behavior Using Simulink and Decompose and Reuse Components. To learn more about Simulink® referenced components, see Model Reference Behavior and Capabilities and Create and Use Referenced Subsystems in Models.

Requirements Management with Verification and Validation

You can organize requirements using requirement sets where required for each design space, and then assign requirement links appropriately. For example, define a specific requirement set for each linked architecture reference to replicate for each instance of the architecture reference.

Verify and validate requirements from start to finish by linking requirements to model elements, surrounding the model elements with test harnesses, and enabling behavior driven development throughout the system design process. For more information, see Verify and Validate Requirements and Model Testing Dashboard (Simulink Check).

Inherit Properties from Base Stereotype

When working with profiles, you can create a base stereotype with a template for properties used across the design elements. Inherit from the base stereotype to create additional stereotypes that reuse the original set of property definitions. For more information, see Best Practices for Profile Design.

Interface Definition and Usage

Across the lifecycle of a project, you can optimize the structure of the interfaces used and specify how to store them and reuse them. Interfaces, elements, and value types are structured and stored in SLDD format data dictionaries. For more information, see Manage Interfaces with Data Dictionaries.

You can nest data interfaces within the same data dictionary by typing a data element with a data interface to create a hierarchy of interfaces. You can reference data dictionaries to create an inheritance of interfaces, to access interfaces from multiple data dictionaries For more information, see Reference Data Dictionaries.

When implementing behaviors linked to your components, you can integrate with Simulink buses. For more information, see Transmit Signal Data Between Components Linked to Behavior Models, Define Interfaces and Manage Data of Simulink Components, Composite Interface Guidelines, and Explore Composite Interfaces.

Manage System Artifacts

To coordinate a large system among multiple developers, use projects and version control. You can use variant management tools, workflow automation, and design data management tools to streamline your modeling workflows.

Organize System Composer Files in Projects

For large-scale modeling, using projects to organize your files helps with file management, coordinating among multiple developers, and analyzing dependencies. For more information, see Organize System Composer Files in Projects.

You can also reference projects to split up work across large teams and more easily reuse components. For more information, see Create Projects.

Using Version Control for Multiple Developers

When your architectural system is shared between multiple developers, you can put your project under source control. For more information, see Use Source Control with MATLAB Projects. Then, use the System Composer Comparison Tool and the System Composer Three-Way Merge Tool to reconcile differences and conflicts between different developers.

Variant Management and Assembly

To visualize and manage variants in your model, use the Variant Manager for Simulink in your System Composer model. To add or remove variant choices without modifying the model, use variant assembly mode for a Variant Component. For more information, see Variant Assembly Components and Simulink Variants Overview.

Implement Workflow Automation

When scaling your model, automating processes gives increasing returns. For more information on using the Process Advisor (Simulink Check) app, see Run Tasks with Process Advisor (Simulink Check).

Manage Design Data on Architectural Level

Use parameters in System Composer to manage design data and use the data in Simulink behaviors. Use the Architectural Data Editor tool to view and edit architectural data used in your model. For more information, see Determine Where to Store Variables and Objects for Simulink Models.

See Also

Topics

External Websites