首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
Programmable applications are software systems that seek to combine the learnability and accessibility of direct manipulation interfaces with the expressive power and range of programming languages. In this paper we explore techniques for creatively integrating language and interface constructs within programmable applications. Using SchemePaint—a programmable graphics application—as a source of examples, we demonstrate how an interface and language can combine symbolically and thereby provide powerful modes of expression within applications.  相似文献   

2.
Abstract

Programmable applications are software systems that seek to combine the learnability and accessibility of direct manipulation interfaces with the expressive power and range of programming languages. In this paper we explore techniques for creatively integrating language and interface constructs within programmable applications. Using SchemePaint—a programmable graphics application—as a source of examples, we demonstrate how an interface and language can combine symbolically and thereby provide powerful modes of expression within applications.  相似文献   

3.
This paper describes how the creative arts can provide an alternative approach to computer programming that may benefit students in the humanities in general. It focuses on creative arts projects using text, graphics and music that allow students to encounter the same programming concepts from a number of different perspectives. It also discusses the importance of symbolic programming for the arts and how the creative arts can provide a particularly rich environment for developing approaches to object-oriented programming.Gary Greenberg received his B. A. and M. A. in Music from Stanford University and his Ph.D. in Music from Harvard University. His activities include creating compositional programming environments (Composing with Performer Objects, The Proceedings of the 1988 International Computer Music Conference) and developing ways of using the computer to learn about music through compositional activities (Music Learning-Compositional Thinking). He is currently manager of the Northwestern University Advanced Technology Group where he coordinates the Computer Media Studio and is exploring ways to use computer multimedia in instruction and research.  相似文献   

4.
5.
We report a series of studies investigating the choices that users make between direct manipulation and abstract programming strategies when operating domestic appliances. We characterise these strategic choices in terms of the Attention Investment model of abstraction use. We then describe an experiment that investigates the estimation biases influencing the individual parameters of that model. These biases are linked to gender in a way that explains some gender differences in discretionary appliance use. Finally, we suggest design strategies that might compensate for those gender-linked estimation biases, and therefore make programmable features of future homes more accessible to a wider range of users.  相似文献   

6.
Palimpsest is a novel purely-visual language intended to support exploratory live programming. It demonstrates a new paradigm for the visual representation of constraint programming that may be appropriate to future generations of keyboardless and touchscreen devices. The current application domain is that of creative image manipulation, although the paradigm can support a wider range of computational expression. The combination of constraint semantics expressed via a novel image-layering metaphor provides a new approach to supporting a gradual slope of abstraction from direct manipulation to behaviour specification. Exploratory evaluations with a range of users give an indication of likely audiences, and opportunities for future development and application.  相似文献   

7.
8.
目前在不少文科院校中都开设了程序设计类课程,由于文理思维方式的差异、学习方法的不同,这些课程的学习对于文科学生来说普遍困难。文章根据教学实践经验,详细分析了教学对象的弱点,并有针对性的提出了相应的教学对策.  相似文献   

9.
在网速飞速提升、内存瓶颈突出、网络处理开销愈发显著的时代,普通网卡在网络协议处理、数据搬移、使用灵活性等方面逐渐暴露出缺陷.智能网卡,作为可编程的智能网络设备,在数据中心、科学计算领域均得到广泛关注,成为解决网络瓶颈的关键技术.在网络协议处理卸载、网络功能虚拟化、特定应用加速等应用场景中发挥着重要作用.综述从智能网卡的基础架构、编程框架、应用方向和热点问题4个方面进行分析,总结了目前产业界中的典型产品、学术界中的重要成果,明确了不同设计架构的优势和不足,分析了不同编程框架适用的应用场景,介绍了智能网卡在典型数据中心应用、科学计算应用实例中的作用,对不同应用场景中智能网卡的软硬件协同设计提供了建议.最后,综述对当前智能网卡设计、使用中仍然存在的热点问题进行总结,总结了通用的智能网卡设计思路,指明未来有价值的重要研究点.  相似文献   

10.
This paper focuses on intuitive and direct off-line robot programming from a CAD drawing running on a common 3-D CAD package. It explores the most suitable way to represent robot motion in a CAD drawing, how to automatically extract such motion data from the drawing, make the mapping of data from the virtual (CAD model) to the real environment and the process of automatic generation of robot paths/programs. In summary, this study aims to present a novel CAD-based robot programming system accessible to anyone with basic knowledge of CAD and robotics. Experiments on different manipulation tasks show the effectiveness and versatility of the proposed approach.  相似文献   

11.
Michel Rueher 《Software》1993,23(2):177-200
This paper explores PrologIII's capabilities through the study of two short but non-trivial applications that are chosen to show the advantages of constraint logic programming languages over conventional Prologs, especially for tackling combinatorial problems. The first application (manipulation of causal graphs) highlights the expressive power of the constraints on booleans and shows that constraint logic programming techniques provide great flexibility for the exploration of the domain of an application, and therefore significantly improve Prolog's prototyping capabilities. The second application (map colouring) demonstrates that a combined use of numerical constraints and constraints on trees of PrologIII enables one to improve solutions based on standard backtracking, through the use of simple heuristics. Such heuristics allow drastic reduction of the search space and yield good performance even for quite complex problems. The adaptability of the approach to other combinatorial problems is shown on several examples.  相似文献   

12.
针对高校非计算机专业学生对程序设计基础课程认识上的误区,教师应采用多元化的教学方法和策略,加强程序设计基本技能的训练。对于难理解的知识点,通过案例教学法等多种手段,结合多媒体教学,提高学生学习的积极性和主动性。  相似文献   

13.
14.
More and more technical systems are supervised, controlled and regulated by programmable electronic systems. The dependability of the entire system depends heavily on the safety of the embedded software. But the technological trend to entrust software with tasks of growing complexity and safety relevance conflicts with the lacking acceptance of rigorous proofs of software safety. Based on an international standard for higher level programming languages for programmable logic controllers (PLC, IEC 1131-3), a mathematically based method for validating the behavioral correctness and the functional safety of graphical designs of safety-critical control applications is introduced. The design elements taken from a domain specific module library are proven correct and safe only once. The functional correctness and satisfaction of safety requirements of new application graphical programs can then be shown effectively by reference to the proven properties of the library components used. This approach is part of an comprehensive computing architecture for safety-critical control programs which is presented in a survey.  相似文献   

15.
The conventional approach for the implementation of the knowledge base of a planning agent, on an intelligent embedded system, is solely of software nature. It requires the existence of a compiler that transforms the initial declarative logic program, specifying the knowledge base, to its equivalent procedural one, to be programmed to the embedded systems microprocessor. This practice increases the complexity of the final implementation (the declarative to sequential transformation adds a great amount of software code for simulating the declarative execution) and reduces the overall systems performance (logic derivations require the use of a stack and a great number of jump instructions for their evaluation). The design of specialized hardware implementations, which are only capable of supporting logic programs, in an effort to resolve the aforementioned problems, introduces limitations in their use in applications where logic programs need to be intertwined with traditional procedural ones in a desired application. In this paper, we exploit HW/SW codesign methods to present a microprocessor, capable of supporting hybrid applications using both programming approaches. We take advantage of the close relationship between attribute grammar (AG) evaluation and knowledge engineering methods to present a programmable hardware parser that performs logic derivations and combine it with an extension of a conventional RISC microprocessor that performs the unification process to report the success or failure of logic derivations. The extended RISC microprocessor is still capable of executing conventional procedural programs, thus hybrid applications can be implemented. The presented implementation increases the performance of logic derivations for the control inference process (experimental analysis yields an approximate 1000% – 10 times increase in performance) and reduces the complexity of the final implemented code through the introduction of an extended C language called C-AG that simplifies the programming of hybrid procedural-declarative applications.  相似文献   

16.
Programmable rewriting strategies provide a valuable tool for implementing traversal functionality in grammar-driven (or schema-driven) tools. The working Haskell programmer has access to programmable rewriting strategies via two similar options: (i) the Strafunski bundle for generic functional programming and language processing, and (ii) the “Scrap Your Boilerplate” approach to generic functional programming. Basic rewrite steps are encoded as monomorphic functions on datatypes. Rewriting strategies are polymorphic functions composed from appropriate basic strategy combinators.We will briefly review programmable rewriting strategies in Haskell. We will address the following questions:
• What are the merits of Haskellish strategies?
• What is the relation between strategic programming and generic programming?
• What are the challenges for future work on functional strategies?
Keywords: Rewrite startegies; programming languages; Haskell; functional programming  相似文献   

17.
Technological directions for innovative HPC software environments are discussed in this paper. We focus on industrial user requirements of heterogeneous multidisciplinary applications, performance portability, rapid prototyping and software reuse, integration and interoperability of standard tools. The various issues are demonstrated with reference to the PQE2000project and its programming environment Skeleton-based Integrated Environment ( ). includes a coordination language, , allowing the designers to express, in a primitive and structured way, efficient combinations of data parallelism and task parallelism. The goal is achieving fast development and good efficiency for applications in different areas. Modules developed with standard languages and tools are encapsulated into structures to form the global application. Performance models associated to the coordination language allow powerful optimizations to be introduced both at run time and at compile time without the direct intervention of the programmer. The paper also discusses the features of the environment related to debugging, performance analysis tools, visualization and graphical user interface. A discussion of the results achieved in some applications developed using the environment concludes the paper.  相似文献   

18.
Graphics processors (GPUs) provide a vast number of simple, data-parallel, deeply multithreaded cores and high memory bandwidths. GPU architectures are becoming increasingly programmable, offering the potential for dramatic speedups for a variety of general-purpose applications compared to contemporary general-purpose processors (CPUs). This paper uses NVIDIA’s C-like CUDA language and an engineering sample of their recently introduced GTX 260 GPU to explore the effectiveness of GPUs for a variety of application types, and describes some specific coding idioms that improve their performance on the GPU. GPU performance is compared to both single-core and multicore CPU performance, with multicore CPU implementations written using OpenMP. The paper also discusses advantages and inefficiencies of the CUDA programming model and some desirable features that might allow for greater ease of use and also more readily support a larger body of applications.  相似文献   

19.
Approximate Dynamic Programming for Self-Learning Control   总被引:4,自引:0,他引:4  
This paper introduces a self-learning control approach based on approximate dynamic programming. Dynamic programming was introduced by Bellman in the 1950’s for solving optimal control problems of nonlinear dynamical systems. Due to its high computational complexity, the applications of dynamic programming have been limited to simple and small problems. The key step in finding approximate solutions to dynamic programming is to estimate the performance index in dynamic programming. The optimal control signal can then be determined by minimizing (or maximizing) the performance index. Artificial neural networks are very efficient tools in representing the performance index in dynamic programming. This paper assumes the use of neural networks for estimating the performance index in dynamic programming and for generating optimal control signals, thus to achieve optimal control through self-learning.  相似文献   

20.
Visual computing emhpasizes visibility of information of interest and direct manipulation of visible information. It has become a dominant style of computing in recent years. In this paper, we review three major technologies that provide a platform for visual computing. These technologies reflect the needs of various people who use visual computers: programmers, end users, and scientists. We begin with a discussion of important developments in visual programming and follow with discussions of visual interfaces and visualization. We conclude with a summary of visual computing's current status and identify critical areas of research that should be emphasized in future work.  相似文献   

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

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