名称冲突的原因
在AUTOSAR系统的高度分布式开发中,存在一定的风险,即在不同开发工件中使用的符号名称不是唯一的,因此在应用软件工具时可能发生名称冲突。
通过ARPackages命名空间
在AUTOSAR系统的“上游”规范,软件组件,基本软件模块或通过AUTOSAR XML工件的配置参数中,可以通过正确使用ARPackage来广泛避免这种风险,因为它们会设置名称空间并且可能会嵌套(另请参见Autosar一般工件)。在这里,建议遵循与AUTOSAR用于其自身已发布工件的类似规则。
但是,AUTOSAR XML工件中指定的某些符号需要在以后的处理步骤(“下游”)中转移到其他开发工件,并且会在例如作为C代码中的符号,文件名,校准工具或文本文档中显示的名称。在这里,我们一般有两个命名冲突的原因(也可能同时出现):
“下游”工件中名称冲突的原因
• 不协调的共同开发
由于一个编译单元中C语言的全局名称空间,如果集成了由不同方开发的,不协调符号定义的源代码,则名称冲突的风险就很高。
头文件的名称或链接器可见的符号也可能发生这种情况。
在AUTOSAR中,软件组件之间以及(在某种程度上)基本软件模块之间的编程语言接口仅限于某些模式,并且是从ARXML生成的,因此,协调工作仅限于ARXML中相关符号的正确定义。
在某些情况下,ARElement的shortName