Author Software Architectures
Software architectures in System Composer™ provide capabilities to author software architecture models composed of software components, ports, and interfaces. Use System Composer to design your software architecture model, simulate your design in the architecture level, and generate code.
Use software architectures to link your Simulink® export-function, rate-based, or JMAAB models to components in your architecture model to simulate and generate code.
Create New Software Architecture Model
The workflow for authoring software architecture models is similar to authoring system architectures. Start with a blank software architecture template to model.
You can create a software architecture programmatically by using the function.
mySoftwareArchitectureDesign is the name of the new
You can also use the provided template in the Simulink start page.
From a Simulink model or a System Composer architecture model, on the Simulation tab, select New , and then select Architecture . Then, select Software Architecture Model.
System Composer opens a new empty software architecture model. Observe the icon on the upper left corner that distinguishes the empty model from a system architecture.
When you model software architectures, you can:
Use model building and visualization tools provided by System Composer such as components, connections, and ports. For more information, see Compose Architecture Visually.
Define interfaces. For more information, see Create Interfaces.
Create custom views. For more information, see Create Architecture Views Interactively.
Build a Simple Software Architecture Model
Drag an empty component to the
Link this simple Simulink Export-Function model,
export_model_software_architectureto your component by right-clicking the component and selecting Link to Model. For more information about building this Simulink model, see Create an Export-Function Model.
Connect component input port and output ports to architecture input ports and output ports.
In this example, you start from a blank template and create a simple software architecture model. To learn how to simulate a software architecture model and generate code, see Simulate and Deploy Software Architectures.
Import and Export Software Architectures
You can import a software architecture model using the
archModel = systemcomposer.importModel(modelName,importStruct)
domain field of
creates a new software architecture based on the structure of the MATLAB® tables.
To export a System Composer software architecture model, use the
exportedSet = systemcomposer.exportModel(modelName)
exportModel function returns a structure containing
MATLAB tables that contains
domain field with value
indicate that the exported architecture is a software architecture.
For more information on importing and exporting software architectures with functions, see Import and Export Functions of Software Architectures.
Create Software Architecture from Architecture Model Component
You can also create a software architecture model from an existing component in a System Composer architecture model.
To create a software architecture model from a component:
Select an existing component from your architecture model. In this example, we select
To create a software architecture model from
Component2, you can use any of these three methods:
Right-click the component and select
Create Software Architecture Model.
Select the component and, on the toolstrip, click Create Software Architecture Model.
To create a software architecture programmatically, use the
Observe the software architecture model icon in the upper left corner. The new software architecture contains all elements from the component, including previously applied stereotypes.
The following elements are not supported if you create a software architecture from an existing component:
A reference component that references a system architecture.
A component with Stateflow® chart behavior.
Adapter blocks with applied interface conversions. Interface Adapter conversions are removed when you create a software architecture from an existing component.