微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于SCADE的嵌入式软件开发方法研究

基于SCADE的嵌入式软件开发方法研究

时间:09-12 来源:互联网 点击:

要素,软件的设计模式直接决定了软件的安全和可靠性。本文研究了高安全性应用程序开发环境 -SCADE的特点和应用,介绍了一种基于该开发环境的软件开发平台方案。大量的工程的应用也表明该方案有助于提高嵌入式软件的开发质量,缩短研制周期,满足软件研制需求。

关键词:SCADE;嵌入式软件;建模;模拟仿真;形式验证

软件的安全和可靠性是衡量软件质量最重要的指标和软件开发的最终目标。较之普通软件领域,在高安全性的嵌入式开发领域如轨道交通,航空,国防等,软件因其任务特点,更需要保证高可靠性。然而,何谓“高可靠性软件”、如何开发“高可靠性软件”一直是困扰系统开发人员的“瓶颈”问题。诚然,软件的设计模式直接决定了软件的安全和可靠性。文中介绍了一种基于模型的可靠性软件开发平台方案。大量的工程应用也表明该方法是切实有效的。

1 嵌入式软件开发现状

何谓“高可靠性软件”?1983年美国IEEE计算机学会软件工程技术委员会将软件可靠性定义如下:在规定的条件下,在规定的时间内,软件不引起系统失效的概率。在规定的时间周期内和条件下,程序执行要求的功能的能力。这个标准随后经美国标准化研究院批准作为美国的国家标准,1989年我国国标GB/T- 11457采用了这个定义。

那么,如何开发“高可靠性软件”?软件可靠性工程的任务是力争在软件生命周期过程中最大限度地减少软件产品中的缺陷。而减少软件缺陷必须在全面周密的考虑系统在各个不同阶段、不同状态下,保证软件和需求的一致性。

1.1 现有的软件开发方法

目前,大多数嵌入式软件项目都采用“以手工编码和以代码为中心”瀑布模型作为规范化开发的基础。该种开发方式以代码开发为中心,需求分析、软件设计为软件编码做准备,代码编写完成后进行单元测试。长期以来,代码编写一直是开发过程的主要阶段,占用了大量的时间和人力。随着人们对软件质量的重视,单元测试在开发过程中的地位日益重要,在目前的开发流程中,越来越多的力量投入到代码的单元测试中。

基于代码开发方式的缺点非常明显:

1)开发效率低下

由于代码的抽象程度高,不直观,与软件需求完全脱节,因此开发人员不得不花大量的时间在技术细节上,代码的修改也很耗时。

2)质量没有保证

由于软件代码由程序员手工编写,程序员的能力、态度及状态制约了软件的质量。且随着软件规模、复杂度的不断增加,团队开发情况的出现,代码集成也变得越来越难。

出现这些缺点的主要原因在于,在基于代码开发方式下,开发工作的早期(需求分析、软件设计)完全依赖于人工工作,其成果以有歧义的自然语言或图表方式描述,无法进行有效的交流和验证,从而成为错误引入的重灾区;而当具有动态行为的代码出现后,对代码的测试是一种事后监督的、费时费力的做法,只能尽可能地发现错误,而无法有效地避免或者是排除错误。

1.2 “基于模型”的开发方法

随着人们对软件认识的逐渐加深及实践中的探索,模型取代代码成为了软件开发流程的中心。直观的模型符号被用于需求分析及以软件设计过程,表达分析人员对需求的理解及细化。由于模型远比程序语言的抽象程度低,更易于理解和交流,减少了需求分析和软件设计过程中错误引入的机率,尤为重要的是,模型还可用于模拟仿真,表达其动态特性,从而使开发人员在开发的早期能确定性地发现并排除错误。

一般来说,基于模型的开发方式具有以下特征:

1)形式化的图形符号

直观易懂的图形符号是模型的主要特征,也是模型优于代码的主要原因。借助于图形化的符号组成的模型,阅读者不仅能快速获取模型所表达的含义,而且不会因知识背景的不同产生歧义。

2)模型可运行

可运行的模型为开发人员了解模型的动态行为提供了方便,可以验证设计与需求是否一致。

2 “基于模型”的开发工具

2.1 什么是“基于模型”的开发工具?

所谓“基于模型”,是以一种形式化的模型方式描述一个系统或是一个子系统。一个模型可以是数学意义上的,由一系列关于系统的声明构成;也可以是构架意义上的(又称作可执行的),用来描述一个系统对系统外激励的响应情况。

随着计算机技术的迅猛发展和软件工程自动化的不断发展,“基于模型”的开发工具不断涌现,这类工具的普遍特点是通过形式化的建模方式实现需求、模型可以直接进行模拟、并且可以直接将模型转化为源代码。

2.2 “基于模型”开发工具的比较

基于模型的开发工具有很多,在嵌入式软件开发领

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top