systemcomposer.view.ElementGroup
Description
An ElementGroup
object is used to manage element groups in
architecture views for a System Composer™ model.
Creation
Create a view using the createView
function and get the Root
property of the new
systemcomposer.view.View
object. The Root
property returns the
systemcomposer.view.ElementGroup
that defines the view.
objView = createView(objModel); objElemGroup = objView.Root
Properties
Name
— Name of element group
character vector
Name of element group, specified as a character vector.
Example: 'NewElementGroup'
Data Types: char
UUID
— Universal unique identifier
character vector
Universal unique identifier for element group, specified as a character vector.
Example: '91d5de2c-b14c-4c76-a5d6-5dd0037c52df'
Data Types: char
Elements
— Elements
array of base component objects
Elements in view, specified as a array of systemcomposer.arch.BaseComponent
objects.
SubGroups
— Subgroups
array of element group objects
Subgroups under the parent element group, specified as an array of systemcomposer.view.ElementGroup
objects.
Object Functions
addElement | Add component to element group of view |
removeElement | Remove component from element group of view |
createSubGroup | Create subgroup in element group of view |
getSubGroup | Get subgroup in element group of view |
deleteSubGroup | Delete subgroup in element group of view |
destroy | Remove model element |
Examples
Create Architecture Views in System Composer with Keyless Entry System
Use a keyless entry system to programmatically create architecture views.
1. Import the package with queries.
import systemcomposer.query.*
2. Open the Simulink® project file for the Keyless Entry System.
scKeylessEntrySystem
3. Load the example model into System Composer™.
model = systemcomposer.loadModel("KeylessEntryArchitecture");
Example 1: Hardware Component Review Status View
Create a filtered view that selects all hardware components in the architecture model and groups them using the ReviewStatus
property.
1. Construct a query to select all hardware components.
hwCompQuery = HasStereotype(IsStereotypeDerivedFrom("AutoProfile.HardwareComponent"));
2. Use the query to create a view.
model.createView("Hardware Component Review Status",... Select=hwCompQuery,... GroupBy={'AutoProfile.BaseComponent.ReviewStatus'},... IncludeReferenceModels=true,... Color="purple");
3. To open the Architecture Views Gallery the Views section, click Architecture Views.
model.openViews
Example 2: FOB Locator System Supplier View
Create a freeform view that manually pulls the components from the FOB Locator System and groups them using existing and new view components for the suppliers. In this example, you will use element groups, groupings of components in a view, to programmatically populate a view.
1. Create a view architecture.
fobSupplierView = model.createView("FOB Locator System Supplier Breakdown",... Color="lightblue");
2. Add a subgroup called Supplier D
. Add the FOB Locator Module
to the view element subgroup.
supplierD = fobSupplierView.Root.createSubGroup("Supplier D"); supplierD.addElement("KeylessEntryArchitecture/FOB Locator System/FOB Locator Module");
3. Create a new subgroup for Supplier A
.
supplierA = fobSupplierView.Root.createSubGroup("Supplier A");
4. Add each of the FOB Receivers to view element subgroup.
FOBLocatorSystem = model.lookup("Path","KeylessEntryArchitecture/FOB Locator System");
Find all the components which contain the name "Receiver"
.
receiverCompPaths = model.find(... contains(Property("Name"),"Receiver"),... FOBLocatorSystem.Architecture); supplierA.addElement(receiverCompPaths)
5. Save the model.
model.save
More About
Definitions
Term | Definition | Application | More Information |
---|---|---|---|
view | A view shows a customizable subset of elements in a model. Views can be filtered based on stereotypes or names of components, ports, and interfaces, along with the name, type, or units of an interface element. Create views by adding elements manually. Views create a simplified way to work with complex architectures by focusing on certain parts of the architectural design. |
You can use different types of views to represent the system. Switch between a component diagram, component hierarchy, or architecture hierarchy. For software architectures, you can switch to a class diagram view. A viewpoint represents a stakeholder perspective that specifies the contents of the view. | Modeling System Architecture of Keyless Entry System |
element group | An element group is a grouping of components in a view. | Use element groups to programmatically populate a view. | |
query | A query is a specification that describes certain constraints or criteria to be satisfied by model elements. | Use queries to search elements with constraint criteria and to filter views. | Find Elements in Model Using Queries |
component diagram | A component diagram represents a view with components, ports, and connectors based on how the model is structured. | Component diagrams allow you to programmatically or manually add and remove components from the view. | Inspect Components in Custom Architecture Views |
hierarchy diagram | You can visualize a hierarchy diagram as a view with components, ports, reference types, component stereotypes, and stereotype properties. |
There are two types of hierarchy diagrams:
| Display Component Hierarchy and Architecture Hierarchy Using Views |
Version History
Introduced in R2021a
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)