软件在汽车上的功能和范围的快速增长是对汽车工业的新挑战。特别关注的是要解决软件的可靠性和提高软件生产能力,以减轻软件开发中费用的急剧增长。
飞机运输的软件可靠性不断提高。现代交通运输飞机采用线控(by-wire)飞行,具有高度的安全性。当然,它的软件成本模式与汽车上软件开发的成本模式是不同的。
1.构建软件模块
像很少的其他领域一样,软件工程是构建软件模块的工程。汽车软件的反应性(响应)和实时性非常重要。软件必须对周围事件作出评估,并在正确的时间作出反应。
因为软件是非物质的,是用静态手段描述复杂的动态过程直至最后确定细节,所以可以把软件作为工程项目,其性能是可以表达和可检验的。
为清晰说明软件性能,计算机学已开发了一系列的软件模块。在这期间出现软件模块化语言和辅助建立软件模块的工具。
利用状态过渡图可以表示软件系统反应(图8.7-5)。
构建软件模块可以及早确定和检验工程干扰细节与没有歧义的软件功能。软件模块是在软件平台上开发的。
2.MMI
图8.7-5 状态过渡图(www.xing528.com)
汽车上以软件为基础建立的大量新功能要求进行新的设计,以便以合适的方式向驾驶人和用户提供这些新功能。单就大量的这些新功能、难点以及对它们的工作原理的正确了解本身就是一个很大的挑战。
在任务中我们谈起,为存取数据,通过与机器透明的对话向使用者(驾驶人、前排乘员,也为维护)提供以电子技术为基础的一些功能,也谈起人—机接口(见8.6节)。特别是功能范围的扩大带来更多的困难,正如以软件方式出现的各种各样的汽车功能带来的困难一样。
通过软件系统,汽车可以以全新的方式按驾驶人需要行驶,这就是我们常说的“个性化”。但为此还需要为驾驶人设置相应的功能。至今在汽车上用得最多的滑阀、按钮/旋钮、显示仪表等元器件和技术将很快走向它们的尽头。正在探讨新型的操纵(作)方案和显示方案。这些新方案简单、明了,而且可由驾驶人完全操纵汽车上已有的所有功能,并能向驾驶人反馈有关该车行驶状态信息。驾驶人和汽车之间的相互作用(互动)的新型方案组合声信号、语音、视觉和节拍的多种信息方式,构成多媒体人—机互动环境。
值得注意的是,通过软件,人—机接口可以变得灵活和可编程。利用计算机技术的显示仪表,即屏幕和可编程显示器(如“菜单”技术等)可实现在同类汽车上多种显示仪表方案。恰当的设计和利用多种人—机接口是未来诸多挑战中的一个挑战。
3.软件安全保证
汽车软件的很大组合性给软件开发提出很大挑战。通过对软件系统的大量组合分析、交联和由此形成的隐含的逻辑关系可找出许多缺陷(故障)源和难于查明的集成缺陷(故障)。在软件底层结构中的缺陷会引起很大的干扰。特别严重的是出现没有预料到的缺陷常常引起后续故障。这些后续故障除导致软件功能的损害外,也很难诊断出来。
重要的是在软件产品运行前发现故障并排除。为此需要对软件进行考核、检验、测试、试验。在汽车行驶环境(即“场”环境)中自生的软件故障(“短暂故障”)则总是源于硬件故障。软件故障则总是系统的、逻辑的故障,也就是软件开发中的疏忽大意。根据硬件的故障可用有效的方法重构故障公差范围的软件,但这样费用较高。
因为汽车上的这些功能部件(系统)的不断联网,但它们是按不同的组合(积木)原则由不同生产厂家生产、制造的,所以它们在汽车上的集成和与软件的集成能力是一个重要问题,是一种挑战。软件系统必须由供货商完成,并与汽车上其他软件系统有接口。软件系统的接口必须明确定义,以使这些接口在由软件结构给定的集成框架中相互匹配。
为解决前面提到的问题,在未来,要在总软件系统中更加关注和开发汽车软件系统,正如在软件工程中常见的那样,要提早明确定义接口的功能结构和软件结构,在此基础上可得到软件系统的顶层往下设计流程(Top-Down-Vorgehen)。并将已实现的、联网的软件系统嵌入到从顶层往下设计流程中。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。