Чтобы создать модель System Composer™, можно импортировать информацию о компонентах, портах и связях в предопределенном формате с помощью объектов таблицы MATLAB®. Можно расширить эти таблицы и добавить, что информация как прикладные стереотипы, значения свойств, соединила модели - ссылки, различные компоненты, интерфейсы и ссылки требования.
Точно так же можно экспортировать информацию о компонентах, иерархии компонентов, порты на компонентах, связях между компонентами, соединили модели - ссылки, варианты, стереотипы на элементах, интерфейсах и ссылках требования.
Минимальная необходимая структура для модели System Composer состоит из этих наборов информации:
Таблица Components
Таблица Ports
Таблица Connections
Чтобы импортировать дополнительные элементы, необходимо добавить столбцы в таблицы и добавить определенные значения для этих элементов.
Информация о компонентах передается как значения в таблице MATLAB против предопределенных имен столбцов, где:
Name имя компонента.
ID пользовательский ID, используемый, чтобы сопоставить дочерние компоненты и добавить порты в компоненты.
ParentID родительский ID компонента.
Например, Component_1_1 и Component_1_2 дочерние элементы Component_1.
| Имя | ID | ParentID |
|---|---|---|
root | 0 | |
Component_1 | 1 | 0 |
Component_1_1 | 2 | 1 |
Component_1_2 | 3 | 1 |
Component_2 | 4 | 0 |
Информация о портах передается как значения в таблице MATLAB против предопределенных имен столбцов, где:
Name имя порта.
Direction направление портов ввода или вывода.
ID пользовательский порт ID, используемый, чтобы сопоставить порты с подключениями порта.
CompID ID компонента, к которому добавляется порт. Это - компонент, переданный в таблице компонентов.
| Имя | Направление | ID | CompID |
|---|---|---|---|
Port1 | Output | 1 | 1 |
Port2 | Input | 2 | 4 |
Port1_1 | Output | 3 | 2 |
Port1_2 | Input | 4 | 3 |
Информация о связях передается как значения в таблице MATLAB против предопределенных имен столбцов, где:
Name имя подключения.
ID ID связи, используемый, чтобы проверять, что связи правильно создаются во время процесса импорта.
SourcePortID ID исходного порта.
DestPortID ID целевого порта.
| Имя | ID | SourcePortID | DestPortID |
|---|---|---|---|
Conn1 | 1 | 1 | 2 |
Conn2 | 2 | 3 | 4 |
Импортируйте базовую архитектуру из таблиц, составленных выше в System Composer от командного окна MATLAB.
systemcomposer.importModel('importedModel',components,ports,connections)Модель базовой архитектуры открывается.

Совет
Таблицы не включают информацию о визуальной разметке модели. Можно расположить компоненты вручную или использовать Architecture> Arrange> Arrange Automatically.
Можно импортировать другие элементы модели в таблицы базовой структуры.
Чтобы задать интерфейсы, добавьте интерфейсные имена в ports таблица, чтобы сопоставить порты к соответствующему portInterfaces таблица. Составьте таблицу, похожую на components, ports, и connections. Информация как интерфейсное имя, сопоставленное имя элемента наряду с типом данных, размерностями, модулями, сложностью и минимальными и максимальными значениями передается importModel функция в формате таблицы, показанном ниже.
| Имя | Родительский элемент | Тип данных | Размерности | Модули | Сложность | Минимум | Максимум |
|---|---|---|---|---|---|---|---|
interface1 | |||||||
elem1 | interface1 | interface3 | 1 | "" | real | "[]" | "[]" |
interface2 | 1 | 1 | "" | real | "[]" | "[]" | |
elem2 | interface1 | 1 | 1 | "" | real | "[]" | "[]" |
Примечание
Анонимные интерфейсы не могут быть типом данных элементов.
Чтобы сопоставить добавленный интерфейс с портами, добавьте столбец InterfaceName в ports таблица, чтобы задать имя интерфейса, который будет соединен. Например, interface1 сопоставлен с Port1 как показано ниже.
| Имя | Направление | ID | CompID | 'interfaceName' |
|---|---|---|---|---|
Port1 | Output | 1 | 1 | interface1 |
Port2 | Input | 2 | 4 | interface2 |
Port1_1 | Output | 3 | 2 | "" |
Port1_2 | Input | 4 | 3 | interface1 |
Можно добавить различные компоненты точно так же, как любой другой компонент в components таблица, кроме вас задают имя активного варианта. Добавьте выбор как дочерние компоненты к различным компонентам. Задайте варианты как значения строки в VariantControl столбец. Можно ввести выражения в VariantCondition столбец.
Следующий пример показывает, как добавить различный VarComp компонента с выбором Choice1 и Choice2 и набор Choice2 как активный выбор.
| Имя | ID | ParentID | ReferenceModelName | ComponentType | ActiveChoice | VariantControl | VariantCondition | StereotypeName |
|---|---|---|---|---|---|---|---|---|
root | 0 | |||||||
Component1 | C1 | 0 | ||||||
VarComp | V2 | 0 | Variant | Choice2 | ||||
Choice1 | C6 | V2 | petrol | |||||
Choice2 | C7 | V2 | diesel | |||||
Component3 | C3 | 0 | ||||||
Component1_1 | C4 | C1 | ||||||
Component1_2 | C5 | C1 |
Передайте модифицированный components таблица наряду с портом и таблицы связей к importModel функция.
Чтобы применить стереотипы на компоненты, порты и связи, добавляют StereotypeNames столбец к components таблица. Чтобы установить свойства для стереотипов, добавьте столбец с именем, заданным с помощью имени профиля, стереотипируйте имя и имя свойства. Например, назовите столбец UAVComponent_OnboardElement_Mass для UAVComponent профилируйте, OnBoardElement стереотипируйте, и Mass свойство.
Вы устанавливаете значения свойств в формате value{units}. Модули и значения заполняются от значений по умолчанию, заданных в загруженном файле профиля.
| Имя | ID | ParentID | StereotypeNames | UAVComponent_OnboardElement_Mass | AVComponent_OnboardElement_Power |
|---|---|---|---|---|---|
root | 0 | ||||
Component_1 | 1 | 0 | UAVComponent.OnboardElement | 0.93{kg} | 0.65{mW} |
Component_1_1 | 2 | 1 | |||
Component_1_2 | 3 | 1 | UAVComponent.OnboardElement | 0.93{kg} | "" |
Component_2 | 4 | 0 |
Чтобы присвоить ссылки требования на модель, добавьте requirementLinks таблица с этими необходимыми столбцами:
Label имя требования.
SourceID элемент архитектуры, к которому присоединяется требование.
DestinationType то, как требования сохранены.
DestinationID то, где требование расположено.
Type тип требования.
| Метка | SourceID | DestinationType | DestinationID | Ввод |
|---|---|---|---|---|
rset#1 | components:1 | linktype_rmi_slreq | C:\Temp\rset.slreqx#1 | Implement |
rset#2 | components:0 | linktype_rmi_slreq | C:\Temp\rset.slreqx#2 | Implement |
rset#3 | ports:1 | linktype_rmi_slreq | C:\Temp\rset.slreqx#3 | Implement |
rset#4 | ports:3 | linktype_rmi_slreq | C:\Temp\rset.slreqx#4 | Implement |
В connections таблица, можно указать несколько интерфейсных элементов сигнала как исходный элемент или целевой элемент. Связи могут быть сформированы от корневой архитектуры до порта компонента от порта компонента до корневой архитектуры, или между двумя корневыми портами архитектуры той же архитектуры.

Интерфейсный элемент mobile с вложенным элементом elem исходный элемент для связи между портом архитектуры и портом компонента. Вложенный элемент mobile.alt целевой элемент для связи между портом архитектуры и портом компонента. Интерфейсный элемент mobile и вложенный элемент mobile.alt исходные элементы для связи между двумя портами архитектуры той же архитектуры.
| Имя | ID | SourcePortID | DestPortID | SourceElement | DestinationElement |
RootToComp1 | 1 | 5 | 4 | mobile.elem | |
RootToComp2 | 2 | 5 | 1 | mobile.alt | |
Comp1ToRoot | 3 | 2 | 6 | interface | |
Comp2ToRoot | 4 | 3 | 6 | mobile.alt | |
RootToRoot | 5 | 5 | 6 | mobile,mobile.alt |
Чтобы экспортировать модель, передайте имя модели и в качестве аргумента к exportModel функция. Функция возвращает структуру, содержащую четыре таблицы components, ports, connections, portInterfaces, и requirementLinks.
>> exportedSet = systemcomposer.exportModel(modelName)
Можно экспортировать набор в таблицы MATLAB и затем преобразовать те таблицы во внешние форматы файлов, включая Microsoft® Excel®, базы данных или XMI.
