主要内容

autosar.arch.Composition

R2026b

AUTOSAR software composition in architecture model

    Description

    An autosar.arch.Composition object represents an AUTOSAR software composition in an AUTOSAR software architecture model. An AUTOSAR composition is a container that groups AUTOSAR software components and nested compositions into a hierarchical software architecture.

    Creation

    Create an autosar.arch.Composition object by using the addComposition function on an autosar.arch.Model or autosar.arch.Composition object.

    composition = addComposition(archModel,"MyComposition")
    composition =
    
      Composition with properties:
    
                  Name: 'MyComposition'
        SimulinkHandle: 6.0001
                Parent: [1×1 autosar.arch.Model]
            Components: [0×0 autosar.arch.Component]
          Compositions: [0×0 autosar.arch.Composition]
                 Ports: [0×0 autosar.arch.CompPort]
            Connectors: [0×0 autosar.arch.Connector]
              Adapters: [0×0 autosar.arch.Adapter]
         ReferenceName: ''

    Properties

    expand all

    Name of composition, specified as a character vector or string scalar.

    Example: "MyComposition"

    Data Types: char | string

    This property is read-only.

    Simulink block handle, represented as a double.

    Data Types: double

    This property is read-only.

    Parent architecture element that contains the composition, represented as an autosar.arch.Model or autosar.arch.Composition object.

    This property is read-only.

    AUTOSAR components in the composition, represented as an array of autosar.arch.Component objects.

    This property is read-only.

    Nested compositions, represented as an array of autosar.arch.Composition objects.

    This property is read-only.

    Composition ports, represented as an array of autosar.arch.CompPort objects.

    This property is read-only.

    Port connectors in the composition, represented as an array of autosar.arch.Connector objects.

    This property is read-only.

    Port adapters in the composition, represented as an array of autosar.arch.Adapter objects.

    This property is read-only.

    Name of linked behavior model, represented as a character vector. The character vector is empty when no behavior model is linked.

    Data Types: char

    Object Functions

    addComponentAdd component to AUTOSAR architecture model
    addCompositionAdd composition to AUTOSAR architecture model
    addPortAdd port to AUTOSAR component, parameter component, composition, or architecture model
    addBSWServiceAdd Basic Software component to AUTOSAR classic architecture model
    connectConnect AUTOSAR architecture components and compositions
    createModelCreate AUTOSAR architecture model for composition or Simulink behavior model for component
    linkToModelLink AUTOSAR architecture component or composition to Simulink implementation model
    exportExport ARXML, ASAP2 files from AUTOSAR Blockset architecture models, and generate component code
    findFind AUTOSAR architecture, composition, component, parameter component and elements
    importFromARXMLImport compositions and components from ARXML files into AUTOSAR architecture model
    validateValidate AUTOSAR properties and mappings for Software Composition block or AUTOSAR architecture model
    layoutArrange AUTOSAR composition or architecture model layout based on heuristics
    destroyRemove and delete AUTOSAR architecture element

    Examples

    collapse all

    Create an architecture model and add a composition.

    archModel = autosar.arch.createModel("VehicleArch");
    sensorGroup = addComposition(archModel,"SensorGroup");

    Add components inside the composition.

    tempSensor = addComponent(sensorGroup,"TempSensor");
    pressureSensor = addComponent(sensorGroup,"PressureSensor");

    Add ports to the composition and internal components, and connect them.

    addPort(tempSensor,"Sender","TempData");
    addPort(pressureSensor,"Sender","PressureData");
    addPort(sensorGroup,"Sender", {"TempData","PressureData"});
    
    connect(sensorGroup,tempSensor,[]);
    connect(sensorGroup,pressureSensor,[]);

    Version History

    Introduced in R2021a