AADL的软件可靠性验证
- 格式:pdf
- 大小:1.06 MB
- 文档页数:5
AADL:嵌入式实时系统体系结构设计与分析语言综述摘要:结构分析和设计语言(architecture analysis and design language)是嵌入式实时系统的一种体系结构描述语言标准,广泛应用于航空宇航工业中对安全关键应用系统模型的建模。
本文首先归纳了AADL的发展历程及其主要建模元素。
其次,介绍了模型检测方法的研究和应用,并就航电系统与模型检测方法做了研究和分析。
最后,探讨了AADL 模型转化为形式化模型,并用模型检测方法进行验证和分析的方法和可行性。
关键字嵌入式实时系统AADL 建模形式化方法模型验证1.引言嵌入式实时系统广泛应用于航空航天、汽车控制、机器人、等安全关键系统领域。
由于计算精度、实时响应的要求的提高,系统变得越来越复杂,如何设计与实现具有高可靠性、高质量的复杂嵌入式实时系统,同时有效的控制开发的效率和成本,成为学术界和工业界共同的话题。
模型驱动开发方法(model driven develop- ment,简称MDD)能够在早期阶段对系统进行分析与验证,有助于保证系统的质量属性,并有效控制开发时间与成本。
而质量属性是由系统体系结构决定的[1]。
因此,基于体系结构模型驱动(model-based architecture-driven)的设计与开发方法成为复杂嵌入式系统领域的重要研究内容。
其中一个重要的方面就是研究合适的体系结构描述语言。
常用的体系结构描述语言主要有UML(unifi-ed modeling language) 和ADL (architecture description language)。
UML侧重描述系统的软件体系结构,为了支持嵌入式实时系统的非功能属性分析,OMG(Object Management Group)先后定义了UML Profile for SPT(schedulability,perfor-mance,and time,简称SPT)[2],UML Profile for Qos/FT(quality of service and fault tolerance,简称Qos/FT)[3]以及UML Profile MARTE(modeling and analysis of real-time and embedded sys-tems)[4],它们继承了UML 的多模型多分析方法,因此模型之间可能存在不一致性;而C2,Darwin,Wright,Aesop,Unicon,Rapide 等ADL都是通用领域的软件体系结构描述语言,难以满足软硬件协同设计、实时响应、资源受限等特定需求;MetaH 是面向航空电子系统的ADL,可以用于嵌入式实时系统体系结构描述与分析,但MetaH 在支持运行时体系结构描述、可扩展、与其他ADL 兼容以及复杂系统设计等方面有所欠缺。
基于 SCPN 的软件可靠性建模与分析潘峰【摘要】针对软件动态行为复杂难以建模,且可靠性难以评估的问题,提出一种基于随机有色 Petri 网 SCPN(Stochastic Colored Petri Net)的软件可靠性建模与分析方法。
在建立软件可靠性分析的元结构模型的基础上,分别建立软件可靠性分析的串联结构模型和并联结构模型,有效地描述了软件的静态结构和动态行为。
以某工厂采购系统为目标系统,以 TimeNET4.0为平台,建立其基于 SCPN 的软件可靠性分析模型,仿真验证了所提方法的正确性和有效性。
该方法可以为软件可靠性的早期评估提供理论指导。
%In view of the problems that the dynamic behaviour of software is complicated and hard to model,and its reliabilityis also difficult to evaluate,in this paper we present a new modelling and analysis method of software reliability which is based on stochastic coloured Petri net (SCPN).On the basis of building the meta-structure model of software reliability analysis,we build separately the software reliability analysis models with series structure and parallel structure,they effectively describe the static structure and dynamic behaviour of ing the purchasing system in a certain factory as the objective system,and the TimeNET4.0 as the platform,we build the SCPN-based reliability analysis model for it,and verify through the simulation the validity and effectiveness of the proposed method.The method in this paper can provide theoretical guidance for early evaluation of software reliability.【期刊名称】《计算机应用与软件》【年(卷),期】2015(000)003【总页数】5页(P7-10,30)【关键词】随机有色 Petri网;软件;可靠性;建模【作者】潘峰【作者单位】贵州民族大学模式识别与智能系统省级重点实验室贵州贵阳550025; 贵州民族大学计算机与信息工程学院贵州贵阳 550025【正文语种】中文【中图分类】TP391Pan Feng异常处理机制已经成为软件设计过程中不可或缺的重要组成部分,然而异常处理技术在过去的很长一段时间里并没有引起研究者和工程技术人员的重视,往往在软件设计阶段的后期,甚至是程序编写阶段才考虑异常处理的问题,这样导致软件在运行过程中经常报错[1]。
基于AADL 的模型设计与仿真分析技术AADL (Architecture Analysis and Design language )是一种应用于嵌入式系统领域的体系结构建模语言,支持航空、航天、汽车等领域复杂实时的安全关键系统的设计与分析。
AADL 具有语法简单、功能强大、可扩展等优点,能够对嵌入式软件的功能和非功能属性进行建模与描述,在开发早期对系统进行分析与验证。
AADL 组件类别AADL 提供了标准化的文本和图形描述,是一个用以区分各类组件接口规范、组件实现蓝图以及组件实例之间的区别的组件基建模语言。
组件由组件类型和组件实现两种方式描述。
组件类型定义了组件与外界联系的接口,如特征、流应用、模式、属性等;组件实现定义了组件的内部结构,如子组件、连接、流等。
系统建模中常用的组件如下[1]:应用 软件process (进程) 受保护的地址空间 thread (线程) 进程中与执行、调度相关的组件 data (数据) 源代码、数据或数据类型 执行平台processor (处理器)调度和执行线程及虚拟处理器memory (存储器) 存储数据和程序 bus (总线) 实现执行平台组件间的交互 device (设备)表示与外部环境接口的传感器等其他组件 复合system (系统)抽象代表包括软件、执行平台或系统组件的复合体图 1 AADL 核心组件systemvirtualprocessorprocessor memorydevice virtual busbus abstractsubprogramprocess thread group groupsubprogram datathread HWSWAADL 建模过程模型驱动体系结构MDA (Model Driven Architecture )将模型分为两种:平台无关模型PIM (Platform Independent Model),描述从执行平台抽象的功能和结构;平台相关模型PSM (Platform Specific Model),描述特定执行平台上的功能和结构。
采用AADL的软件系统可靠性建模与评估方法摘要:随着信息技术的发展,软件系统可靠性建模与评估方法是软件开发中的重要部分。
近年来,基于包括Architecture Analysis and Design Language(AADL)和Model-Based System Engineering(MBSE)在内的新技术出现,使得软件系统可靠性建模与评估更加容易和高效。
在本文中,我们提出了基于AADL的软件系统可靠性建模与评估方法。
更精确地说,我们提出了一种基于AADL的基于规约的可靠性建模与评估方法,通过对系统的功能性和可靠性的软件评估来验证和辅助系统分析、设计和测试过程。
我们提出的方法被证明可以实现有效的可靠性建模和评估。
关键词:AADL;MBSE;软件系统可靠性;建模与评估;基于规约正文:1. 引言随着社会的发展,信息技术正在不断发展,导致软件系统在工业应用中变得越来越重要。
但是,软件系统的可靠性是影响其运行效果的关键因素,也是目前软件工程领域面临的一大挑战。
因此,基于有效的软件系统可靠性建模和评估方法,为保证软件系统高可靠性而可行的方法是提供完整的软件系统可靠性分析、设计和测试的前提。
2. 相关技术近年来,随着新技术的出现,如Architecture Analysis and Design Language(AADL)、Model-Based System Engineering(MBSE)等,已经极大地促进了软件系统可靠性建模与评估的发展。
3. 方法基于AADL和MBSE,我们提出了一种基于规约的软件系统可靠性建模与评估方法。
该方法使用AADL来定义系统的架构,并使用MBSE技术来描述系统的行为,以识别系统的可靠性特性。
然后,基于AADL定义的模型,使用统计方法对可靠性特性进行建模和评估。
最后,通过对系统的功能性和可靠性的软件评估来验证和辅助系统分析、设计和测试过程。
4. 实验结果我们在真实系统中验证了所提出方法,结果表明该方法有效地帮助我们建模和评估软件系统的可靠性。
使用Stood对安全关键系统进行架构设计和分析北京旋极信息技术股份有限公司《旋极视界》编辑部摘要:近年来,随着硬件设备计算能力的提高,性能关键实时系统的规模和复杂性急剧增加,导致其对开发成本和非功能属性的要求也越来越高,这对其开发中的设计合理性,验证完备性以及开发效率等方面都带来了挑战。
由SAE等组织提出的系统架构设计分析语言(Architecture Analysis and Design Language,AADL)是一种基于MDA方法的建模语言,可以用来设计和分析性能关键实时系统的软硬件体系结构。
在本文中,我们通过使用Stood工具,对自动飞行系统进行架构设计,并对模型进行可调度分析,最后对全文做了总结,指出全文的优点和不足,以及下一步研究的目标和方向。
关键字:性能关键实时系统MDA AADL STOOD 模型验证可靠性分析1.引言在传统的性能关键实时系统开发过程中,开发人员需要等到实际产品或产品原型,嵌入式目标机生产出来之后,才能够对性能关键实时系统的软件进行测试和验证,在集成阶段才能暴露和修复软件和系统的缺陷,造成时间上的浪费和费用的增加。
另外,由于缺乏对整个系统的体系结构的精确预算,虽然单个功能模块的非功能属性相对容易实现,但是在系统集成后如何满足整个系统的非功能属性对开发人员也是一个巨大的挑战。
要解决这些问题,可以采用MDA方法在系统实现前建立模型,在模型级对整个系统进行非功能属性的规约和验证,消除可能的问题,降低开发成本,提高开发效率。
系统结构分析与设计语言(AADL)正是一种基于MDA方法的体系结构建模语言,可应用在监控、航天、飞行管理、引擎和传动系统控制、医疗设备、工业工艺控制设备和航空领域等。
AADL模型并不关心具体的功能实现,描述的仅仅是系统架构,从而在体系结构级对系统的非功能属性进行规约,这样系统设计者可以使用分析工具对系统模型的可调度性,可靠性,安全性进行分析,通过分析,可以评估体系结构的平衡和变化,最后将AADL模型转换为针对特定操作系统的可执行语言框架代码,再与实现具体功能的功能函数相集成就可以形成符合性能关键属性的可执行代码。
如何实现可靠的软件验证软件在现代社会中扮演着日益重要的角色。
然而,由于软件的复杂性,同时还存在着人类的失误和疏忽等因素,使得软件开发过程中经常出现各种漏洞问题和错误,这些问题和错误对软件的安全性和可靠性造成了严重的影响。
为了解决这些问题,可靠的软件验证变得尤为重要。
本文将探讨如何实现可靠的软件验证。
一、软件验证的意义软件验证是指在软件开发过程中,对软件进行测试和验证,以发现软件中的问题和错误,从而提高软件的安全性、可靠性和稳定性。
软件验证的意义在于:1. 发现软件中的问题和错误,提高软件的安全性和可靠性。
2. 及时发现和排除潜在的风险和威胁,避免经济和安全上的损失。
3. 保障软件正常和有效地运行,提高软件的可维护性和可扩展性。
二、软件验证的方法软件验证的方法分为两大类,一种是静态验证方法,另一种是动态验证方法。
静态验证方法指在代码编写过程中,以及代码提交之前,通过代码分析工具、代码复查和代码审查等手段,检查代码错误和问题,并对代码规范性、可读性和可维护性等方面进行评估。
静态验证的优点在于可以及早地发现问题和错误,避免代码提交后再发现问题而造成的时间和财力浪费。
但缺点在于不能测试出软件运行时可能出现的错误和问题。
动态验证方法指在代码编写完成后,通过测试工具或手工测试,对软件进行测试,并根据测试结果对软件进行调试和修复。
动态验证的优点在于可以测试出软件运行时可能出现的异常情况和错误,但也存在一定的缺点,例如测试不全面、测试成本高等问题。
对于软件的可靠性和安全性要求比较高的场景,通常需要同时使用静态验证和动态验证两种方法,以完善地发现和解决软件中的问题和错误。
三、实现可靠的软件验证的具体方法1. 使用高质量的编码工具:使用高质量的编码工具可以在编写代码时避免一些潜在的错误和问题,例如编译错误、语法错误等。
同时也可以优化代码结构、提高代码的可读性和易维护性。
2. 代码复查和代码审查:在代码提交之前,进行代码复查和代码审查可以发现代码中的问题和错误,并对代码的质量进行评估。
AADL笔记:AADL包括三类组件:软件(组件)、硬件和复合组件,主要用来:●规范和分析实时嵌入式系统、复杂系统中的系统和专门性能和功能系统●把软件映射到可计算性硬件元素AADL在复杂实时嵌入式系统中的基于模型分析和规范中非常有效构件是AADL的中心建模词汇,构件被分配唯一的一个标识符(名),并且在一个特定的构件类别中被声明为一个类型和实现,AADL构件抽象分为3个种类:应用软件:线程,线程组,进程,数据,子程序执行平台组件(硬件):处理器,存储器,外设,总线复合组件:软件、执行平台、或者系统构件的组合,如系统。
使用操作模式和模式转换来规范运行时体系结构的动态重构AADL可以用来建模和分析已使用中的系统以及设计和整合新的系统。
AADL构件类型声明:建立了构件的外部可见特性,一个构件类型声明由定义性的子句(clause)和描述性的子句(subclauses)组成。
特征:指定与其他构件的交互点,包括构件所有需求的输入和访问,以及构件提供的所有输出和项流:指定信息传输的不同抽象通道。
属性:定义了构件固有的特性。
每个构件种类有预定义的属性(例如,线程的执行时间)。
extends子句使一个构件类型声明能够基于另一个构件,在一个构件被声明为另一个的扩展中,其接口、流和属性可以加入进来。
父构件类型部分声明的元素可被细化;属性可被修改。
构件实现:一个构件实现按照子构件、以及这些子构件特征之间的交互(调用和连接)、穿越子构件之间的流、表示操作状态的模式、以及属性来指定一个内部结构。
流:表示构件类型中流规范的实现或端到端流分析(例如流从从一个子构件开始,穿过0个或多个子构件,在另一个子构件结束)模式:代表可选操作模式,可能表明自己作为子构件、调用序列、连接和流序列,以及属性的可选的配置属性:定义构件固有的特性。
每个构件实现都有预定义的属性。
AADL的包,属性集,附件包:包允许构件声明集合被组织入一个单独的有着它们自己命名空间的单元。
一种BLE计步数据同步协议的AADL建模
倪友聪;罗增;杜欣;孙聪;沈志鹏
【期刊名称】《网络新媒体技术》
【年(卷),期】2015(004)003
【摘要】设计腕表与智能手机之间低功耗和高可靠的计步数据同步协议是研发基于腕表的计步应用系统必须解决的一个关键问题.针对这一问题,提出了一种基于蓝牙低功耗(BLE)的计步数据同步协议(BLE-Step),并运用体系结构分析与设计语言AADL描述了该协议的体系结构模型.通过定义BLE-Step协议数据的语法格式和语义解释,并精确描述协议行为,为开展BLE-Step协议可靠性和能耗的分析评估奠定基础.
【总页数】10页(P42-51)
【作者】倪友聪;罗增;杜欣;孙聪;沈志鹏
【作者单位】福建师范大学福州 350000;福建师范大学福州 350000;福建师范大学福州 350000;福建师范大学福州 350000;福建师范大学福州 350000
【正文语种】中文
【相关文献】
1.一种基于并发的AADL建模方法 [J], 李揭阳;曹子宁
2.一种结合AADL和TPN的系统能耗建模方法 [J], 马铮;黄连丽;陶冰冰;周海鹰
3.一种BLE计步数据同步协议的AADL建模 [J], 倪友聪;罗增;杜欣;孙聪;沈志鹏;
4.一种结合AADL与Z的嵌入式软件可靠性建模与评估方法 [J], 李蜜;庄毅;胡镡文
5.一种应用于物联网的BLE Mesh组网分组协议 [J], 张凌飞;马俊;万光耀;刘晨;张皓伦
因版权原因,仅展示原文概要,查看原文内容请购买。