Create and manage profiles with stereotypes and properties
The Profile Editor allows you to define a profile that contains stereotypes with properties. In System Composer™ architecture models, stereotyping is necessary to define custom metadata on model elements typed by the stereotype. In Requirements Toolbox™, you can use stereotypes to define custom requirement types and link types with custom properties.
System Composer: Apply a profile to your model or interface data dictionary. Then, use stereotypes in the model to type model elements such as components, connectors, ports, interfaces, allocations, functions, requirement sets, and link sets. Functions only apply to software architectures. You can define custom property values on each element using the stereotyped template.
Requirements Toolbox: Apply a profile to a requirement set or link set. Then use stereotypes by setting the requirement type or link type to the stereotype and setting the stereotype properties to your desired values.
Open the Profile Editor
System Composer toolstrip: In the Modeling tab, click Profile Editor.
MATLAB® Command Window: Enter
Requirements Editor toolstrip: Click Profile Editor .
New Profile — Add new profile
Add new profile to edit in the Profile Editor.
Save — Save profile
Save (default) |
Save as |
Save all |
Export to previous
Save profile using one of these options:
Saveto save currently selected profile as an XML file.
Save asto save currently selected profile in a new XML file.
Save allto save all profiles currently open in the Profile Editor.
Export to previousto save currently selected profile to a previous version of MATLAB.
You can save the profile only or the profile and models that the profile is imported into.
New Stereotype — Add new stereotype on current profile
Add new stereotype on current profile to edit in the Profile Editor.
Filter profiles — Filter to show imported profiles
<all> (default) | model file name | dictionary file name |
Filter imported profiles:
<all>to show all imported profiles from all loaded models and dictionaries.
A model name, such as
model.slx, to show all imported profiles from specified architecture model.
An interface data dictionary, such as
dictionary.sldd, to show all imported profiles from specified interface data dictionary.
<refresh>to refresh profiles from all loaded models and dictionaries.
Import into — Import selected profile
model file name | dictionary file name | allocation set file name
Specify the name of a model, interface data dictionary, or allocation set into which to import the selected profile.
Stereotype applied to root on import — Root stereotype
<none> (default) | stereotype
Stereotype to apply to the root architecture after importing profile into a model. Choose from a list of available stereotypes. The root architecture is at the system boundary of the top-level model that separates the contents of the model from the environment. This option is visible after selecting a profile.
Applies to — Element type to which stereotype can be applied
<all> (default) |
Element type to which the stereotype can be applied.
Base stereotype — Stereotype from which stereotype inherits properties
<none> (default) | stereotype
Stereotype from which the stereotype inherits properties. Choose from a list of available stereotypes.
Abstract stereotype — Whether stereotype is abstract
off (default) | on
Select this check box to indicate an abstract stereotype. An abstract stereotype is a stereotype that is not intended to be applied directly to a model element. You can use abstract stereotypes only as the base stereotype for other stereotypes.
Show inherited properties — Whether to show properties inherited from base stereotype
off (default) | on
Select this check box to indicate whether to display read-only properties inherited from a base stereotype.
systemcomposer.profile.editor opens the Profile
Editor from the MATLAB Command Window.
A System Composer model is the file that contains architectural information, including components, ports, connectors, interfaces, and behaviors.
Perform operations on a model:
Extract the root-level architecture contained in the model.
Link interface data dictionaries.
Generate instances from model architecture.
A System Composer model is stored as an SLX file.
Interface Data Dictionary
An interface data dictionary is a consolidated list of all the interfaces and value types in an architecture and where they are used.
Local interfaces on a System Composer model can be saved in an interface data dictionary using the Interface Editor. You can reuse interface dictionaries between models that need to use a given set of interfaces, elements, and value types. Linked data dictionaries are stored in separate SLDD files.
A profile is a package of stereotypes.
You can use profiles to create a domain of specialized element types. Author profiles and apply profiles to a model using the Profile Editor. You can store stereotypes for a project in one or several profiles. When you save profiles, they are stored in XML files.
Stereotypes provide a mechanism to extend the core language elements and add domain-specific metadata.
Apply stereotypes to core element types. An element can have multiple stereotypes. Stereotype allow you to style different elements. Stereotypes provide elements with a common set of properties, such as mass, cost, and power.
A property is a field in a stereotype. You can specify property values for each element to which the stereotype is applied.
Use properties to store quantitative characteristics, such as weight or speed, that are associated with a model element. Properties can also be descriptive or represent a status. You can view and edit the properties of each element in the architecture model using the Property Inspector.
A component is a nontrivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of an architecture. A component defines an architectural element, such as a function, a system, hardware, software, or other conceptual entity. A component can also be a subsystem or subfunction.
Represented as a block, a component is a part of an architecture model that can be separated into reusable artifacts. Transfer information between components with:
A port is a node on a component or architecture that represents a point of interaction with its environment. A port permits the flow of information to and from other components or systems.
These are different types of ports:
Component ports are interaction points on the component to other components.
Architecture ports are ports on the boundary of the system, whether the boundary is within a component or the overall architecture model.
Connectors are lines that provide connections between ports. Connectors describe how information flows between components or architectures.
A connector allows two components to interact without defining the nature of the interaction. Set an interface on a port to define how the components interact.
An allocation establishes a directed relationship from architectural elements — components, ports, and connectors — in one model to architectural elements in another model.
Resource-based allocation allows you to allocate functional architectural elements to logical architectural elements and logical architectural elements to physical architectural elements.
An allocation scenario contains a set of allocations between a source and a target model.
Allocate between model elements in an allocation scenario. The
default allocation scenario is called
An allocation set consists of one or more allocation scenarios that describe various allocations between a source and a target model.
Create an allocation set with allocation scenarios in the Allocation Editor. Allocation sets are saved as MLDATX files.
A data interface defines the kind of information that flows through a port. The same interface can be assigned to multiple ports. A data interface can be composite, meaning that it can include data elements that describe the properties of an interface signal.
Data interfaces represent the information that is shared through a connector and enters or exits a component through a port. Use the Interface Editor to create and manage data interfaces and data elements and store them in an interface data dictionary for reuse between models.
A physical interface defines the kind of
information that flows through a physical port. The same interface can be assigned to multiple
ports. A physical interface is a composite interface equivalent to a
Simulink.ConnectionBus object that specifies any number of
Use a physical interface to bundle physical elements to describe a physical model using at least one physical domain.
A service interface defines the functional interface between client and server components. Each service interface consists of one or more function elements.
Once you have defined a service interface in the Interface Editor, you can assign it to client and server ports using the Property Inspector. You can also use the Property Inspector to assign stereotypes to service interfaces.
Requirements are a collection of statements describing the desired behavior and characteristics of a system. Requirements help ensure system design integrity and should be achievable, verifiable, unambiguous, and consistent with each other. Each level of design should have appropriate requirements.
To enhance traceability of requirements, link system, functional, customer, performance, or design requirements to components and ports. Link requirements to each other to represent derived or allocated requirements. Manage requirements from the Requirements Perspective on an architecture model or through custom views. Assign test cases to requirements using the Test Manager (Simulink Test) for verification and validation.
A link is an object that relates two model-based design elements. A requirement link is a link where the destination is a requirement. You can link requirements to components or ports.
View links using the Requirements Perspective in System Composer. Select a requirement in the Requirements Browser to highlight the component or the port to which the requirement is assigned. Links are stored externally as SLMX files.
A requirement set is a collection of requirements. You can structure the requirements hierarchically and link them to components or ports.
Use the Requirements Editor (Requirements Toolbox) to edit and refine requirements in a requirement set. Requirement sets are stored in SLREQX files. You can create a new requirement set and author requirements using Requirements Toolbox, or import requirements from supported third-party tools.
Introduced in R2019a