Main Content

Author Architecture Models

Represent system architecture using components, ports, and interfaces

Model the physical, functional, and logical architecture of a system. Create visual representations with components, ports, and connections. Components represent architectural systems or subsystems to be used in system design. You can decompose components to add detail and define hierarchical relationships, and you can reuse and reference components across composition models. Create variant components and implement multiple design alternatives or variants, chosen based on programmatic rules.

Specify information exchange between components with interfaces. An interface defines the type, dimensions, units, and structure of the data contained within a port and exchanged between components. You can define interfaces locally that are saved with the model, or you can define interfaces in a System Composer™ interface data dictionary to be used across models.

Build an architecture model interactively through the user interface or programmatically using the command line.

Use projects to organize your work, manage files and settings, and interact with source control.


ComponentAdd component to an architecture model
Reference ComponentLink to an architectural definition or Simulink behavior
Variant ComponentAdd components with alternative designs
AdapterConnect components with different interfaces


expand all

systemcomposer.arch.ElementAll model elements
systemcomposer.arch.ArchitectureArchitecture in model
systemcomposer.arch.ModelSystem Composer model
systemcomposer.arch.BaseComponentAll components in architecture model
systemcomposer.arch.ComponentSystem Composer component
systemcomposer.arch.VariantComponentVariant component in System Composer model
systemcomposer.arch.BasePortAll ports in architecture model
systemcomposer.arch.ArchitecturePortInput and output ports of architecture
systemcomposer.arch.ComponentPortInput and output ports of component
systemcomposer.arch.BaseConnectorAll connectors in architecture model
systemcomposer.arch.ConnectorConnector between ports
systemcomposer.arch.PhysicalConnectorConnector between physical ports
systemcomposer.ValueTypeValue type in System Composer
systemcomposer.interface.DataInterfaceData interface
systemcomposer.interface.DataElementData element in data interface
systemcomposer.interface.PhysicalDomainPhysical domain in System Composer
systemcomposer.interface.PhysicalInterfacePhysical interface
systemcomposer.interface.PhysicalElementPhysical element in physical interface
systemcomposer.interface.DictionaryInterface data dictionary of architecture model


expand all

Model Management

systemcomposer.createModelCreate System Composer model
systemcomposer.loadModelLoad System Composer model
systemcomposer.openModelOpen System Composer model
openOpen architecture model
saveSave architecture model or data dictionary
closeClose model
createArchitectureModelCreate architecture model from component
linkToModelLink component to a model
inlineComponentRemove reference architecture or behavior from component

Model Building

addComponentAdd components to architecture
addPortAdd ports to architecture
getPortGet port from component
setNameSet name for port
connectCreate architecture model connections
lookupSearch for architecture element
getQualifiedNameGet model element qualified name
destroyRemove model element

Variant Management

addChoiceAdd variant choices to variant component
addVariantComponentAdd variant components to architecture
getActiveChoiceGet active choice on variant component
getChoicesGet available choices in variant component
getConditionReturn variant control on choice within variant component
makeVariantConvert component to variant choice
setActiveChoiceSet active choice on variant component
setConditionSet condition on variant choice

Value Type Management

addValueTypeCreate named value type in interface dictionary
createInterfaceCreate and set owned interface for port
setNameSet name for value type, interface, or element
setDataTypeSet data type for value type
setDimensionsSet dimensions for value type
setUnitsSet units for value type
setComplexitySet complexity for value type
setMinimumSet minimum for value type
setMaximumSet maximum for value type
setDescriptionSet description for value type

Interface Management

addInterfaceCreate named data interface in interface dictionary
addPhysicalInterfaceCreate named physical interface in interface dictionary
removeInterfaceRemove named interface from interface dictionary
createInterfaceCreate and set owned interface for port
setNameSet name for value type, interface, or element
setInterfaceSet interface for port
getInterfaceGet object for named interface in interface dictionary
getInterfaceNamesGet names of all interfaces in interface dictionary

Element Management

addElementAdd data element
removeElementRemove data element
getElementGet object for data element
setNameSet name for value type, interface, or element
setTypeSet shared type on data element
createOwnedTypeCreate owned type on data element
getSourceElementGets data elements selected on source port for connection
getDestinationElementGets data elements selected on destination port for connection

Dictionary Management

systemcomposer.createDictionaryCreate data dictionary
systemcomposer.openDictionaryOpen data dictionary
saveToDictionarySave interfaces to dictionary
linkDictionaryLink data dictionary to architecture model
unlinkDictionaryUnlink data dictionary from architecture model
addReferenceAdd reference to dictionary
removeReferenceRemove reference to dictionary


Compose Architecture Visually

Create architecture models using built-in model element types, such as components, ports, and connections.

Decompose and Reuse Components

Configure components for reuse across models.

Define Port Interfaces Between Components

Overview of interfaces and terminology.

Organize System Composer Files in a Project

Use projects to organize your work, manage files and settings, and interact with source control.

Featured Examples