Best Practices for Profile Design
You should design your profiles in System Composer™ as your system grows. You can optimize your stereotype definitions by placing a shared set of properties in a base stereotype and maintain consistent definitions between specialized groups of model elements.
In this topic, you will learn how to:
Clarify the role of profiles in systems engineering design.
Structure your stereotypes so common properties can be shared through an inherited mechanism. For example, a
UserInterfacestereotype can be an extension of a
SoftwareComponentstereotype, and you can add a property called
Decide how to use multiple profiles based on what each profile represents.
For more information about profiles terminology, see Extend System Composer Language Elements Using Profiles.
Role of Profiles in System Design
Profiles in System Composer are used to define a framework for stereotypes. In a profile, stereotypes, which can apply to a certain element type, include property definitions. Stereotypes extend model elements after you apply a stereotype to the elements and define property values for each element type. You can apply stereotypes to these model elements:
<all>to apply stereotype to all element types.
Allocation. For more information, see Create and Manage Allocations Interactively.
Function, which is only available for software architectures. For more information, see Apply Stereotypes to Functions of Software Architectures.
Requirement, to be used with a Requirements Toolbox™ license. For more information, see Customize Requirements and Links by Using Stereotypes (Requirements Toolbox).
Link, to be used with a Requirements Toolbox license.
In this example, the profile
MyCustomProfile contains multiple
PhysicalComponent stereotype applies to
Component elements. The
Connector elements. You can further specialize the
PhysicalComponent stereotype with the
SensorComponent stereotype to include additional properties such as
You can extend a stereotype by creating a new stereotype based on the existing one, allowing you to control properties in a structural manner. For example, all components in a project may have a part number, but only electrical components have a power rating, and only electronic components — a subset of electrical components — have manufacturer information. You can use an abstract stereotype to serve solely as a base for other stereotypes and not as a stereotype for any architecture model elements.
For example, in the Profile
Editor, create a new stereotype called
Base stereotype, select
FunctionalArchitecture.ElectricalComponent. Define properties you want
to add to those of the base stereotype. Select Show inherited properties
(read-only) at the bottom of the property list to show the properties of the
base stereotype. You can edit only the properties of the selected stereotype, not the base
When you apply the new stereotype, it carries its defined properties in addition to those of its base stereotype.
When you use a base stereotype and shared property definitions across your profile, you optimize your stereotype definitions as your model grows.
Using Multiple Profiles
Profiles provide a way to extend a modeling language. In System Composer, profiles allow you to clarify which domain-specific language to use to specialize your system. Domain-specific languages include definitions for safety, logic, or company information.
Suppose your system has a physical domain and a safety domain with separate definitions.
You can create the
profiles in the Profile
On the model canvas, after importing both profiles into the model, you can apply both
from the two different profiles to the
PressureSensorLeft component, then
populate the respective property values for the component.
When you work with multiple profiles, use Simulink® projects with source control to organize your files and folders and collaborate with other contributors. For more information, see Organize System Composer Files in Projects.
Multiple profiles help to maintain consistent definitions between specialized groups of model elements in separate domains.