Main Content

Author Architecture Models

Represent architectures 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. Convert to architecture model and subsystem references to reuse architectural designs across components. Create variant components and implement multiple design alternatives or variants, chosen based on programmatic rules.

Specify information exchange between components with data interfaces, physical interfaces, and value types using the Interface Editor. A data 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.

Add and edit intrinsic or operational parameters for architectural design on components and architectures using the Parameter Editor. Promote parameters from components contained in the model to a top-level architecture.

Author edit-time checks for System Composer or define customizations using sl_refresh_customizations.

Blocks

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

Classes

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.ArchitecturePortArchitecture port
systemcomposer.arch.ComponentPortComponent port
systemcomposer.arch.BaseConnectorAll connectors in architecture model (Since R2021b)
systemcomposer.arch.ConnectorConnector between ports
systemcomposer.arch.PhysicalConnectorConnector between physical ports (Since R2021b)
systemcomposer.arch.ParameterParameter in System Composer (Since R2022b)
systemcomposer.ValueTypeValue type in System Composer (Since R2021b)
systemcomposer.interface.DataInterfaceData interface (Since R2021b)
systemcomposer.interface.DataElementData element in data interface (Since R2021b)
systemcomposer.interface.PhysicalDomainPhysical domain in System Composer (Since R2021b)
systemcomposer.interface.PhysicalInterfacePhysical interface (Since R2021b)
systemcomposer.interface.PhysicalElementPhysical element in physical interface (Since R2021b)
systemcomposer.interface.DictionaryInterface data dictionary of architecture model

Functions

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 architecture model
createArchitectureModelCreate architecture model from component (Since R2021b)
createArchitectureSubsystemCreate architecture subsystem from component (Since R2023a)
linkToModelLink component to model
inlineComponentRemove reference architecture or behavior from component
systemcomposer.extractArchitectureFromSimulinkExtract architecture from Simulink model
systemcomposer.exportToAUTOSARArchitectureExport current model to new AUTOSAR architecture model (Since R2023b)
systemcomposer.exportToSoftwareArchitectureExport current model to new software architecture model (Since R2023b)
systemcomposer.exportToVersionExport architecture model and dependencies to previous release of System Composer

Model Building

addComponentAdd components to architecture
addPortAdd ports to architecture
getPortGet port from component
setNameSet name for port
connectCreate architecture model connections
lookupSearch for architectural element
getQualifiedNameGet model element qualified name
setMaskImageApply mask image to component (Since R2023b)
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
makeVariantAssemblyConvert variant component to variant assembly component (Since R2023b)
updatePortsFromChoicesUpdate ports in Variant Component block to match its variant choices (Since R2024a)
setActiveChoiceSet active choice on variant component
setConditionSet condition on variant choice

Parameter Management

addParameterAdd parameter to architecture (Since R2022b)
getParameterGet parameter from architecture or component (Since R2022b)
getParameterPromotedFromGet source parameter promoted from (Since R2022b)
resetToDefaultResets parameter value to default (Since R2022b)
getEvaluatedParameterValueGet evaluated value of parameter from element (Since R2022a)
getParameterNamesGet parameter names on element (Since R2022a)
getParameterValueGet value of parameter (Since R2022a)
setParameterValueSet value of parameter (Since R2022a)
setUnitSet units on parameter value (Since R2022a)
resetParameterToDefaultReset parameter on component to default value (Since R2022a)

Value Type Management

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

Interface Management

addInterfaceCreate named data interface in data dictionary
moveInterfaceMove interface to another data dictionary (Since R2023b)
addPhysicalInterfaceCreate named physical interface in data dictionary (Since R2021b)
removeInterfaceRemove named interface from interface dictionary
createInterfaceCreate and set owned interface for port (Since R2021b)
setNameSet name for value type, function argument, interface, or element
setInterfaceSet interface for port
getInterfaceGet object for named interface in interface dictionary
getInterfaceNamesGet names of all interfaces in interface dictionary
systemcomposer.getSelectedInterfacesGet selected interfaces in Interface Editor (Since R2024a)

Element Management

addElementAdd element
removeElementRemove element
getElementGet object for element
setNameSet name for value type, function argument, interface, or element
setTypeSet shared type on data element or function argument (Since R2021b)
createOwnedTypeCreate owned value type on data element or function argument (Since R2021b)
getSourceElementGets data elements selected on source port for connection (Since R2020b)
getDestinationElementGets data elements selected on destination port for connection (Since R2020b)

Dictionary Management

systemcomposer.createDictionaryCreate data dictionary
systemcomposer.openDictionaryOpen data dictionary
saveToDictionarySave interfaces to dictionary
isOpenDetermine whether dictionary is open (Since R2024a)
getFileNameGet absolute filename for dictionary (Since R2024a)
linkDictionaryLink data dictionary to architecture model
unlinkDictionaryRemove linked data dictionary from architecture model
addReferenceAdd reference to dictionary (Since R2021a)
removeReferenceRemove reference to dictionary (Since R2021a)
makeOwnedInterfaceSharedConvert owned interface to shared interface (Since R2022a)

Tools

System Composer OnrampFree, self-paced, interactive System Composer course (Since R2024a)
Interface EditorCreate and author interfaces in local and shared interface data dictionaries
Parameter EditorAdd, edit, and promote parameters for architectures and components (Since R2022b)

Topics

Featured Examples