exponenta event banner

соединиться

Подключение компонентов и композиций архитектуры AUTOSAR

Описание

пример

connectors = connect(archModel,comp1,comp2) соединяет выходные порты компонента или композиции comp1 к входным портам компонента или композиции comp2, на основе соответствующих имен портов. archModel аргумент - дескриптор модели, возвращенный предыдущим вызовом autosar.arch.createModel или autosar.arch.loadModel. comp1 и comp2 аргументы - это дескрипторы компонента или композиции, возвращенные предыдущими вызовами addComponent, addComposition, или find. connectors выходной аргумент возвращает один или несколько дескрипторов соединителя, которые являются autosar.arch.Connector объекты.

connectors = connect(archCM,[],comp2) подключает корневые входные порты родительской модели структуры или архитектуры archCM к портам ввода дочернего компонента или композиции comp2, на основе соответствующих имен портов.

connectors = connect(archCM,comp1,[]) соединяет выходные порты дочернего компонента или композиции comp1 к корневым портам вывода родительской модели структуры или архитектуры archCM, на основе соответствующих имен портов.

connectors = connect(archModel,port1,port2) соединяет порт архитектуры компонента, композиции или корня port1 к порту архитектуры компонента, композиции или корня port2. port1 и port2 аргументы - это дескрипторы портов, возвращенные предыдущими вызовами addPort или find.

Примеры

свернуть все

В модели архитектуры AUTOSAR:

  1. На верхнем уровне модели добавьте композицию, компонент приложения и компонент датчика-привода.

  2. Для модели архитектуры добавьте два порта приемника (ввода) и порт отправителя (вывода). Порты отображаются на границе модели архитектуры.

  3. Для блока компоновки добавьте два порта получателя и два порта отправителя. Имена портов приемника компоновки соответствуют именам портов приемника модели архитектуры, к которым они подключаются.

  4. Для блоков компонентов добавьте порты получателя и отправителя. Имена порта получателя и порта отправителя соответствуют именам портов модели компонента, композиции или архитектуры, к которым они подключены.

  5. На верхнем уровне модели соедините композицию и компоненты на основе соответствующих имен портов.

  6. Подключите корневые порты архитектуры к портам состава и компонентов. Вместо того чтобы полагаться на совпадающие имена портов для установления соединений, используйте дескрипторы портов для определения определенной архитектуры, состава и портов компонентов.

  7. Внутри Sensors состав, добавить компоненты сенсор-привод PedalSnsr и ThrottleSnsr.

  8. Для блоков компонентов добавьте порты получателя и отправителя. Имена портов получателя и отправителя компонентов совпадают с именами корневых портов композиции, к которым они подключены.

  9. Подключите Sensors преобразование корневых портов в порты компонентов на основе соответствующих имен портов.

% Create AUTOSAR architecture model
modelName = 'myArchModel';
archModel = autosar.arch.createModel(modelName);

% Add a composition
composition = addComposition(archModel,'Sensors');

% Add components at architecture model top level
addComponent(archModel,'Controller1');
actuator = addComponent(archModel,'Actuator');
set(actuator,'Kind','SensorActuator');

% Add architecture ports
addPort(archModel,'Receiver',{'TPS_Hw','APP_Hw'});
addPort(archModel,'Sender','ThrCmd_Hw');

% Add composition ports
addPort(composition,'Receiver',{'TPS_Hw','APP_Hw'});
addPort(composition,'Sender',{'TPS_Perc','APP_Perc'});

% Add component ports
controller = find(archModel,'Component','Name','Controller1');
addPort(controller,'Receiver',{'TPS_Perc','APP_Perc'});
addPort(controller,'Sender','ThrCmd_Perc');
addPort(actuator,'Receiver','ThrCmd_Perc');
addPort(actuator,'Sender','ThrCmd_Hw');

% At top level, connect composition and components based on matching port names
connect(archModel,composition,controller);
connect(archModel,controller,actuator);

% Connect specified arch root ports to specified composition and component ports
connect(archModel,archModel.Ports(1),composition.Ports(1));
% Use find to construct port specifications
connect(archModel,...
    find(archModel,'Port','Name','APP_Hw'),...
    find(composition,'Port','Name','APP_Hw'));
connect(archModel,actuator.Ports(2),archModel.Ports(3));
% ALTERNATIVELY, connect architecture root ports based on matching port names
% connect(archModel,[],composition);
% connect(archModel,actuator,[]);

layout(archModel);  % Auto-arrange architecture model layout

% Add 2 components inside Sensors composition
names = {'PedalSnsr','ThrottleSnsr'};
sensorSWCs = addComponent(composition,names,'Kind','SensorActuator');

% Add component ports inside Sensors
pSnsr = find(composition,'Component','Name','PedalSnsr');
tSnsr = find(composition,'Component','Name','ThrottleSnsr');
addPort(pSnsr,'Receiver','APP_Hw');
addPort(pSnsr,'Sender','APP_Perc');
addPort(tSnsr,'Receiver','TPS_Hw');
addPort(tSnsr,'Sender','TPS_Perc');

% Connect composition root ports to component ports based on matching port names 
connect(composition,[],pSnsr);
connect(composition,pSnsr,[]);
connect(composition,[],tSnsr);
connect(composition,tSnsr,[]);

layout(composition);  % Auto-arrange composition layout

Входные аргументы

свернуть все

Модель архитектуры AUTOSAR для подключения портов. Аргумент является дескриптором модели, возвращенным предыдущим вызовом autosar.arch.createModel или autosar.arch.loadModel.

Пример: archModel

Компоновка или архитектурная модель AUTOSAR, в которой можно соединять родительские и дочерние порты на основе соответствующих имен портов. Аргумент представляет собой дескриптор модели композиции или архитектуры, возвращенный предыдущим вызовом addComposition, autosar.arch.createModel, или autosar.arch.loadModel.

Пример: archModel

Компонент или композиция для подключения выходных портов на основе соответствующих имен портов. Аргумент является компонентом или дескриптором композиции, возвращенным предыдущим вызовом addComponent, addComposition, или find.

Пример: composition

Компонент или композиция для подключения входных портов на основе соответствующих имен портов. Аргумент является компонентом или дескриптором композиции, возвращенным предыдущим вызовом addComponent, addComposition, или find.

Пример: controller

Компонент, композиция или порт корневой архитектуры для подключения к другому указанному порту. Аргумент является дескриптором порта, возвращенным предыдущим вызовом addPort или find.

Пример: archModel.Ports(1)

Компонент, композиция или порт корневой архитектуры для подключения к другому указанному порту. Аргумент является дескриптором порта, возвращенным предыдущим вызовом addPort или find.

Пример: composition.Ports(1)

Выходные аргументы

свернуть все

Возвращает один или несколько дескрипторов соединителя AUTOSAR, которые являются autosar.arch.Connector объекты со свойствами соединителя.

Представлен в R2020a