Main Content


Create query to select architecture elements with interface on port based on specified sub-constraint



    query = HasInterface(sub-constraint) creates a query query that the find function and the createView function use to select architecture elements with an interface that satisfies the given sub-constraint sub-constraint.


    collapse all

    Select all of the port interfaces in an architecture model with matching criteria.

    Import the package that contains all of the System Composer™ queries.

    import systemcomposer.query.*

    Open the Simulink® project file.


    Open the model.

    m = systemcomposer.openModel('KeylessEntryArchitecture');

    Create a query for all the interfaces in a port with 'KeyFOBPosition' in the 'Name' and run the query.

    constraint = HasPort(HasInterface(contains(Property('Name'),'KeyFOBPosition')));
    portInterfaces = find(m,constraint,'Recurse',true,'IncludeReferenceModels',true)
    portInterfaces =
      10×1 cell array
        {'KeylessEntryArchitecture/Door Lock//Unlock System'                      }
        {'KeylessEntryArchitecture/Door Lock//Unlock System/Door Lock Controller' }
        {'KeylessEntryArchitecture/Engine Control System'                         }
        {'KeylessEntryArchitecture/Engine Control System/Keyless Start Controller'}
        {'KeylessEntryArchitecture/FOB Locator System'                            }
        {'KeylessEntryArchitecture/FOB Locator System/FOB Locator Module'         }
        {'KeylessEntryArchitecture/Lighting System'                               }
        {'KeylessEntryArchitecture/Lighting System/Lighting Controller'           }
        {'KeylessEntryArchitecture/Sound System'                                  }
        {'KeylessEntryArchitecture/Sound System/Sound Controller'                 }

    Input Arguments

    collapse all

    Condition restricting the query, specified as a systemcomposer.query.Constraint object.

    Example: contains(Property('Name'),'KeyFOBPosition')

    Output Arguments

    collapse all

    Query, returned as a systemcomposer.query.Constraint object.

    More About

    collapse all


    TermDefinitionApplicationMore Information
    viewA 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 architecture design.

    You can use different types of views to represent the system:

    • Operational views demonstrate how a system will be used and should be integrated with requirements analysis.

    • Functional views focus on what the system must do to operate.

    • Physical views show how the system is constructed and configured.

    A viewpoint represents a stakeholder perspective that specifies the contents of the view.

    Modeling System Architecture of Keyless Entry System
    element groupAn element group is a grouping of components in a view.Use element groups to programmatically populate a view.
    queryA 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 diagramA 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 diagramYou 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:

    • 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

    Introduced in R2019b