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
UserInterface
stereotype can be an extension of aSoftwareComponent
stereotype, and you can add a property calledScreenResolution
.Decide how to use multiple profiles based on what each profile represents.
For information about profile 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.Component
.Port
.Connector
.Interface
.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 stereotypes.
The PhysicalComponent
stereotype applies to
Component
elements and includes the DeviceID
property. The BluetoothLink
stereotype applies to
Connector
elements. You can further specialize the
PhysicalComponent
stereotype by using the
SensorComponent
stereotype, which inherits the
DeviceID
property and includes the additional property
FailureProb
.
Extend Stereotypes
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
ElectronicComponent
. For Base stereotype, select
ProjectProfile.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 stereotype.
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 PhysicalProfile
and SafetyProfile
profiles in the Profile Editor.
On the model canvas, after importing both profiles into the model, you can apply both the PhysicalComponent
and SafetyComponent
stereotypes 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.
See Also
Tools
- Profile Editor | Manage Profiles | Requirements Manager (Requirements Toolbox)
Functions
getDefaultStereotype
|setDefaultStereotype
|getDefaultElementStereotype
|setDefaultElementStereotype
|addStereotype