​​​

     《AUTOSAR_TPS_BSWModuleDescriptionTemplate》。

       其实,这个目录的主目录下有两个文件夹,一个是auxiliary、另一个是standard。我把auxiliary部分的内容大概看了一遍了,想来应该对这部分的阅读会有一些帮助。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_元模型

       1概述

       1.1文档范围这是基本软件模块描述(BSWMDT)模板的文档。

       BSWMD是属于某个BSW工件(BSW模块或BSW集群)的所有信息的正式表示法,以及该工件的实现。这种描述有几种可能的用例,详情见3.1。

       BSWMDT(用于BSWMD的模板)是AUTOSAR中此描述必须使用的标准格式。该模板在UML中表示为整个AUTOSAR元模型的一部分,并且是由该元模型生成的XML模式的一部分。本文档描述了属于此模板的所有元素。这些元素保存在AUTOSR元模型的两个不同包中:

       •包BswModuleTemplate包含BSWMDT专用的所有元素。

       •BSWMDT的某些元素,例如用于描述实施方面和资源消耗,也在软件组件模板(SWCT)中使用。这些元素属于元模型的CommonStructure包,也在本文档中进行了描述。

       为了澄清,请注意元模型的GenericStructure包包含一些基本的基础设施元类和常见模式,如[1]所述。这些元素也在BswModuleTemplate中使用,但有关详细信息,请参阅[1]。

通用结构提供了有关以下方面的详细信息:

       •AUTOSAR顶级结构

       •常用的元类和原语

       •变量处理

       •文档

       本文档面向需要深入了解元模型BSWMDT部分的人员,例如工具开发人员和维护元模型的人员。本指南不适用于必须提供实际BSWMD的BSW开发人员,即必须“填写”模板的BSW开发人员。

       有关本文件总体目标的更多信息,请参阅相关需求文件,参见[2]。

       小结:看起来,这个文档并不适合基础软件的开发人员来看。这样,还是作为一个略读的方式来处理,看的过程中如果有对我有提示作用的部分我会做一个摘录小结。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_c语言_02

       一般的术语表我基本都不去逐个翻译梳理,但是这里涉及到的一个比较基础的术语,也是这个文档的名称关键词需要明确。BSWMD中的D是描述的意思,而BSWMDT中的DT则是描述模板的概念。其他的,倒是没有太多需要注意的。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_c语言_03

       这里有一个我一直以来没有注意到的一点,那就是可以在多个抽象层自由访问的方式不仅仅只有复杂驱动部分,其实库文件也是其中的一种。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_元模型_04

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_元模型_05

     根据这些描述可以看出来,其实这个架构的一些设计的考量其实很多都是框定在了C语言作为开发工具的前提下。或者,至少是针对C语言做了充分的考量。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_元模型_06

       时序事件以及后台事件都是直接由调度器来驱动的,并没有OS以外的资源。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_c语言_07

       内部触发事件以及外部触发事件的主要区分:内部的触发事件是直接由调度器来产生的,而外部的触发事件是来自于另一个模块。

       还有一点,那就是内部触发事件其实是支持队列触发机制的。这个我在非AUTOSAR的OS中是见到过的,倒是没有在我用过的AUTOSAR的OS找到过。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_开发人员_08

       关于模块的可重入性,也有针对模板的相关要求。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_开发人员_09

       终于知道ETAS的OS为什么在各种接口以及名称中一层套一层了。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_元模型_10

       什么事事件呢?简单来说,就是一个调度器不可见但是能够决定一个任务是否运行的一个服务。当然,这里的服务的概念也是源自于AUTOSAR了。

805_AUTOSAR_TPS_BSWModuleDescriptionTemplate1_概述、建模、接口以及行为1_开发人员_11

       基础软件与SWC的数据同步依赖于RTE和调度器,此外还有诸如同步之类的事件。

       这个文档偏离我现在的实操太多了,看得有点痛苦。而且,这里面的缩写以及元素名称信息太多,理解起来也有一定的混乱挑战。这一次的梳理暂且到此,后面的文档梳理还是要换一个路子,慢慢来。