首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 187 毫秒
1.
RTW嵌入式代码自动生成机制与代码结构分析   总被引:2,自引:2,他引:0  
随着代码自动生成技术的发展,基于文本规范的传统嵌入式软件开发模式逐渐被基于模型的设计方法所取代,代码自动生成技术是基于模型的开发方法中一项核心技术,而MATLAB中RTW工具箱是代码自动生成最优秀的工具,首先对基于RTW的代码自动生成机制进行了分析,研究了VxWorks目标代码的结构及变量命名规则,并从程序实时运行机制方面进行了分析,方便用户对自动生成的代码进行二次开发;采用该技术进行VxWorks嵌入式软件开发,可大大提高开发效率。  相似文献   

2.
基于SDL语言代码自动生成技术研究   总被引:1,自引:0,他引:1  
吴琦  熊光泽 《计算机科学》2003,30(4):104-107
1.引言目前嵌入式实时系统的复杂度越来越高,自动代码生成技术已成为缩短嵌入式系统开发时间和降低开发成本的主要方法之一,也是近十年软件开发工具研究的热门课题。所谓自动代码生成,即把形式化描述的系统需求转化为特定软硬件平台上基于某一目标语言的系统实现。代码自动生成技术研究虽然已经取得一定成果,也被应用到一些商业工具中,但生成代码的执行效率、与实际软硬件平台的结合等问题限制了其在实际工程中的使用。根据转化程度不同自动代码生成又分为完全的自动代码生成和部分的自动代码生成,本文就基于SDL的完全自动代码生成的关键技术及其对最终代码的影响进行初步探讨。  相似文献   

3.
代码注释作为软件中的重要组成部分,在软件维护、复用等领域中发挥着重要作用。代码注释自动生成技术旨在减轻人工编写注释的工作量,从而提高软件开发效率。现有的注释自动生成方法分为基于规则、文本摘要、数据驱动、主题模型、深度学习等层次。综述了代码注释自动生成的相关概念,对比总结各类代码注释自动生成方法,对近年来代码注释自动生成相关应用进行了梳理和总结,最后对注释自动生成所面临的挑战进行了分析,展望了该领域未来的研究。  相似文献   

4.
陈翔  杨光  崔展齐  孟国柱  王赞 《软件学报》2021,32(7):2118-2141
在软件的开发和维护过程中,与代码对应的注释经常存在缺失、不足或者与代码实际内容不匹配等问题,但手工编写代码注释对开发人员来说费时费力,且注释质量难以保证,因此亟需研究人员提出有效的代码注释自动生成方法.代码注释自动生成问题是当前程序理解研究领域的一个研究热点,论文对该问题进行了系统综述.主要将已有的自动生成方法细分为三类:基于模板的方法、基于信息检索的方法和基于深度学习的方法.论文依次对每一类方法的已有研究成果进行了系统的梳理、总结和点评.随后分析了已有的实证研究中经常使用的语料库和主要的注释质量评估方法,以利于针对该问题的后续研究可以进行合理的实验设计.最后总结全文,并对未来值得关注的研究方向进行了展望.  相似文献   

5.
通过代码自动、快速地生成应用系统是软件开发的捷径。基于Velocity的代码生成技术是目前常用的方法。通过分析已有代码自动生成技术解决方案存在的问题,结合快速生成信息管理系统的业务需求,提出并实现了一个基于DOM4J解析框架以及Velocity模板技术的代码自动生成的平台框架。通过一个实例,给出该平台的实现过程。目前该自动生成技术已应用于实际软件开发中,初步达到了快速生成代码的研究目标。  相似文献   

6.
针对OSEK标准的应用设计了一个从OIL代码到C代码的自动生成系统,该系统允许用户输入OIL配置文件信息,读取用户的输入转换为标准的C程序,返回给用户,在具体应用的时候.文法限制严格.该系统结合代码自动生成的过程,提出了一些具体的解决过程,消弱了对文法输入的限制,提高了对文法的适应能力.  相似文献   

7.
VB的Add—in技术提供了扩展VB开发环境的接口。文章论述了基于VBAdd—in技术的可视化代码自动生成系统的设计方法,该系统的实现与应用可以简化软件的开发过程。加快软件的开发速度,提高代码的重用率。  相似文献   

8.
UML是一种被广泛用于软件系统需求分析和详细设计的标准建模语言,研究将UML描述的软件详细设计自动生成代码的技术可以大大加速软件产品的开发进度,提高软件的质量。提出一种将UML类图和顺序图相结合生成具有静态结构和动态行为信息的C++代码的方法,从而解决现在多数代码生成工具只能将静态图转换为C++代码框架而不能处理动态行为模型转换的问题。该方法包括UML类图和顺序图的元模型以及相应的转换规则。最后通过一个采用Velocity技术实现的代码生成器生成代码的实例描述了代码生成的具体过程及结果。  相似文献   

9.
为了解决BREW移动平台下应用界面(UI)开发缺乏可视化设计工具,UI开发效率低下的问题,类比其它平台的UI设计现状,开发了一款面向BREW平台的新型可视化UI设计工具.分析了软件的工作流程,针对软件实现过程中的UI保存、界面可视化设计、界面代码自动化生成等几个重点环节进行了论述.测试结果表明,该工具软件为开发人员提供了所见即所得的UI设计效果,且方便调整,代码自动生成功能也极大地减轻了程序员的编码工作量.  相似文献   

10.
代码的自动生成可以极大地提高软件的生产率,而面向对象技术则为代码的自动生成提供了强有力的支持,本文引放了一个面向对象软件设计的规格说明方法,并在此基础上,介绍了面向对象CASE中心信息库的作用和面向对象代码自动生成工具的系统构成及其实现。  相似文献   

11.
Embedded real-time systems employ a variety of operating system platforms. Consequently, for automatic code generation, considerable redevelopment is needed when the platform changes. This results in major challenges with respect to the automatic code generation process of the architecture analysis and design language (AADL). In this paper, we propose a method of template-based automatic code generation to address this issue. Templates are used as carriers of automatic code generation rules from AADL to the object platform. These templates can be easily modified for different platforms. Automatic code generation for different platforms can be accomplished by formulating the corresponding generation rules and transformation templates. We design a set of code generation templates from AADL to the object platform and develop an automatic code generation tool. Finally, we take a typical data processing unit (DPU) system as a case study to test the tool. It is demonstrated that the autogenerated codes can be compiled and executed successfully on the object platform.  相似文献   

12.
Generation of Efficient Nested Loops from Polyhedra   总被引:1,自引:0,他引:1  
Automatic parallelization in the polyhedral model is based on affine transformations from an original computation domain (iteration space) to a target space-time domain, often with a different transformation for each variable. Code generation is an often ignored step in this process that has a significant impact on the quality of the final code. It involves making a trade-off between code size and control code simplification/optimization. Previous methods of doing code generation are based on loop splitting, however they have nonoptimal behavior when working on parameterized programs. We present a general parameterized method for code generation based on dual representation of polyhedra. Our algorithm uses a simple recursion on the dimensions of the domains, and enables fine control over the tradeoff between code size and control overhead.  相似文献   

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

14.
Mediator是一种基于组件的建模语言,该语言主要通过自动机和系统对模型进行描述。将Mediator语言描述的模型自动生成为可执行代码,可以避免编码过程中由于人为疏忽而造成的错误,从而提高编码的可靠性,同时缩短模型开发周期。介绍一种从Mediator模型到SystemC代码的自动生成工具,该工具旨在将基于特定平台的模型转换为能直接仿真运行的代码。首先对Mediator语言的语法语义进行分析,选择合适的SystemC代码组织形式,然后针对Mediator模型的每一个组成部分 设计生成规则,其中重点对类型生成、状态转移语句生成、同步语句的生成进行分析。最后,通过一个机器掉电检测系统说明该工具运行结果的正确性。  相似文献   

15.
胡星  李戈  刘芳  金芝 《软件学报》2019,30(5):1206-1223
自动化软件开发一直是软件工程领域的研究热点.目前,互联网技术促进了开源软件和开源社区的发展,这些大规模的代码和数据成为自动化软件开发的机遇.与此同时,深度学习也在软件工程领域开始得到应用.如何将深度学习技术用于大规模代码的学习,并实现机器自动编写程序,是人工智能与软件工程领域的共同期望.机器自动编写程序,辅助甚至在一定程度上代替程序员开发程序,极大地减轻了程序员的开发负担,提高了软件开发的效率和质量.目前,基于深度学习方法自动编写程序主要从两个方面实现:程序生成和代码补全.对这两个方面的应用以及主要涉及的深度学习模型进行了介绍.  相似文献   

16.
One of the techniques employed by programmers during the development process is the use of code and design conventions. These are rules‐of‐thumb or best practices that improve the maintainability of software applications. In general, these conventions are maintained manually by the programmer since automated support is usually restricted to the automatic generation of code. However, the late discovery of convention errors can result in significant costs due to the effort required to correct them. In order to facilitate the early detection of these errors, the Practical Preprocessor for Programming Conventions system, P³ (pronounced P3),is proposed. This tool acts as a preprocessor to the Java compiler by providing facilities for the maintenance of specific object‐oriented code conventions and design principles during the creation of Java programs. This paper presents the design and implementation of the P³ system and also the practical experience of using this facility in a University programming environment. Copyright © 2002 John Wiley & Sons, Ltd.  相似文献   

17.
麻莹莹  陈钢 《软件学报》2022,33(6):2224-2245
矩阵程序在智能系统中扮演着越来越重要的角色.随着矩阵应用的复杂性日益增加,生成正确矩阵代码的难度也在不断变大.并行硬件能够极大地提高矩阵运算的速度,然而,使用并行硬件进行编程以实现并行运算,需要编程人员在程序中描述功能以及如何利用硬件资源来交付结果.这些程序通常是命令式语言,难以推理并且重构,以尝试不同的并行化策略.在Coq中实现了由高级矩阵算子到C代码的矩阵表达式代码生成技术,其能够将带有执行策略的函数式矩阵代码转换为高效低级命令式代码.未来,将把矩阵的形式化同矩阵代码自动生成融合在一起,对矩阵代码转换的过程进行形式化验证,以保障生成的矩阵代码的可靠性,为实现基于矩阵形式化方法的高可靠性深度学习编译器的研制打下基础.  相似文献   

18.
Although considerable technology has been developed for debugging and developing sequential programs, producing verifiably correct parallel code is a much harder task. In view of the large number of possible scheduling sequences, exhaustive testing is not a feasible method for determining whether a given parallel program is correct; nor have there been sufficient theoretical developments to allow the automatic verification of parallel programs. PTOOL, a tool being developed at Rice University in collaboration with users at Los Alamos National Laboratory, provides an alternative mechanism for producing correct parallel code. PTOOL is a semi-automatic tool for detecting implicit parallelism in sequential Fortran code. It uses vectorizing compiler techniques to identify dependences preventing the parallelization of sequential regions. According to the model supported by PTOOL, a programmer should first implement and test his program using traditional sequential debugging techniques. Then, using PTOOL, he can select loop bodies that can be safely executed in parallel. At Los Alamos, we have been interested in examining the role of dependence-analysis tools in the parallel programming process. Therefore, we have used PTOOL as a static debugging tool to analyze parallel Fortran programs. Our experiences using PTOOL lead us to conclude that dependence-analysis tools are useful to today's parallel programmers. Dependence-analysis is particularly useful in the development of asynchronous parallel code. With a tool like PTOOL, a programmer can guarantee that processor scheduling cannot affect the results of his parallel program. If a programmer wishes to implement a partially parallelized region through the use of synchronization primitives, however, he will find that dependence analysis is less useful. While a dependence-analysis tool can greatly simplify the task of writing synchronization code, the ultimate responsibility of correctness is left to the programmer.This work was performed under the auspices of the U.S. Department of Energy.  相似文献   

19.
对于高性能并行计算机而言,如何由给出的计算、数据划分信息及精确数组数据流分析信息自动生成并行化代码是实现串行程序并行化的一个重要问题。根据Saman P.Amarasinghe和Lam的定理,实现了一种并行化识别工具中MPI(Message Passing Interface)并行化代码自动生成技术的算法,并对该算法的性能进行分析。  相似文献   

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

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