modifyQuery - Modify architecture view query and property groupings - MATLAB (original) (raw)
Main Content
Modify architecture view query and property groupings
Since R2021a
Syntax
Description
modifyQuery([view](#mw%5F14fdc640-c8f3-4121-9665-0aa18802bec7%5Fsep%5Fmw%5Fd65edf2f-6ea3-40e6-aee6-fcc38cee774b),[select](#mw%5Fbcc88f7a-8c21-4c1b-82a0-98aeb8b0a76b))
modifies the query select
on the view view
.
modifyQuery([view](#mw%5F14fdc640-c8f3-4121-9665-0aa18802bec7%5Fsep%5Fmw%5Fd65edf2f-6ea3-40e6-aee6-fcc38cee774b),[select](#mw%5Fbcc88f7a-8c21-4c1b-82a0-98aeb8b0a76b),[groupBy](#mw%5Fce676d61-d80a-4ed2-9930-d76fa4936946))
modifies the query select
on the view view
and the property based groupings groupBy
.
Examples
Open the keyless entry system example and create a view. Specify the color as light blue, the query as all components, and group by the review status.
import systemcomposer.query.*
openProject("scKeylessEntrySystem"); model = systemcomposer.loadModel("KeylessEntryArchitecture"); view = model.createView("All Components Grouped by Review Status",... Color="lightblue",Select=AnyComponent,... GroupBy="AutoProfile.BaseComponent.ReviewStatus");
Open the Architecture Views Gallery to see the new view All Components Grouped by Review Status
.
Create a new query for all hardware components. Use the new query to modify the existing query on the view. Remove the property based groupings by passing in an empty cell array {}
. Observe the change in your view.
constraint = HasStereotype(IsStereotypeDerivedFrom("AutoProfile.HardwareComponent")); view.modifyQuery(constraint,{})
Input Arguments
Query to use to populate view, specified as a systemcomposer.query.Constraint object.
A constraint can contain a subconstraint that can be joined with another constraint using AND
or OR
. A constraint can be negated using NOT
.
Example: HasStereotype(IsStereotypeDerivedFrom("AutoProfile.HardwareComponent"))
Query Objects and Conditions for Constraints
Query Object | Condition |
---|---|
Property | A non-evaluated value for the given property or stereotype property. |
PropertyValue | An evaluated property value from a System Composer object or a stereotype property. |
HasConnector | A component has a connector that satisfies the given subconstraint. |
HasPort | A component has a port that satisfies the given subconstraint. |
HasInterface | A port has an interface that satisfies the given subconstraint. |
HasInterfaceElement | An interface has an interface element that satisfies the given subconstraint. |
HasStereotype | An architecture element has a stereotype that satisfies the given subconstraint. |
IsInRange | A property value is within the given range. |
AnyComponent | An element is a component and not a port or connector. |
IsStereotypeDerivedFrom | A stereotype is derived from the given stereotype. |
Grouping criteria, specified as a cell array of character vectors in the form'<profile>.<stereotype>.<property>'
. The order of the cell array dictates the order of the grouping. If an empty cell array {}
is passed into groupBy
, all the groupings are removed.
Example: {'AutoProfile.MechanicalComponent.mass','AutoProfile.MechanicalComponent.cost'}
Data Types: char
More About
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. | Create Custom Views Using Architecture Views GalleryModeling 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. | Create Architecture Views InteractivelyCreate Architecture Views Programmatically |
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. | Component hierarchy diagrams display components in tree form with parents above children. In a component hierarchy view, each referenced model is represented as many times as it is used. Architecture hierarchy diagrams display unique component architecture types and their relationships using composition connections. In an architecture hierarchy view, each referenced model is represented only once. | Display Component Hierarchy and Architecture Hierarchy Using Views |
Version History
Introduced in R2021a
See Also
Tools
- Architecture Views Gallery | Interface Editor | Requirements Editor (Requirements Toolbox) | Requirements Manager (Requirements Toolbox)
Functions
- openViews | createView | getView | deleteView | runQuery | removeQuery | addElement | removeElement | getQualifiedName | createSubGroup | getSubGroup | deleteSubGroup | getQualifiedName | lookup
Objects
- systemcomposer.view.View | systemcomposer.view.ElementGroup | systemcomposer.query.Constraint | systemcomposer.interface.DataInterface | systemcomposer.interface.DataElement