新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于SCADE的嵌入式软件开发

基于SCADE的嵌入式软件开发

作者:时间:2014-02-12来源:网络收藏

同时,为了考虑系统的运算时间问题,通过基本指令步长将实际的物理时间离散成指令周期时间,从而产生了逻辑时间。这样,就可以使用逻辑时间来代替物理时间,给出运算时间的参考值。

3.4并发性

并发性概念认为系统所有输入都是并发的,系统运算模块按照数据流动执行,而且根据,所有模块的运行都是在可以忽略不计的时间内完成的。其中,没有输入输出关系的模块都是并发执行的,有输入输出关系的模块是按照输入输出关系顺序执行的。

并发性概念进一步简化了系统设计的复杂度,也为系统仿真提供了一种简化的“运行”方式。

4基于开发关键技术

4.1建模机制

基于模型的开发流程,其基础就是模型描述问题,也就是寻找一种合适的形式来描述系统。

根据的特点,可以把其划分为接口和功能模块两部分,功能模块部分由连续控制部分与状态逻辑部分组成,其输人输出端分别为传感器和执行器。的一般结构如图2所示。

本文引用地址:http://www.eepw.com.cn/article/256973.htm



针对这种划分,提供了两套图形化的建模机制:数据流图和有限状态机。对应嵌入式软件结构的划分,数据流图模型可以用来表示连续控制部分,主要包括传感器采样。信号处理。复杂的数学逻辑计算。实现各种算法等功能;有限状态机模型可以用来表示状态逻辑部分,主要包括各种系统状态的迁移和工作模式的变化等功能。

这是一种已被证实为有效并广泛使用的嵌入式软件建模方式之一,能够简单有效的描述嵌入式系统。

4.2需求建模

一个复杂的嵌入式系统的需求建模过程,是一项系统的设计工作,一般有自顶向下和自底向上两种设计方式:

自顶向下的设计方式是一种从抽象到具体的过程。它首先需要根据系统的接口需求,建立系统的黑盒模型;然后根据系统的功能需求,对系统进行模块划分,并层层细化,直至最低层的功能单元;最后是功能单元的实现工作。

自底向上的设计方式是一种从具体到抽象的过程。它根据系统的功能需求,首先实现的是底层的各个功能模块,然后根据各模块之间的接口定义,层层组合,最后形成整个系统模型。

这两种设计方式在实际使用中各有优劣,可以根据具体需要组合使用。

同时,SCADE的建模方式也可以被认为是一种基于组件的开发方式。一个功能独立,接口明确构功能算法模型就类似于一个封装好的组件,可以直接通过接口调用。而SCADE软件开发环境的高安全性限制和平台无关性,保证了模型的通用性和重用价值。这样,基于成熟算法模型的封装与重用,可以使软件开发变成模型组件的“装配”,极大的提高软件生产效率,也减少了引人错误的可能。

4.3模型验证手段

基于严密的建模理论,SCADE提供了一系列基于模型的验证手段,使模型检查。系统调试和仿真验证工作都可以在模型层面上完成。其中主要有以下几项:

(1)静态检查,检查模型设计是否有静态语意。语法错误;(2)模拟仿真,根据算法设计测试用例,通过仿真器模拟接口输入输出,直接“执行”模型来实现仿真的功能;(3)形式验证,根据需求设计的安全特性,通过尝试在逻辑上寻找反例来检查模型的安全性;(4)系统原型仿真,通过与其他设计工具的桥接,可以实现系统与模拟外部环境模型的连接运行,方便测试和需求验证。

对于一个系统模型的验证工作,一般是按照自底向上的顺序进行的。首先要对底层功能模块进行验证,由于其结构和接口最为简单,所以最易于调试。在所有组成模块都经过充分验证的基础上,可以继续进行上一层模型的验证工作,并一步步的递推至最顶层的系统模型。

4.4代码自动生成

SCADE基于严格的数学理论和一套形式化方法,能够确保其代码和模型的完全一致,并满足一系列的安全性特征,是完全面向工程的产品代码。

SCADE的代码生成过程提供了多种设置以满足各种需求,需要根据实际使用需要进行配置,一般情况下其产品可以直接嵌人到产品中去而不需要做任何修改。

5开发实例

依据上述开发技术,实例构建某型号制导炸弹飞控软件的制导控制模块,来实践基于模型的嵌人式软件开发流程。

5.1开发流程

基于SCADE的嵌入式软件开发流程,主要工作集中在建模层面,其流程如图3所示。



5.2需求分析软件需求规格描述如下:

(1)需要实现的功能:此模块为计算功能模块,主要根据惯性系下比例导引指令。弹目相对位置和弹体姿态计算弹体需要实现的过载指令。

(2)输入:惯性系下比例导引指令。弹目相对位置。炸弹姿态。

(3)输出:弹体导引指令。

5.3需求建模

需求建模可以分为概要设计阶段和详细设计阶段。概要设计阶段的主要工作是建立系统模型和模块分层细化;详细设计阶段的主要工作是完成具体模块设计。

在这个例子中,根据算法所要实现的功能首先定义了整个系统的输入输出变量,然后建立系统的黑盒模型,如图4所示。



评论


相关推荐

技术专区

关闭