主要内容

通过编程方式配置AUTOSAR体系结构模型

AUTOSAR架构模型提供了资源和帆布发展AUTOSAR成分和组件模型。你开发软件体系结构通过使用图形用户界面,相当于架构建模功能,或两者兼而有之。AUTOSAR Blockset提供了这些功能架构相关的任务。

任务 功能
创建、负载、打开、保存或关闭一个AUTOSAR的架构模型 autosar.arch.createModel
autosar.arch.loadModel
关闭
开放
保存
指定平台AUTOSAR的体系结构模型 setPlatform
添加、连接或删除AUTOSAR组件、组合、和港口 addComponent
addComposition
addPort
连接
摧毁
importFromARXML
布局
找到AUTOSAR元素和修改属性 找到
得到
定义组件行为通过创建或连接模型金宝app®模型 createModel
linkToModel
添加基础软件(BSW正在)服务组件块模拟BSW正在服务调用 addBSWService
出口结构和组件ARXML描述并生成组件代码(需要嵌入式程序员®) 出口
getXmlOptions
setXmlOptions

以编程方式创建和配置架构模型

这个示例脚本显示:

  1. 创建并打开一个AUTOSAR的架构模型。

  2. 集平台的体系结构模型显式经典的平台。

  3. 添加一个成分和组件。

  4. 增加了体系结构、组成和组件端口。

  5. 连接体系结构、组成和组件端口。

  6. 创建和链接模型®组件的实现模型。金宝app

  7. 安排架构模型基于启发式的布局。

  8. 组件和端口属性集。

  9. 删除一个组件。

  10. 搜索元素在不同的层次体系结构的层次模型。

  11. 列表属性值对组成的港口。

运行脚本,从下面的MATLAB®脚本清单复制命令MATLAB®命令窗口。

% configAutosarArchModel.m%%配置AUTOSAR架构模型。%这个脚本创建模型管理员一。基金和Actuator.slx。%重新运行脚本,删除工作目录的模型。%创建和打开AUTOSAR架构模型modelName =“myArchModel”;archModel = autosar.arch.createModel (modelName);% autosar.arch。createModelcreates a classic architecture model by default%使用setPlatform来显式地设置平台setPlatform (archModel“经典”);%添加成分作文= addComposition (archModel,“传感器”);%添加2组件内部传感器组成名称= {“PedalSnsr”,“ThrottleSnsr”};sensorSWCs = addComponent(组成、名称、“类型”,“SensorActuator”);布局(成分);%自动排列组合布局%添加组件高层体系结构模型控制器= addComponent (archModel,“控制器”);致动器= addComponent (archModel,“执行机构”);集(致动器,“类型”,“SensorActuator”);布局(archModel);%增加港口体系结构模型和传感器组成addPort (archModel“接收方”,{“APP_HwIO”,“TPS_HwIO”});addPort (archModel“发送”,“ThrCmd_HwIO”);addPort(组成、“接收方”,{“TPS_HwIO”,“APP_HwIO”});addPort(组成、“发送”,{“APP_Percent”,“TPS_Percent”});%连接组件来实现模型%路径添加到实现模型pedalSnsr =找到(组成、“组件”,“名字”,“PedalSnsr”);linkToModel (pedalSnsr“autosar_tpc_pedal_sensor”);throttleSnsr =找到(组成、“组件”,“名字”,“ThrottleSnsr”);% linkToModel (throttleSnsr autosar_tpc_throttle_sensor1);linkToModel(致动器,“autosar_tpc_actuator”);linkToModel(控制器,“autosar_tpc_controller”)%端口添加到节气门传感器组件和创造行为模型addPort (throttleSnsr“发送”,“TPS_Percent”);addPort (throttleSnsr“接收方”,“TPS_HwIO”);createModel (throttleSnsr);%为节气门传感器实现内部行为。在这里,我们只是调整%数据类型的港口。set_param (“ThrottleSnsr /在总线元素”,“OutDataTypeStr”,“uint16”);set_param (“ThrottleSnsr /公共汽车元素”,“OutDataTypeStr”,“单一”);%连接成分和组件基于匹配端口名称连接(archModel、组合、控制器);连接(archModel、控制器、执行机构);连接(archModel、[]、写作);连接(archModel、致动器、[]);连接(组合、[]pedalSnsr);连接(组合、[]throttleSnsr);连接(组合、pedalSnsr []);连接(组合、throttleSnsr []);连接(archModel、组合、控制器);%连接特定的端口也可以使用APIThrCmd_Percent_pport =找到(控制器,“端口”,“名字”,“ThrCmd_Percent”);ThrCmd_Percent_rport =找到(致动器,“端口”,“名字”,“ThrCmd_Percent”);连接(archModel ThrCmd_Percent_pport ThrCmd_Percent_rport);布局(archModel);%自动排列布局%找到顶级组件体系结构模型components_in_arch_top_level =找到(archModel,“组件”);%找到组件的层次结构components_in_all_hierarchy =找到(archModel,“组件”,“AllLevels”,真正的);%找到港口块组成composition_ports =找到(组成、“端口”);%类型和名称属性值列表组成的港口2 = 1:长度(composition_ports)端口= composition_ports (ii);portName =得到(港口,“名字”);portKind =得到(港口,“类型”);流(“% s % s \ n端口”、portKind portName);结束
接收机端口TPS_HwIO接收机端口APP_HwIO发送端口APP_Percent TPS_Percent发送端口
%模拟体系结构模型sim (modelName);

另请参阅

|||

相关的话题