基于SCADE的嵌入式软件开发

最新更新时间:2014-10-15来源: 互联网关键字:SCADE  嵌入式  软件开发 手机看文章 扫描二维码
随时随地手机看文章

  嵌入式技术是计算机发展的趋势之一,被广泛应用于工业和军事领域。SCADE(高安全性的应用程序开发环境)为嵌入式软件提供了一套基于模型的开发方式。从嵌入式软件的特点入手,对基于模型的嵌入式系统软件开发技术进行了深入剖析,并给出了一个基于SCADE的开发实例。

  1引言

  随着嵌入式应用技术的发展,嵌入式系统被广泛应用于人们生活的各个方面。大量功能强大而价格便宜的通用嵌入式硬件随之出现在市场上。而如何能够在通用硬件平台上,高效的开发出满足安全性与可靠性需要的专用嵌入式软件成为了制约嵌入式技术应用的瓶颈。在计算机领域,如何为软件的工业化大生产创造必要的技术条件和设计模式一直是软件工程研究的首要问题。无论是软件工程领域出现过的计算机辅助软件工程的热潮,还是,基于面向对象技术和组件技术的“装配重用”软件思路,都有一些根本性的问题没有得到解决,因此大规模的“装配”软件生产还处在一个理想阶段。

  随着研究的深入,用模型化。组件化的方法定义并开发软件及其系统的思想引起了人们的兴趣,也提供了一种新的软件工业化大生产的可能性。在这方面,嵌入式软件由于其本身的特殊性走在了通用软件(PC机用软件)的前面。

  2 SCADE软件开发环境简介

  SCADE(Safety-Critical Application Develop-ment Environment)高安全性的应用程序开发环境,是法国Esterel Technologies公司研制的一个用于开发达到欧洲航空业DO一178B标准的嵌入式软件的完整工具包。它针对嵌入式软件的特点,运用了正确构建(Correct by Construction)的概念,提出了一种基于模型的图形化开发方式,覆盖了从需求分析到代码实现的整个软件开发流程。

  SCADE开发环境提供的一系列开发工具,实现了直观的图形化需求建模功能,基于模型的仿真验证和软件测试功能,以及基于模型的标准C代码和开发文档的自动生成功能。其严谨的建模理论和经过高安全性验证的代码生成器KCG,保证了软件需求和代码产品的高度同步。

  SCADE开发环境的出现,使软件设计工作可以集中在需求建模的层面,为基于模型的软件开发方法提供了载体。

  3基于SCADE的嵌入式软件开发理论基础

  根据嵌入式系统的特点,SCADE提出了反应式系统。确定性。同步假设。并发性四个关键概念,从嵌入式系统的本质特征出发,极大的简化了系统设计的考虑,为基于模型的开发方式提供了理论基础。

  3.1反应式系统

  反应式(Reactive system)系统是指在运行过程中,不停的和外部环境交换信息,以外部环境的输入信息为主导,进行特定的计算和输出的嵌人式系统。

  反应式系统的工作方式是一个“输入一计算一输出”的连续循环过程。反应式系统一般还兼具实时性和周期性,广泛应用于工业领域的嵌入式系统大都属于这种系统。反应式系统的工作方式如图1所示。

  

 

  反应式系统的概念,把嵌入式系统简化为一个能不断接收输入,并计算输出的黑盒,为嵌人式系统的需求建模提供了基本模型。

  3.2确定性

  一个系统,如果使用相同的一组输入序列,在相同的时间调度下,其反应情况相同,始终产生相同的一组输出,那么它就是确定的。确定性提高了系统的安全性,是大多数嵌入式软件的重要需求,在航空航天等高科技领域,这也是一个必要条件。‘确定性的要求降低了系统设计的复杂度,简化了系统建模和仿真验证的考虑。SCADE开发环境提供的各种机制确保了系统的确定性,开发者不能引入不确定性。

  3.3同步假设

  同步假设(synchrony hypothesis)是假设反应式系统的处理速度无限快,即系统在一个可以忽略不计的瞬间响应输入,并产生输出。这样,任何两次响应之间都不会重叠,每一次输出都会在下一次输人前完成。

  相对于通用软件的设计,时间是嵌入式系统设计必须考虑的一个因素,而嵌入式软件的运行时间又是与硬件环境息息相关的。为了简化系统设计,SCADE提出了同步假设概念,把物理时间从系统设计中剥离出来。一方面确保了系统的实时性,另一方面也体现了设计的平台无关性。

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

  3.4并发性

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

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

  4基于SCADE的嵌入式软件开发关键技术

  4.1建模机制

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

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

  

 

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

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

  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所示。

  

  下面根据模块功能,对系统模型进行了进一步划分,主要分为以下几个模块:

  (1)飞行状态条件计算模块Condition.其输人为弹体姿态和弹目相对位置信息,以及两个常数参数,输出为三个飞行状态变化的条件。

  (2)飞行状态判断模块Fly-State.其输人为三个状态变化条件变量,输出为三种状态标志。

  (3)导引指令坐标系转换模块Transition.其输入为弹体姿态和惯性系下比例导引指令,输出为弹体系下比例导引指令。

  (4)过载计算模块Acceleration.其输入为三个飞行状态标志,弹体速度。攻角信息,弹体系下的比例导引指令,以及一个常数参数,输出为弹体过载指令。

  (5)过载限幅模块Alimit.其输入为弹体过载指令,输出为限幅后的弹体过载指令。

  其中Condition.Acceleration.Transition和Alimit是功能计算模块,用数据流图建模;Fly-State是状态计算模块,用有限状态机建模。系统模型图如图5所示。

  

 

  图6为飞行状态计算模块Fly-State的模型,其中共包含3个状态,分别为初始状态(Istate),转弯状态(Tstate)和俯冲状态(Astate)。根据三个输入的布尔量条件可以进行状态变化。其中的状态变化都是单向不可反复的,变化方向和线条箭头方向一致。

  

 

  5.4模型验证和算法调试

  完成模型设计后,需要使用SCADE提供的一系列检查验证手段来确保模型的正确性和安全性。对于发现的问题,可以在直观的图形化模型上进行模型修改和参数调试。

  使用模拟仿真工具,可以通过设计各种测试用例来模拟可能出现的实际情况,对模型进行仿真调试。可以从控制算法角度和软件工程角度对模型进行优化,以达到满足设计需求的目的。

  5.5代码集成

  在代码集成阶段,根据实际需要,按照效率优先原则进行了配置并自动生成了标准C代码。然后对使用了SCADE自动生成代码的软件进行仿真,其仿真结果与模型仿真的结果一致,满足设计需求。

  6结束语

  SCADE软件开发环境的出现,提供了一种基于模型的高安全性嵌入式软件解决方案,使嵌入式软件的开发效率大大提高。同时由于使用了基于模型的设计流程和高度自动化的开发进程,研制工作的重心集中在建模层面,把软件设计人员从繁复的编码和验证工作中解放出来,能够把大量的精力投入到算法设计和建模工作中,这对于嵌入式软件的工程开发有着重要的意义。

关键字:SCADE  嵌入式  软件开发 编辑:探路者 引用地址:基于SCADE的嵌入式软件开发

上一篇:超线性功放线性化的设计方案
下一篇:嵌入式系统应用中实现RS485的方向切换

推荐阅读最新更新时间:2023-10-12 22:46

一种小型智能化UPS系统的嵌入式设计方案
引言 该类小型智能化UPS 电源主要应用在通信行业、医疗设备和移动机器人等低电压场合,具备运行可靠、噪音小、能耗低等特点。目前国外多所高校和公司在针对该类UPS 进行研究和试制,并且在小型交流UPS 电源上取得了一些进展。但是国内所进行的相关研究尚处于起步阶段。 不同于多数交流输出的UPS 电源,本文提出的小型UPS 电源是通过控制相应的DC-DC 模块直接获得直流输出,避免了转换过程中的能量损耗。在系统设计上采用了嵌入式设计思想,将主控芯片与外围功能电路融合在同一块电路板中,软硬件协同工作以实现UPS 的智能化管理并大大减小系统的体积。 1 硬件系统 1.1 系统概述 如图1 所示,根据项目需要,设计以110
[电源管理]
一种小型智能化UPS系统的<font color='red'>嵌入式</font>设计方案
单片机和嵌入式系统linux的区别
随着嵌入式行业硬件平台的性能增强,项目需求和功能日益复杂,ARM公司推出的 CORTEX-M3,更是让以往做单片机的工程师在芯片和技术选型面临两难选择,本专题将从芯片价格、整个系统的硬件软件设计及维护的成本等各个方面给您提供一个参考, 并从技术角度分析单片机和带操作系统的系统的软件开发的异同点。 ● 1.单片机与ARM等新处理器的价格比较 ● 2.带操作系统与不带操作系统的软件开发的区别 ● 2.1.驱动开发的区别 ● 2.2.应用程序开发的区别 1. 单片机与ARM等新处理器的价格比较 表1
[单片机]
嵌入式系统的存储测试技术及无线传输应用
引言 存储测试技术 方法是记录在特殊环境下运动物体参数的行之有效的方法。它是先将测试数据存入存储器,待装置回收后通过特定接口与上位机进行通信,还原数据信息。在许多消费类电子产品中,对数据采集存储系统的实时性和功耗提出了更高的要求,不仅要同时满足低功耗和微型化设计,还要实时地反映现场采集数据的变化。这样,就必须对系统的采样速率、功耗等提出更高的要求。随着半导体技术的发展,各种技术的进步使得高速度、低功耗的数据采集系统能够实现。 本文主要使用Philips公司16/32位微控制器LPC2148 作为核心控制元件,通过与nRF24L01 结合使用,实现数据的采集、存储以及发送。 1 系统原理 整个测试系统由模拟适
[测试测量]
<font color='red'>嵌入式</font>系统的存储测试技术及无线传输应用
Entropic获得MIPS32 24Kc 内核授权
MIPS 科技今天宣布 Entropic已获得 MIPS32 24Kc 可合成处理器内核授权,用于新一代宽带和住宅网关应用。 行业分析公司 Infonetics Research 的报告显示,随着服务提供商继续捆绑音频、数据、视频和无线服务以吸引新用户并减少现有用户的流失,到 2010 年每年宽带用户终端设备(CPE)营业额将达到 62 亿美元。 MIPS32 24K 内核系列在最大限度地减少设计时间和产品成本的同时,可在 90 纳米 G 级工艺下提供超过 600 MHz 的性能。24K 处理器内核适用于嵌入式消费应用,包括数字和互动电视、机顶盒和 DVD 播放机。利用 MIPS 科技 Pro 系列内核的 CorExt
[焦点新闻]
基于IPv6的嵌入式视频监视系统的硬件设计
      目前嵌入式视频监视系统已成为国内外视频监视系统应用的主流,但是在IPv4平台下存在地址不足、不能合理分配带宽、安全性能及移动性能差等诸多问题,而新一代IPv6协议不仅能很好地解决以上问题,还具有可以提高视频传输速度和传输质量等多方面的优点。如何使嵌入式监视系统与IPv6技术相结合已经成为当前监视系统研究的一个重要方向 。   嵌入式视频监视系统的实现方式一般有两种:ARM+通用DSP和ARM+专用视频处理芯片 。考虑到基于DSP的解决方案成本太高、开发难度大等特点,本文采用了成本低、开发周期短的第二种方案。 1 系统结构设计   本系统的主要芯片之间通过I2C总线相连接,这样设计不仅方便各主要芯片之间的通信
[嵌入式]
嵌入式系统中电源电压的精确控制应用
概要   该项目的目标是设计一个高效电源系统,其输出电压(VOUT)可以数字调节。为了保证输出电压的精确性,采用数字闭环控制,用于修正失调、漂移和负载变化(最大至600mA)的影响。电路包括输出可调的降压型控制器、ADC与DAC、电压基准以及一个微控制器(MCU)。   在大多数DC-DC转换器中,位于FB引脚上的电阻网络可以调整转换器的输出电压(见图1)。在本文电路中,利用DAC输出电压(VDAC)改变电阻网路的基准电压,达到调整转换器输出(VOUT)的目的。ADC检测输出电压,并将结果送入微处理器。微处理器调整DAC输出,以控制系统输出电压达到预定值。为使电路尽可能简单,预设输出电压通过PC的串行通信口(R
[电源管理]
基于MCS-51的嵌入式Internet接入技术
近年来以单片机(Micro Computer Unit,MCU)为代表的嵌入式系统在工业探测系统、智能仪器、安防系统、智能家电和信息家电领域得到了广泛应用。 如果嵌入式系统能够连接到Internet 上,则用户可以方便、快捷、低廉地通过网络进行远程控制、监测和信息传送。Internet 技术和嵌入式技术的相互融合,不仅为嵌入式系统的设计和开发带来了前所未有的发展空间和机遇,也使得 Internet 应用进入了嵌入式Internet 时代。据专家预测,未来在 Internet 上的新增业务和应用中,将有 45%的增长来自于小型嵌入式系统。因此,嵌入式系统的 Internet 接入技术,将会有极其广阔的应用前景。如何利用单片机接
[单片机]
基于MCS-51的<font color='red'>嵌入式</font>Internet接入技术
JPEG2000中嵌入式块编码的FPGA设计
摘要:为了使JPEG2000能应用到便携产品中,采用了高效存储结构的硬件实现方案,并设计了相应的寄存器组和控制逻辑。仿真结果表明所设计所设计的编码器能够在0.256s内完成对一帧512%26;#215;512的灰度图像的编码。 关键词:基于最优截断的嵌入式编码 JPEG2000 交错存储 随着多媒体市场的迅猛发展,百万像素的数码相机、各种功能强大的彩屏手机等数字消费产品逐渐普及。这些多媒体应用均需要处理高质量、高分辨率的大图像,这对存储介质的容量和传输信道的带宽都提出了新要求。图像压缩的国际标准JPEG已不能满足这些新的要求,而且它在低码率时还存在着方块效率。因此,从1997年开始,JPEG委员会就致力于开发新的静态图像压缩
[半导体设计/制造]
小广播
热门活动
换一批
更多
最新电源管理文章
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved