首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 31 毫秒
1.
编程语言在软件设计领域经历过三次重大的变革,它们分别是面向过程的编程,面向对象的编程和泛型编程.其中的每一次变革不仅影响到编程语言本身,更影响到软件工程中的各个领域.文章介绍了这三种程序的设计方法,并且对其进行了比较和分析.  相似文献   

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

3.
采用面向对象技术设计可视化程序设计语言的编译系统,通过对复杂的可视化图片语法进行分析,将各语法现象以语法单元类的形式进行抽象分类,提出了编译器-编译器的设计策略,给出了从可视化图片设计语言到伪指令代码的解决方法.主要研究在面向对象的编辑环境中如何实现满足硬件设备控制器的稳定、高效的编译系统.通过将可视化程序语言分析器(VPLPG)和小型的类C编译(LCC)器配合使用最终实现可视化程序设计语言的编译系统.  相似文献   

4.
魏兰  李文锋 《计算机工程》2007,33(13):104-106
采用面向对象技术设计可视化程序设计语言的编译系统,通过对复杂的可视化图片语法进行分析,将各语法现象以语法单元类的形式进行抽象分类,提出了编译器-编译器的设计策略,给出了从可视化图片设计语言到伪指令代码的解决方法。主要研究在面向对象的编辑环境中如何实现满足硬件设备控制器的稳定、高效的编译系统。通过将可视化程序语言分析器(VPLPG)和小型的类C编译(LCC)器配合使用最终实现可视化程序设计语言的编译系统。  相似文献   

5.
面向对象的程序设计目前已成为大多数计算机软件系统设计的一种新趋势.本文我们提出了一种如何在面向对象的环境中通过个体间灵活的消息传递方式自然、有机地结合多种知识表示方法的途径,并结合作者提出的一种面向对象的多风格智能程序设计语言OMIPL(在 SUN/4工作站上实现)详细说明了这种消息传递方式及其相应的消息响应过程.  相似文献   

6.
The simplest and most common robot training method is operator-guiding, but this method is inflexible and limited to fixed sequences. Explicit textual robot programming has enjoyed many advances in the last decade and current research implementations are powerful. But explicit programming is complex and programmers must be specially trained. Mixed systems attempt to unite the facility of guiding with the power of programming. However, existing mixed systems exhibit mismatches in the interaction between programming and guiding, because they ignore underlying dependencies between the programmer and operator. An operator may (1) be given insufficient visual cues; (2) lack the required dexterity; or (3) be required to add unforeseen movement sequences to the program. This paper presents the design and implementation of ART (adaptive robot trainer), a prototypical mixed robot training system that eliminates or corrects deficiencies in visual cues and dexterity, and additionally improves the guiding and programming components. Mixed systems and assembly tasks are analysed, to give an effective representation of task state, which in turn motivates the design of ART's language to automate much of the program-guiding interaction. The language allows the programmer to express assembly operations and object-feature relationships in a natural way while providing the system with the information necessary to maintain the task state. The representation also enables the correction of guiding errors, flexibility in the guiding protocol and the generation of meaningful messages to prompt operator actions. These principles in the design and implementation pave the road to more instructable, capable robots.Now at Bell Northern Research, Ottawa.  相似文献   

7.
Type-directed programming is an important and widely used paradigm in the design of software. With this form of programming, an application may analyze type information to determine its behavior. By analyzing the structure of data, many operations, such as serialization, cloning, adaptors and iterators may be defined once, for all types of data. That way, as the program evolves, these operations need not be updated—they will automatically adapt to new data forms. Otherwise, each of these operations must be individually redefined for each type of data, forcing programmers to revisit the same program logic many times during a program's lifetime.The Java language supports type directed programming with the instanceof operator and the Java Reflection API. These mechanisms allow Java programs to depend on the name and structure of the run-time classes of objects. However, the Java mechanisms for type-directed programming are difficult to use. They also do not integrate well with generics, an important new feature of the Java language.In this paper, we describe the design of several expressive new mechanisms for type-directed programming in Java, and show that these mechanisms are sound when included in a language similar to Featherweight Java. Basically, these new mechanisms pattern-match the name and structure of the type parameters of generic code, instead of the run-time classes of objects. Therefore, they naturally integrate with generics and provide strong guarantees about program correctness. As these mechanisms are based on pattern matching, they naturally and succinctly express many operations that depend on type information. Finally, they provide programmers with some degree of protection for their abstractions. Whereas instanceof and reflection can determine the exact run-time type of an object, our mechanisms allow any supertype to be supplied for analysis, hiding its precise structure.  相似文献   

8.
本文提出一种直观的函数分割型程序设计系统VFDP。  相似文献   

9.
并发约束程序设计语言COPS及其执行模型   总被引:1,自引:0,他引:1  
约束程序设计尤其是约束逻辑程序设计与并发约束程序设计在AI程序设计领域占据着越来越重要的位置。传统逻辑程序设计的基“计算即为定理证明”的计算风格虽获得了简洁优美的操作语义特性,但也付出了执行效率低的代价,当应用系统规模增大时,其性能严重下降以致崩溃。针对传统逻辑程序设计的这种可伸缩性问题,设计了一个基于并发约束程序设计概念的说明性语言COPS,旨在从语言设计与执行模型两方面降低说明性程序的不确定性,提高搜索与运行效率。在语言设计方面,通过引入确定性语言成分,避免不确定计算用于确定性目标所浪费的系统开销;在执行模型方面,在目标的并发穿叉执行与数据驱动的并发同步机制的基础上,实现“优先执行确定目标”策略与“最少假定”策略,作为约束传播的延伸,最大幅度地剪枝搜索空间,降低搜索复杂性。COPS提供的知识表示、推理与并发机制使其成为构造agent程序的理想语言。论文给出COPS语言的语法规范与执行模型的操作语义描述。  相似文献   

10.
SR is a new language for programming software containing many processes that execute in parallel. The language allows an entire software system that controls a potentially large collection of processors to be programmed as an integrated set of software modules. The key language mechanisms are resources, operations and input statements. The language supports separate compilation, type abstraction, and dynamic communication links; it also contains novel treatments of arrays and procedures. This paper gives an overview of the language mechanisms, discusses some of the major design decisions and describes one implementation.  相似文献   

11.
UML (Unified Modeling Language) is a visual modeling language used for specifying,visualizing,constructing,and documenting the artifacts of software systems by various diagrams.It has been widely accepted as a standard modeling language in both academic and industrial areas.UML sequence diagrams are mostly used in specifying system requirements.By representing interactions,which are arranged in time sequence,between the objects in a system,sequence diagrams can construct scenarios indicating the system‘‘s functions.A UML statechart diagram is a graph shows the sequences of states that an object or an interaction goes through during its life in response to received stimuli,together with its responses and actions.It‘‘s useful in the design stage of system development.This essay discusses the computer-aided transformation from sequence diagrams to statechart diagrams,which can offer strong support for the transfering from requirement analysis to system design in the software development process.With OCL (Object Control Language) semantic constrain,a transform algorithm is provided in the paper.And the differences with the related works are also mentioned.  相似文献   

12.
13.
Adaptive Web systems (AWS) are Web-based systems that can adapt their features such as, presentation, content, and structure, based on users’ behaviour and preferences, device capabilities, and environment attributes. A framework was developed in our research group to provide the necessary components and protocols for the development of adaptive Web systems; however, there were several issues and shortcomings (e.g. low productivity, lack of verification mechanisms, etc.) in using the framework that inspired the development of a domain-specific language for the framework. This paper focuses on the proposal, design, and implementation of AWL, the Adaptive Web Language, which is used to develop adaptive Web systems within our framework. Not only does AWL address the existing issues in the framework, but it also offers mechanisms to increase software quality attributes, especially, reusability. An example application named PENS (a personalized e-News system) is explained and implemented in AWL. AWL has been designed based on the analysis of the adaptive Web domain, having taken into account the principles of reuse-based software engineering (product-lines), domain-specific languages, and aspect-oriented programming. Specially, a novel design decision, inspired by aspect-oriented programming paradigm, allows separate specification of presentation features in an application from its adaptation features. The AWL’s design decisions and their benefits are explained.  相似文献   

14.
周鹏  武延军  赵琛 《软件学报》2019,30(5):1224-1242
自动化编程是智能软件的核心挑战之一,使用程序执行轨迹或输入输出样例学习程序,是自动化编程的典型研究方法.这些方法无法弥合常规程序元素与神经网络组件间的隔阂,不能吸收经验信息输入、缺乏编程控制能力.给出了一种可无缝结合高级编程语言与神经网络组件的混合编程模型:使用高级编程语言元素和神经网络组件元素混合开发应用程序,其中,编程语言描述程序的框架、提供经验信息,关键复杂部分则用未定、可学习的神经网络组件占位,应用程序在可微分抽象机上运行生成程序的连续可微分计算图表示,然后使用输入输出数据,通过可微分优化方法对计算图进行训练,学习程序的未定部分,自动生成完整的确定性程序.可微分抽象机混合编程模型给出了一种能够将编程经验与神经网络自学习相结合的程序自动生成方法,弥合编程语言元素与神经网络元素间的隔阂,发挥并整合高级过程化编程和神经网络可训练学习编程各自的优势,将复杂的细节交给神经网络未定部分自动生成,降低编程难度或工作量,而适当的经验输入又有助于未定部分的学习,同时,为复用长期积累的宝贵编程经验提供输入接口.  相似文献   

15.
Development environments based on ActiveX controls and JavaBeans are marketed as ‘visual programming’ platforms; in practice their visual dimension is limited to the design and implementation of an application's graphical user interface (GUI). The availability of sophisticated GUI development environments and visual component development frameworks is now providing viable platforms for implementing visual programming within general‐purpose platforms, i.e. for the specification of non‐GUI program functionality using visual representations. We describe how specially designed reflective components can be used in an industry‐standard visual programming environment to graphically specify sophisticated data transformation pipelines that interact with GUI elements. The components are based on Unix‐style filters repackaged as ActiveX controls. Their visual layout on the development environment canvas is used to specify the connection topology of the resultant pipeline. The process of converting filter‐style programs into visual controls is automated using a domain‐specific language. We demonstrate the approach through the design and the visual implementation of a GUI‐based spell‐checker. Copyright © 2001 John Wiley & Sons, Ltd.  相似文献   

16.
Nowadays, concurrent programs are an inevitable part of many software applications. They can increase the computation performance of the applications by parallelizing their computations. One of the approaches to realize the concurrency is using multi thread programming. However, these systems are structurally complex considering the control of the parallelism (such as thread synchronization and resource control) and also considering the interaction between their components. So, the design of these systems can be difficult and their implementation can be error-prone especially when the addressed system is big and complex. On the other hand, a Domain-specific Modeling Language (DSML) is one of the Model Driven Development (MDD) approaches which tackles this problem. Since DSMLs provide a higher abstraction level, they can lead to reduce the complexities of the concurrent programs. With increasing the abstraction level and generating the artifacts automatically, the performance of developing the software (both in design and implementation phases) is increased, and the efficiency is raised by reducing the probability of occurring errors. Thus, in this paper, a DSML is proposed for concurrent programs, called DSML4CP, to work in a higher level of abstraction than code level. To this end, the concepts of concurrent programs and their relationships are presented in a metamodel. The proposed metamodel provides a context for defining abstract syntax, and concrete syntax of the DSML4CP. This new language is supported by a graphical modeling tool which can visualize different instance models for domain problems. In order to clarify the expressions of the language; the static semantic controls are realized in the form of constraints. Finally, the architectural code generation is fulfilled via model transformation rules using the templates of the concurrent programs. To increase level of the DSML׳s leverage and to demonstrate the general support of concurrent programming by the DSML, the transformation mechanism of the tool supports two well-known and highly used programming languages for code generation; Java and C#. The performed experiments on two case studies indicate a high performance for proposed language. In this regard, the results show automatic generation of 79% of the final code and 86% of the functions/modules on average.  相似文献   

17.
Concurrent programming is more difficult to use and understand than sequential programming. In order to simplify this type of programming a number of approaches have been developed such as visual programming. Visual Occam (VISO) is a visual programming language for concurrent programming. It has a graphical syntax based on the language Occam and its semantics is represented both in petri net and process calculus. This paper presents a modular visual approach to write concurrent programs using the VISO language. Concurrent programs in VISO are specified graphically at different levels of abstraction. This paper describes this modular visual approach by constructing two examples in VISO. The first example is a simple concurrent program and it is mainly used to show the details of constructing a concurrent program in VISO. The second example is a larger concurrent program with more levels of abstraction. Copyright © 2000 John Wiley & Sons, Ltd.  相似文献   

18.
In this paper, we present Monaco – a domain-specific language for developing event-based, reactive process control programs – and its visual interactive programming environment. The main purpose of the language is to bring process control programming closer to domain experts. Important design goals have therefore been to keep the language concise and to allow programs to be written that reflect the perceptions of domain experts. Monaco is similar to Statecharts in its expressive power, but adopts an imperative notation. Moreover, Monaco uses a state-of-the-art component approach with interfaces and polymorphic implementations, and enforces strict hierarchical component architectures that support hierarchical abstraction of control functionality. We present the main design goals, the essential programming elements, the visual interactive programming environment, results from industrial case studies, and a formal definition of the semantics of the reactive behavior of Monaco programs in the form of labeled transition systems.  相似文献   

19.
Rust是为了解决系统编程领域的安全性问题, 而设计的一门面向系统编程的兼具类型安全、内存安全和并发安全的新型程序设计语言, 强调安全性和高性能, 已经在操作系统内核、Web浏览器、网络协议栈、数据库和区块链等底层软件系统的构建中得到了越来越广泛的应用。现有研究表明, 尽管Rust的设计目标是保证安全性, 但其自身仍然存在许多安全问题。作为一门系统编程语言, Rust的安全性直接影响到基于Rust开发的软件系统的安全性。随着Rust的广泛应用, 对Rust语言安全的研究显得尤为重要。Rust语言安全研究正在成为研究热点, 并且在近几年已经取得了较大研究进展。本综述基于该研究领域已经公开发表的46篇研究论文,对该领域的相关研究进行了系统整理、分析和总结: 首先, 研究分析了Rust的核心安全特性, 包括函数式编程范式、强多态类型系统、基于所有权模型的自动内存管理、对非安全代码的显式标记和隔离; 其次, 提出了Rust语言安全研究领域的分类学, 将已有研究分为安全实证研究、漏洞检测研究、安全增强研究和形式化验证研究四个热点方向, 并分别对这四个方向上的相关研究进行了综述、深入分析和总结, 同时分析了四个研究方向的内在联系; 最后, 指出了该研究领域的待解决的科学问题, 并对未来可能的研究方向进行了展望, 提出了四个潜在的研究方向, 以期为相关领域的研究者提供有价值的参考。  相似文献   

20.
The paper deals with using design knowledge encoded in a visual language and graph-based structures to support the conceptual phase of designing. The visual language is based on the design conceptualization and composed of design diagrams being configurations of geometric primitives. A symbolic representation of design structures in terms of objects specified by the conceptualization and relations between them is defined, and then mapped into diagrams by a given realization. Diagrams are automatically transformed into the corresponding graph-based data structures. The knowledge stored in the graph representations of diagrams is translated into first-order logic formulas which describe generated design configurations. A proposed logic-based reasoning mechanism allows the design supporting system to check the compatibility of designs with the given requirements and constraints. The approach is illustrated by examples of designing configurations of transmission truss towers.  相似文献   

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

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