首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 140 毫秒
1.
体系结构分析设计语言(AADL)是一种基于模型驱动体系结构的建模语言,针对如何将AADL模型自动生成框架代码的问题,提出AADL模型元素同C语言元素间的转换规则,设计AADL模型转换为C语言框架代码的自动代码生成器Generator。实例证明了AADL模型自动转换为可执行C代码的有效性。  相似文献   

2.
模型驱动开发方法逐渐应用于航空航天等领域的安全关键软件设计与实现中。体系结构分析设计语言(Architecture Analysis and Design Language, AADL)是一种标准化的嵌入式软件体系结构描述语言,通过建模、验证以及代码自动生成为安全关键软件的设计与实现提供完整支持。然而,工业界实际代码是运行在具有不同特性的目标平台上的,例如不同的软硬件体系结构和编程接口,而现有AADL代码生成研究主要是通过手工将自动生成的代码集成到平台当中,存在工作繁琐且易出错的问题。为此,本文提出一种基于AADL的航天嵌入式软件Ada代码自动生成方法。首先,给出卫星姿轨控系统的AADL建模;其次,给出AADL到平台相关的Ada代码自动转化规则;最后,给出代码生成原型工具,并对卫星姿轨控系统AADL模型所生成的代码进行航天编码规范检查,并运行在相关仿真环境中,验证了本文所提方法的有效性。  相似文献   

3.
近年来,采用模型驱动(Model-Driven)尤其是形式化模型驱动的安全关键软件设计与开发方法逐渐受到重视,并被工业界认为是切实可行的重要手段.AADL(Architecture Analysis and Design Language)是一种广泛应用于安全关键领域的形式化建模语言标准.在安全关键软件系统开发与维护过程中,部分需求与设计信息往往遗留在源代码中,在对已有软件系统架构进行复用或重构的过程中,如何将这部分需求与设计信息从代码中构造到设计模型是一个重要问题.本文基于模型驱动逆向工程,提出一种从C代码到AADL模型的自动构造方法C2AADL.首先分析了源语言结构、行为和运行时性质,并根据分析结果提出了源代码结构、行为和运行时性质到AADL模型的转换规则,然后根据转换规则设计并实现了原型工具,最后基于雷达信息处理子系统案例验证本文所提方法的有效性.  相似文献   

4.
基于RTLinux的MATLAB实时仿真   总被引:6,自引:0,他引:6  
RTLinux操作系统是linux操作系统的变种 ,它具有强实时能力 ,Real-TimeWorkshop(RTW)是matlab的自动生成仿真代码的工具 ,两者的结合是个有意义的尝试。但是RTW生成的代码不能直接在RTLinux中运行。该文首先介绍RTLinux下的编程方法和RTW生成代码的过程 ,然后指出在RTLinux中运行RTW生成的代码需要考虑的问题。  相似文献   

5.
随着嵌入式系统在安全关键领域的广泛应用,必须采用现代软件工程的技术进一步提高其可信性,以保证人们的生命安全。基于模型驱动方法,对AADL(体系结构分析设计语言)模型的框架代码自动生成技术进行了研究,提出了从AADL模型元素到C和Ada的语法元素的映射规则,由此实现了自动代码生成器generator并集成在开源工具OSATE中。最后通过一个实例,说明将AADL模型自动转换为框架代码后与模块代码结合的有效性。  相似文献   

6.
为了实现AADL(体系结构分析与设计语言)行为模型的分析验证,基于行为附件的文法结构以及行为描述方式,提出了AADL行为模型与UPPAAL下时间自动机模型之间的模型转换规则.在转换规则的基础上,设计和实现了自动转换的原型工具.最后以航天器控制系统中制导、导航与控制计算机从陀螺取数的AADL模型为例,经自动转换得到时间自动机模型,并在UPPAAL下仿真、验证其行为正确性,同时证明了模型转换的有效性.  相似文献   

7.
安全关键系统的实现需要通过需求、设计、集成、验证和测试等多个阶段。近年来,模型驱动开发方法逐渐成为安全关键系统设计与开发的重要手段。由于还没有一个建模语言能够支持整个安全关键系统开发生命周期,因此选择集成使用2种广泛使用的标准语言:系统建模语言(SysML)和嵌入式实时系统体系结构分析与设计语言(AADL)。SysML和AADL提供了同一系统的2个不同视图,SysML模型为系统工程师提供了一个系统视图,AADL为架构设计师建立一个较低层次的设计视图,它结合了实现所有功能的硬件、操作系统和代码。提出一种SysML模型到AADL模型的自动转换方法。首先,定义SysML子集SubSysML,主要包括模块定义图(BDD)、内部模块图(IBD)、活动图(ACT)子集和从IBD和BDD扩展的AADL Profile;其次,定义SubSysML到AADL的转换规则并设计转换算法;然后,对生成的AADL初始模型进行精化;最后,使用EMF框架技术实现SubSysML到AADL的模型转换工具并通过雷达案例验证所提方法的有效性。  相似文献   

8.
模态(Mode)表示的是软件可操作配置的状态,在一个或多个模态内可对资源和属性进行重新配置,即重构。目前,在对VxWorks系统下C程序的AADL架构进行模态的提取和蓝图制定过程中,还没有现成的工具。因而,设计一个基于AADL架构的软件重构工具将给软件架构的重构提供更大的帮助。为了搭建起基于AADL架构的软件重构可扩展工具平台,在Eclipse开源开发环境下,设计了SRM2( Software Reconfiguration Middlcware based on Mode)插件工具。SRM2工具主要完成对C程序的AADL架构的扫描进而描述程序架构的静态蓝图信息,以及结合代码(探针设计和植入)在VxWorks系统下的运行信息生成动态蓝图,从而指导软件的重构。  相似文献   

9.
提出了一种基于时间抽象状态机(timed abstract state machine,简称TASM)的AADL(architecture analysis and design language)模型验证方法.分别给出了AADL子集和TASM的抽象语法,并基于语义函数和类ML的元语言形式定义转换规则.在此基础上,基于AADL开源建模环境OSATE(open source AADL tool environment)设计并实现了AADL模型验证与分析工具AADL2TASM,并基于航天器导航、制导与控制系统(guidance,navigation and control)进行了实例性验证.  相似文献   

10.
许多复杂的嵌入式系统都是混合关键系统(mixed-criticality system,简称MCS).MCS通常需要在指定的关键性(criticality)等级状态下运行,但是它们可能会受到一些危害的影响,这些危害可能会导致随机错误和突发错误,进一步导致执行线程中止,甚至导致系统故障.目前的研究仅集中于对MCS的可调度性分析,未能进一步分析系统安全性,未能考虑线程之间的依赖关系.本文以随机错误和突发错误为研究对象,提出一种集成故障传播分析的基于架构的MCS安全分析方法.使用架构分析和设计语言(Architecture Analysis and Design Language,简称AADL)刻画构件依赖关系.为了弥补AADL的不足,创建新的AADL属性(AADL突发错误属性),并提出新的线程状态机(突发错误行为线程状态机)语义来描述带有突发错误的线程执行过程.为了将概率模型检查应用于安全分析,提出模型转换规则和组装方法,从AADL模型推导出PRISM模型.建立了两个公式,分别获得定量安全属性以验证故障发生的概率,以及定性安全属性以生成相应的正例来求出故障传播路径来进行故障传播分析.最后,以动力艇自动驾驶仪(power boat autopilot,简称PBA)系统为例,验证了该方法的有效性.  相似文献   

11.
为了检测程序设计类课程中出现的作业抄袭行为,提出了基于抽象语法树的抄袭检测方法.运用语法分析工具对代码进行语法分析生成抽象语法树(AST),通过计算生物学中序列匹配的算法进行程序相似度的计算.提取程序相似部分的AST特征,生成空间向量,聚类分析找出“抄袭团伙”.实验结果表明,该方法对抄袭行为具有较好的检测效果,并能比较准确地找到“抄袭团伙”.  相似文献   

12.
在软件同源性检测方法中,基于抽象语法树的比对方法能够有效地检测出基于代码全文拷贝、修改变量名、调整代码顺序等的抄袭手段,被广泛用于抄袭检测工具中。但基于抽象语法树的比对方法对于修改变量类型和添加无意义变量的抄袭手段束手无策。针对这种情况,提出了一种基于抽象语法树的改进思想,该思想通过剪去语法树中影响判断的叶子节点的手段来还原检测原文抄袭,能够达到有效检测修改变量类型和添加无意义变量等抄袭的目的。  相似文献   

13.
文章对基于文本、Token和抽象语法树的同源性检测技术进行探讨,详细介绍了关于抽象语法树的同源性检测技术。同时,在对实际应用大量研究的基础上,文章着重介绍了源代码同源性检测系统的架构设计,以及引擎比对、比对结果分析和比对结果输出等主要功能模块,并对开发的系统进行了系统测试和分析,验证了算法的可行性。  相似文献   

14.
在分析现有程序代码抄袭检测系统的特点及局限性的基础上,提出一种综合文本分析、结构度量和属性计数技术的混合式程序抄袭检测方法。应用文档指纹技术和Winnowing算法计算程序的文本相似度;将程序代码表示成动态控制结构树(Dynamic Control Structure tree,DCS),运用Winnowing算法计算DCS树相似度,从而得到结构相似度;收集并统计程序中的每个变量信息,应用变量相似度算法分析变量信息节点获取变量相似度;分别赋予文本相似度、结构相似度和变量相似度一个权值,计算得到总体的代码相似度。实验结果表明,所提出的方法能够有效检测出各种抄袭行为。针对不同的抄袭门槛值,使用该方法的检测结果准确度和查全率高于JPLAG系统。特别对于结构简单的程序组,此方法和JPLAG系统检测结果的平均准确度分别为82.5%和69.5%,说明所提的方法更加有效。  相似文献   

15.
传统的基于Token的克隆检测方法利用代码字符串的序列化特性, 可以在大型代码仓中快速检测克隆. 但是与基于抽象语法树(AST)、程序依赖图(PDG)的方法相比, 由于缺少语法及语义信息, 针对文本有较大差异的克隆代码检测困难. 为此, 提出一种赋予语义信息的Token克隆检测方法. 首先, 分析抽象语法树, 使用AST路径抽象位于叶子节点的Token的语义信息; 然后, 在函数名和类型名角色的Token上建立低成本索引, 达到快速并有效地筛选候选克隆片段的目的. 最后, 使用赋予语义信息的Token判定代码块之间的相似性. 在公开的大规模数据集BigCloneBench实验结果表明, 该方法在文本相似度较低的Moderately Type-3和Weakly Type-3/Type-4类型克隆上显著优于主流方法, 包括NiCad、Deckard、CCAligner等, 同时在大型代码仓上需要更少的检测时间.  相似文献   

16.
代码剽窃是程序语言课程中经常出现的一种作弊行为,严重破坏正常的教学秩序。检测剽窃的程序代码、验证学生程序作业的原创性在程序语言教学中就尤为重要。结合程序代码相似度检测技术中的属性计数技术和结构度量技术,提出一种适用于Python程序的相似度检测方法,该方法能够有效地计算出学生Python程序作业之间的相似度。  相似文献   

17.
一种基于静态词法树的程序相似性检测方法*   总被引:1,自引:0,他引:1  
传统的程序相似性检测工具并不能有效地检测出一些常见的高级词法、语义理解变换的抄袭方式。首先归纳了学生常用的三类抄袭手段,然后给出了基于词法树的程序相似性检测方法。以C语言为例,总结了生成词法树的结构体,并对程序的词法树进行主数据流、结构控制流和时序流分析后得出结构体依赖图;使用形式化的图同型方法来判断代码是否相似,还给出了一个聚类方法以获得彼此相似的程序子集。通过与JPlag、BuaaSim系统针对一组典型的抄袭样本集进行评测结果对比,本方法具有更好的检测效果。  相似文献   

18.
Program plagiarism detection is a task of detecting plagiarized code pairs among a set of source codes. In this paper, we propose a code plagiarism detection system that uses a parse tree kernel. Our parse tree kernel calculates a similarity value between two source codes in terms of their parse tree similarity. Since parse trees contain the essential syntactic structure of source codes, the system effectively handles structural information. The contributions of this paper are two-fold. First, we propose a parse tree kernel that is optimized for program source code. The evaluation shows that our system based on this kernel outperforms well-known baseline systems. Second, we collected a large number of real-world Java source codes from a university programming class. This test set was manually analyzed and tagged by two independent human annotators to mark plagiarized codes. It can be used to evaluate the performance of various detection systems in real-world environments. The experiments with the test set show that the performance of our plagiarism detection system reaches to 93% level of human annotators.  相似文献   

19.
代码相似性检测在程序设计教学中的应用   总被引:1,自引:0,他引:1  
张莉  周祖林 《计算机教育》2009,(13):116-118,112
代码剽窃是程序设计课程中经常出现的一种作弊行为,检测剽窃的源代码、验证学生程序作业的原创性在教学中很重要。程序代码的相似度度量是剽窃检测的关键技术。本文首先对现有程序代码相似性检测技术进行研究,然后改进Halstead算法,提出了基于统计学方法程序代码相似性检测算法,最后对算法的有效性进行了实验分析。  相似文献   

20.
检测剽窃的源代码,在验证学生的作业中很重要。代码的相似度度量是剽窃检测的关键技术。首先本文介绍了源代码剽窃检测技术在国内外的发展情况,然后提出了一种改进的基于Karp-Rabin和GST算法的程序源代码相似度测量方法。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号