作者 | 不可说
出品 | 汽车电子与软件
在汽车软件的开发周期中,首先是需要将模糊的概念转化为清晰、可量化的需求列表,明确软件需实现的功能、性能指标、用户界面要求以及安全标准等。随后,进入软件架构设计阶段,这是将需求转化为实际解决方案的过程。软件架构工程师在此阶段扮演核心角色,基于需求分析的结果,结合行业最佳实践、技术趋势及项目约束条件,构思出软件的整体架构。这包括定义系统的层次结构、组件划分、接口定义、数据流及控制流等关键要素。为了确保架构的灵活性与可扩展性,还会考虑模块化设计、服务化架构等先进理念。
在设计过程中,软件架构工程师会利用专业工具和技术手段,如UML图等来辅助表达设计思想。最终,他们会输出详尽的软件架构描述文档,这些文档不仅包含SWC的详细描述信息,如组件功能、接口协议、依赖关系等,还会以多种形式呈现,以满足不同受众的需求。例如,使用Office文档来撰写详细的架构说明书和进行交流展示;利用ARXML(AUTOSAR XML)文件来定义符合AUTOSAR标准的软件架构,便于在汽车行业生态系统中进行集成与验证等。
本文将使用MATLAB完成AUTOSAR CP(Classical Platform)平台下的软件架构中的SWC(Software Component)的搭建。
建模时,对MATLAB版本和工具包有一定的要求。以下是详细的说明:
MATLAB版本要求
MATLAB的版本对于支持AUTOSAR建模的功能至关重要。虽然具体的最低版本要求可能随时间变化,但一般来说,较新的MATLAB版本(如MATLAB 2020及以后版本)通常能够提供更好的支持和更多的功能。为了获得最佳的性能和兼容性,建议使用MATLAB的最新版本或至少是一个相对较新的稳定版本。
工具包要求
对于AUTOSAR CP SWC建模,除了MATLAB的基本安装外,还需要特定的工具箱和插件。以下是一些关键的工具包要求:
Simulink:Simulink是MATLAB的一个附加产品,用于建模、仿真和基于模型的设计。对于AUTOSAR建模,Simulink是必不可少的,因为它提供了图形化的建模环境,可以方便地构建和测试系统模型。
AUTOSAR Blockset(或类似名称的工具包):如果老一点版本的MATLAB标准安装中可能不包含专门的AUTOSAR Blockset,但可以通过MATLAB的附加功能管理器或MATLAB Central File Exchange下载并安装相关的AUTOSAR支持工具包。这些工具包通常提供了特定的AUTOSAR相关块和配置选项,以支持AUTOSAR SWC的建模和代码生成。
Embedded Coder:Embedded Coder是MATLAB的一个产品,用于将Simulink模型和MATLAB函数自动转换为优化的C和C++代码。在AUTOSAR SWC建模中,Embedded Coder能够将模型转换为符合AUTOSAR标准的代码,这对于与AUTOSAR兼容的ECU(Electronic Control Unit,电子控制单元)的部署至关重要。
其他相关工具包:根据具体需求,可能还需要安装其他MATLAB工具包,如Stateflow(用于设计复杂的状态机和流程图)、HDL Coder(用于生成硬件描述语言代码)等。然而,这些工具包对于AUTOSAR CP SWC建模不是必需的,但可能会在某些高级应用场景中提供额外的支持。
综上所述,为了使用MATLAB进行AUTOSAR CP SWC建模,需要确保安装了最新版本的MATLAB、Simulink以及必要的AUTOSAR支持工具包和Embedded Coder。
SWC的设计属于SWE.2软件架构设计的工作,需要接收来自于SWE.1的软件需求分析输出,再着手SWC的设计。这包括SWC的划分、port&interface接口的定义、参数与数据类型等。
假定之前的准备工作均已经完成,“座椅加热”功能的需求与需求分析的结果如下:
主驾座椅加热用户需求Case:
UC 01 : 座椅加热关闭时,手动点击屏幕主驾座椅加热虚拟按键,座椅加热开到2挡;
UC 02 : 座椅加热2挡位时,手动点击屏幕主驾座椅加热虚拟按键,座椅加热开到1挡;
UC 03 : 座椅加热1挡位时,手动点击屏幕主驾座椅加热虚拟按键,座椅加热关闭;
UC 04 : 座椅加热开启时时,且主驾离座时,触发座椅加热关闭。