Main Content

setDefaultElementStereotype

Set default stereotype for elements

Since R2021b

Description

setDefaultElementStereotype(stereotype,elementType,stereotypeName) specifies the default stereotype stereotypeName of the child elements whose parent element of type elementType has the stereotype stereotype applied.

example

Examples

collapse all

Create a profile for latency characteristics and save it.

profile = systemcomposer.profile.Profile.createProfile("LatencyProfile");

latencybase = profile.addStereotype("LatencyBase");
latencybase.addProperty("latency",Type="double");
latencybase.addProperty("dataRate",Type="double",DefaultValue="10");

connLatency = profile.addStereotype("ConnectorLatency",...
Parent="LatencyProfile.LatencyBase");
connLatency.addProperty("secure",Type="boolean");
connLatency.addProperty("linkDistance",Type="double");

nodeLatency = profile.addStereotype("NodeLatency",...
Parent="LatencyProfile.LatencyBase");
nodeLatency.addProperty("resources",Type="double",DefaultValue="1");

portLatency = profile.addStereotype("PortLatency",...
Parent="LatencyProfile.LatencyBase");
portLatency.addProperty("queueDepth",Type="double");
portLatency.addProperty("dummy",Type="int32");

profile.save

Specify the LatencyProfile.NodeLatency stereotype as a component stereotype. Set the default component stereotype.

nodeLatency.AppliesTo = "Component";
nodeLatency.setDefaultElementStereotype("Component","LatencyProfile.NodeLatency")

Create a model, apply the profile to the model, and add a component. Apply the stereotype on the component. Then, open the Profile Editor.

modelName = "archModel";
arch = systemcomposer.createModel(modelName);
systemcomposer.openModel(modelName);
arch.applyProfile("LatencyProfile");
newComponent = addComponent(arch.Architecture,"Component");
newComponent.applyStereotype("LatencyProfile.NodeLatency");
systemcomposer.profile.editor(profile)

Create a child component and get the stereotypes on the child component.

childComponent = addComponent(newComponent.Architecture,"Child");
stereotypes = getStereotypes(childComponent)
stereotypes =

  1×1 cell array

    {'LatencyProfile.NodeLatency'}

Create a profile for latency characteristics and save it.

profile = systemcomposer.profile.Profile.createProfile("LatencyProfile");

latencybase = profile.addStereotype("LatencyBase");
latencybase.addProperty("latency",Type="double");
latencybase.addProperty("dataRate",Type="double",DefaultValue="10");

connLatency = profile.addStereotype("ConnectorLatency",...
Parent="LatencyProfile.LatencyBase");
connLatency.addProperty("secure",Type="boolean");
connLatency.addProperty("linkDistance",Type="double");

nodeLatency = profile.addStereotype("NodeLatency",...
Parent="LatencyProfile.LatencyBase");
nodeLatency.addProperty("resources",Type="double",DefaultValue="1");

portLatency = profile.addStereotype("PortLatency",...
Parent="LatencyProfile.LatencyBase");
portLatency.addProperty("queueDepth",Type="double");
portLatency.addProperty("dummy",Type="int32");

profile.save

Specify the LatencyProfile.NodeLatency stereotype as a component stereotype. Set the default port stereotype.

nodeLatency.AppliesTo = "Component";
nodeLatency.setDefaultElementStereotype("Port","LatencyProfile.PortLatency");

Create a model, apply the profile to the model, and add a component. Apply the stereotype on the component. Then, open the Profile Editor.

modelName = "archModel";
arch = systemcomposer.createModel(modelName);
systemcomposer.openModel(modelName);
arch.applyProfile("LatencyProfile");
newComponent = addComponent(arch.Architecture,"Component");
newComponent.applyStereotype("LatencyProfile.NodeLatency");
systemcomposer.profile.editor(profile)

Create an architecture port on the component and get the stereotypes on the port.

port = addPort(newComponent.Architecture,"testSig","out"); 
stereotypes = getStereotypes(port)
stereotypes =

  1×1 cell array

    {'LatencyProfile.PortLatency'}

Create a profile for latency characteristics and save it.

profile = systemcomposer.profile.Profile.createProfile("LatencyProfile");

latencybase = profile.addStereotype("LatencyBase");
latencybase.addProperty("latency",Type="double");
latencybase.addProperty("dataRate",Type="double",DefaultValue="10");

connLatency = profile.addStereotype("ConnectorLatency",...
Parent="LatencyProfile.LatencyBase");
connLatency.addProperty("secure",Type="boolean");
connLatency.addProperty("linkDistance",Type="double");

nodeLatency = profile.addStereotype("NodeLatency",...
Parent="LatencyProfile.LatencyBase");
nodeLatency.addProperty("resources",Type="double",DefaultValue="1");

portLatency = profile.addStereotype("PortLatency",...
Parent="LatencyProfile.LatencyBase");
portLatency.addProperty("queueDepth",Type="double");
portLatency.addProperty("dummy",Type="int32");

profile.save

Specify the LatencyProfile.NodeLatency stereotype as a component stereotype. Set the default connector stereotype.

nodeLatency.AppliesTo = "Component";
nodeLatency.setDefaultElementStereotype("Connector","LatencyProfile.ConnectorLatency");

Create a model, apply the profile to the model, and add a component. Apply the stereotype on the component. Then, open the Profile Editor.

modelName = "archModel";
arch = systemcomposer.createModel(modelName);
systemcomposer.openModel(modelName);
arch.applyProfile("LatencyProfile");
newComponent = addComponent(arch.Architecture,"Component");
newComponent.applyStereotype("LatencyProfile.NodeLatency");
systemcomposer.profile.editor(profile)

Create two child components. Add ports. Then, create a connection between the ports and get stereotypes on the connector.

childComponent1 = addComponent(newComponent.Architecture,"Child1");
childComponent2 = addComponent(newComponent.Architecture,"Child2");

outPort1 = addPort(childComponent1.Architecture,"testSig","out"); 
inPort1 = addPort(childComponent2.Architecture,"testSig","in");
srcPort = getPort(childComponent1,"testSig");
destPort = getPort(childComponent2,"testSig");

connector = connect(srcPort,destPort);
stereotypes = getStereotypes(connector)
stereotypes =

  1×1 cell array

    {'LatencyProfile.ConnectorLatency'}

Input Arguments

collapse all

Stereotype, specified as a systemcomposer.profile.Stereotype object.

Element type, specified as:

Data Types: char | string

Default stereotype name for child elements, specified as a character vector or string in the form "<profile>.<stereotype>".

Data Types: char | string

More About

collapse all

Version History

Introduced in R2021b