首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
语义验证是束缚语义软件和语义程序设计语言发展的问题之一,针对这一问题,在基于语义Web服务的语义程序设计语言SPL及其知识库业务领域本体(BDO)的基础上,提出了一种基于Mealy!机对SPL所编排的业务过程进行语义验证的方法,结合在线外汇交易平台的案例,详细描述了运用该方法进行语义验证的过程。通过案例证明,本方法有助于编写语义正确的语义程序。  相似文献   

2.
Software testing is a critical and important stage of the application software development life-cycle. Testing is a verification activity that affects the overall software quality. The verification of critical and dependable computer software such as real-time safety-critical software systems consumes about 50% of the project time. In this work, we consider testing compilers. Since a compiler is a highly usable software, an increased emphasis on reliability requires a careful testing before releasing the compiler. In compiler testing, the compiler implementation is verified to conform to the specified language syntax and semantic available in the standard language documentation. In this work, an algorithm is designed and a tool is developed to automate the generation of test cases to check the language syntax. In addition, we propose a heuristic approach to cover language semantics. Since Java is a relatively new programming language, we concentrate on testing the adherence of new Java compilers to the language syntax and semantics.  相似文献   

3.
关于从C语言方向对计算机软件工程的思考和分析   总被引:1,自引:1,他引:0  
C语言是计算机的一种通用性程序设计语言,它拥有着汇编语言和高级语言的双重优点,它的应用范围相当广泛,既能编写操作系统软件,又能开发各个领域的应用软件,对于计算机软件工程的发展有着至关重要的作用。熟练掌握和灵活利用C语言编程是解决实际问题的关键。  相似文献   

4.
The specification of realistic programming languages is difficult and expensive. One approach to make language specification more attractive is the development of techniques and systems for the generation of language–specific software from specifications. To contribute to this approach, a tool–based framework with the following features is presented: It supports new techniques to specify more language aspects in a static fashion. This improves the efficiency of generated software. It provides powerful interfaces to generated software components. This facilitates the use of these components as parts of language–specific software. It has a rather simple formal semantics. In the framework, static semantics is defined by a very general attribution technique enabling e.g. the specification of flow graphs. The dynamic semantics is defined by evolving algebra rules, a technique that has been successfully applied to realistic programming languages. After providing the formal background of the framework, an object–oriented programming language is specified to illustrate the central specification features. In particular, it is shown how parallelism can be handled. The relationship to attribute grammar extensions is discussed using a non-trivial compiler problem. Finally, the paper describes new techniques for implementing the framework and reports on experiences made so far with the implemented system. Received: 20 November 1995 / 20 January 1997  相似文献   

5.
毛新军  胡翠云  孙跃坤  王怀民 《软件学报》2012,23(11):2885-2904
面向Agent程序设计(agent-oriented programming,简称AOP)基于多Agent系统的抽象和思想、借助于Agent理论和技术来支持软件系统的构造与实现,其程序设计思想、软件模型、基础理论和语言设施有别于现有主流程序设计技术,如OOP,代表了一种新颖的程序设计范型.由于多Agent系统被视为支持开放环境下复杂软件系统开发的一种新颖、有效的技术手段,因而近年来AOP受到人工智能、软件工程和分布计算等领域研究学者和工程实践人员的高度关注,并在过去20年取得了重要进展.但是,无论在应对复杂多Agent系统开发方面,还是在大规模工业化应用等方面,AOP的研究与实践都面临着严峻的挑战.作为一种程序设计范型,AOP研究需要在交叉其他学科知识(如人工智能)的基础上,充分借鉴软件工程以及已有程序设计范型的原理、原则和成功实践,从而推动技术走向成熟并为广大工程实践人员所接受.通过对AOP研究历程的系统介绍,从软件工程的视点考虑MAS程序设计的不同层次,综述AOP在程序设计抽象与模型、机制与理论、语言与设施和支撑平台这4个方面的研究成果,展示不同时期AOP研究关注点的变化以及发展趋势,分析当前AOP研究与实践存在的问题和面临的挑战,并展望进一步的研究.  相似文献   

6.
编程语言在软件设计领域经历过三次重大的变革,它们分别是面向过程的编程,面向对象的编程和泛型编程.其中的每一次变革不仅影响到编程语言本身,更影响到软件工程中的各个领域.文章介绍了这三种程序的设计方法,并且对其进行了比较和分析.  相似文献   

7.
软件测试是保证软件质量的重要手段。软件测试呈现向软件开发的前期发展、与软件开发的设计阶段和编码阶段相融合的发展趋势。软件的易测试性逐渐受到人们重视。合约式设计是一种有效的软件易测试性设计方法。本文介绍了软件易测试性设计的基本思想和主要方法,提出一种新的合约式设计方法,对现有各种基于Java语言的合约式设计工工具进行比较,开发了一种新的合约式设计工具,并通过实验验证了方法的有效性。  相似文献   

8.
在软件编制中数据类型的转换常会出现较大误差,通过分析数据在计算机中的存储格式,以及C语言的编译方法,探讨了出现误差的原因;并给了在C语言编程环境下,浮点数到整型数的正确转换方法。  相似文献   

9.
文章通过阐述计算机常用的编程语言,分析不同编程语言对计算机软件开发的影响,对计算机软件开发中编 程语言选择相关注意事项展开探讨,旨在为促进计算机软件开发中编程语言的合理选择提供一些思路。  相似文献   

10.
严奎 《工业控制计算机》2012,25(10):67-68,70
嵌入式PLC编程软件开发是嵌入式PLC控制系统的重要组成部分,就PLC编程软件中基于AOV图的梯形图语言到指令表语言的转换算法进行了讨论,并就算法上如何实现VC++编程和相关的界面编程进行了详细的阐述.  相似文献   

11.
阐述了开放式虚拟仪器平台LabVIEW的特点,介绍了PCI总线技术。利用图形化编程语言LabVIEW的虚拟仪器和动态特性,在计算机上构成用户界面动态显示和交互,使用LabVIEW动态链接库,调用板卡函数开发出了一个由计算机控制的FIFO半满式32路数字量采集系统,并且进行了软件可行性的测试。数据采集卡配合虚拟仪器中的LabVIEW编程,就能完成数据采集过程。实验证明,采用这种方法省去了复杂的语言编程,缩短了软件的开发时间,简化了开发过程,同时也增加了应用的灵活性。  相似文献   

12.
可视化编程数字图像处理平台的界面设计与实现   总被引:1,自引:0,他引:1  
可视化编程语言的出现给人机界面的设计带来了巨大的变化,通过对当前可视化编程现状的研究,利用VB的OOP和TreeView控件,提出并实现了将图形控件应用到了图像处理平台的界面设计当中。使用封装技术把算法信息封装在这些图形控件中,用VC中的DLL实现算法,避免了代码的编写,用户通过使用这些图形控件组成流程图开发出自己需要的软件,提高了图像处理的速度。该图形算法控件开发方法能增强组态的灵活性并提高开发效率,实现了软件重用。  相似文献   

13.
The author introduces a novel basis for programming environments that encourages development of software in fragments of various types, called fragtypes. Fragtypes range from a simple expression type to a complete subsystem type. As a result, they are suited to the development of software in an enlarged scope that includes both programming in the small and programming in the large. The author shows how proposed operations on fragtypes can achieve unusual effects on the software development process. Fragtypes and their associated construction rules form the basis of the programming environment MUPE-2, which is currently under development at McGill University. The target and the implementation language of this environment is the programming language Modula-2  相似文献   

14.
Erlang是一门诞生于世界通信巨头瑞典爱立信公司CS-Lab的函数式编程语言,面向高并发和高可靠性的电信级工业级应用,它同样适合于混合语言编程的软件开发。介绍了Erlang语言的特点,分析并给出了混合运用Erlang语言和其他编程语言进行开发的四种软件结构模型,结合四种模型的优缺点以及适用范围之后最终选用了基于端口机制的模型来达到快速构建软件的目的,并在此基础上开发了一个随机运动点的仿真应用。  相似文献   

15.
在EDA设计领域,Cadence作为最大电子设计自动化供应商,旗下的Allegro软件是业界知名的PCB设计软件,提供了丰富的二次开发接口和完善的开发语言.本文主要是基于Allegro软件的Skill语言二次开发,开发带有Form格式的编程框架,工程师使用该框架开发的工具能够通过UI界面实现人机交互,另外,工程师在改变...  相似文献   

16.
Recent advances in tooling and modern programming languages have progressively brought back the practice of developing domain-specific languages as a means to improve software development. Consequently, the problem of making composition between languages easier by emphasizing code reuse and componentized programming is a topic of increasing interest in research. In fact, it is not uncommon for different languages to share common features, and, because in the same project different DSLs may coexist to model concepts from different problem areas, it is interesting to study ways to develop modular, extensible languages. Earlier work has shown that traits can be used to modularize the semantics of a language implementation; a lot of attention is often spent on embedded DSLs; even when external DSLs are discussed, the main focus is on modularizing the semantics. In this paper we will show a complete trait-based approach to modularize not only the semantics but also the syntax of external DSLs, thereby simplifying extension and therefore evolution of a language implementation. We show the benefits of implementing these techniques using the Scala programming language.  相似文献   

17.
A testing-based approach for constructing and refining very high-level software functionality representations such as intentions, natural language assertions, and formal specifications is presented and applied to a standard line-editing problem as an illustration. The approach involves the use of specification-based (black-box) test-case generation strategies, high-level specification formalisms, redundant or parallel development and cross-validation, and a logic programming support environment. Test-case reference sets are used as software functionality representations for the purposes of cross-validating two distinct high-level representations, and identifying ambiguities and omissions in those representations. In fact, we propose the use of successive refinements of such test reference sets as the authoritative specification throughout the software development process. Potential benefits of the approach include improvements in user/ designer communication over all life cycle phases, and an increase in the quality of specifications and designs.  相似文献   

18.
Java语言是当前主流的编程语言,非计算机专业的学生学习Java编程具有重要的现实意义。针对非计算机专业的实际情况,结合作者教学经验,从教材选择、教学方式和培养素质和能力等方面做了一些探讨。  相似文献   

19.
Exception handling is widely regarded as a necessity in programming languages today and almost every programming language currently used for professional software development supports some form of it. However, spreadsheet systems, which may be the most widely used type of “programming language” today in terms of number of users using it to create “programs” (spreadsheets), have traditionally had only extremely limited support for exception handling. Spreadsheet system users range from end users to professional programmers and this wide range suggests that an approach to exception handling for spreadsheet systems needs to be compatible with the equational reasoning model of spreadsheet formulas, yet feature expressive power comparable to that found in other programming languages. We present an approach to exception handling for spreadsheet system users that is aimed at this goal. Some of the features of the approach are new; others are not new, but their effects on the programming language properties of spreadsheet systems have not been discussed before in the literature. We explore these properties, offer our solutions to problems that arise with these properties, and compare the functionality of the approach with that of exception handling approaches in other languages  相似文献   

20.
The realization of an abstract programming language is a good approach for automating the software production process and facilitating the correctness proof of a software system.

This paper introduces a formal language for programming at the abstract level by combining Pascal with VDM (Vienna Development Method). The notation provided by the language obliges programmers to consider the correctness of programs throughout the whole process of programming, and the proof axiom and rules presented in this paper may be used to prove the correctness of programs. A complete example is given to illustrate how to program using APL and how to prove the correctness of programs using the given axiom and rules.  相似文献   


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

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