connect

Соедините компоненты архитектуры 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(archModel,[],comp2) модель архитектуры подключений корневые входные порты к входным портам компонента или состава comp2 на основе имен соответствующего порта.

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

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

Примеры

свернуть все

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

  1. Добавьте состав под названием Sensors.

  2. В верхнем уровне модели добавьте компонент приложения под названием Controller и компонент привода датчика под названием Actuator.

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

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

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

  6. Соедините состав и компоненты на основе имен соответствующего порта.

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

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

% 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');

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

% Connect specified architecture ports to specified composition and component ports
connect(archModel,archModel.Ports(1),composition.Ports(1));
% Instead of connect(archModel,archModel.Ports(2),composition.Ports(2)), use find
connect(archModel,...
    find(archModel,'Port','Name','APP_Hw'),...
    find(composition,'Port','Name','APP_Hw'));
connect(archModel,actuator.Ports(2),archModel.Ports(3));

layout(archModel);  % Auto-arrange layout

Входные параметры

свернуть все

Модель архитектуры AUTOSAR, в которой можно соединить порты. Аргумент является указателем модели, возвращенным предыдущим вызовом 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