Modula-2 was designed in 1979 by Prof. Niklaus Wirth as a successor to Pascal. It provides similar facilities for the description of algorithms and data structures, but differs radically from Pascal in allowing the co...
详细信息
Modula-2 was designed in 1979 by Prof. Niklaus Wirth as a successor to Pascal. It provides similar facilities for the description of algorithms and data structures, but differs radically from Pascal in allowing the composition of programs from separately compiled modules in a carefully controlled way. This paper recounts some experiences with implementing the languages for a variety of computers, and describes a collection of tools (mostly written in Modula-2) that provides an extensive program development environment for the language. In particular, a general set of run time libraries is described together with utilities for consistent compilation, symbolic debugging and run time profiling. The paper concludes with some observations on the language formed on the basis of these experiences.
Grid programming environments are tools designed to isolate users from issues such as heterogeneity, scalability and adaptability, thus simplifying the use of a Grid infrastructure. This paper presents work stealing p...
详细信息
Grid programming environments are tools designed to isolate users from issues such as heterogeneity, scalability and adaptability, thus simplifying the use of a Grid infrastructure. This paper presents work stealing programming environment (WSPE), a Grid programming environment for Grid-unaware applications. WSPE can be defined as a programming environment, since it is a software tool that presents both a programming model and an execution system. The WSPE consists of a simple programming interface and a fully decentralized runtime system following a peer-to-peer organization, both presented in this paper. It's runtime system employs a new scheduling mechanism, known as round stealing, inspired by the idea of work stealing. The main focus of our work is to research on methods to achieve efficient execution of parallel applications in a Grid computing infrastructure. By simulation, we show that our scheduling mechanism outperforms a more traditional mechanism in a Grid environment. We also demonstrate how an appropriate choice for a network overlay mechanism can further improve the execution efficiency. Copyright (C) 2009 John Wiley & Sons, Ltd.
PROSPEC is a software environment for designing and verifying communication protocols. It integrates several tools that implement methods for protocol verification and construction (e.g., fair reachability analysis, m...
详细信息
PROSPEC is a software environment for designing and verifying communication protocols. It integrates several tools that implement methods for protocol verification and construction (e.g., fair reachability analysis, multiphase construction and protocol projection). The system provides a unified graphical interface to facilitate the application of these methods and creates an interactive environment for specifying, verifying and designing communication protocols. PROSPEC was used successfully to design and verify versions of BSC, X.21, X.25, and Telnet document transfer protocols. [ABSTRACT FROM AUTHOR]
Marvel is a knowledge-based programming environment that assists software development teams in performing and coordinating their activities. While designing Marvel, several granularity issues were discovered that have...
详细信息
Marvel is a knowledge-based programming environment that assists software development teams in performing and coordinating their activities. While designing Marvel, several granularity issues were discovered that have a strong impact on the degree of intelligence that can be exhibited, as well as on the friendliness and performance of the environment. The most significant granularity issues include the refinement of software entities in the software database and decomposition of the software tools that process the entities and report their results to the human users. This paper describes the many alternative granularities and explains the choices made for Marvel.
To increase program comprehension and overcome learning obstacles of Object-Oriented programming (OOP), various visualization techniques have been adopted in educational OOP environments. Some provide software develop...
详细信息
To increase program comprehension and overcome learning obstacles of Object-Oriented programming (OOP), various visualization techniques have been adopted in educational OOP environments. Some provide software development with visual notations without source code, while others support programming with visual aids. Our research supports Java programming along with UML diagrams (class, object, and sequence) and dynamic execution traces of program synchronized in a web-based programming environment - JaguarCode. It aims to help students better understand the static structure and dynamic behavior of Java programs, as well as object-oriented design concepts. This paper reports on the evaluation results of JaguarCode to investigate its effectiveness and user satisfaction through quantitative and qualitative experiments. The experimental results revealed that having both static and dynamic visualizations did positively impact the correctness of program understanding and tracing problems, while the visual representations did affect students' understanding on the program execution of the problems to higher accuracy. It was also observed that students were satisfied with the aspects of those visualizations provided in JaguarCode.
A good programming language alone is not sufficient for economic software production. The programming environment has a significant influence on the productivity of software engineers. Providing a programmer with info...
详细信息
A good programming language alone is not sufficient for economic software production. The programming environment has a significant influence on the productivity of software engineers. Providing a programmer with information about an object-oriented software system requires extracting information from the source code, e.g. class, method and variable names. We use separate structures files for holding this information and take advantage of proven tools such as make and the C preprocessor for keeping the structure files up to date and for processing software systems that heavily use macros. In this paper we describe the concepts used for comfortable processing of C++ software systems, and discuss interesting design and implementation aspects, including structure files, the applied make mechanism and the exploitation of the C preprocessor.
The Fortran Parallel Transformer (FPT) is a parallelization tool for Fortran-77 programs. It is used for the automatic parallelization of loops, program transformations, dependence analysis, performance tuning and cod...
详细信息
The Fortran Parallel Transformer (FPT) is a parallelization tool for Fortran-77 programs. It is used for the automatic parallelization of loops, program transformations, dependence analysis, performance tuning and code generation for various platforms. FPT is able to deal with GOTO's by restructuring ill-structured code using hammock graph transformations. In this way more parallelism becomes detectable. The X-window based programming environment, PEFPT, extends FPT with interactive dependence analysis, the iteration space graph, ISG, and guided loop optimization. FPT contains a PVM (Parallel Virtual Machine) code generator which converts the parallel loops into PVM master- and slave-code for a network of workstations. This includes job schedul;ing, synchronization and optimized data communication. The productivity gained is about a factor of 10 in programming time and a significant speedup of the execution. (C) 1998 Elsevier Science Inc. All rights reserved.
The authors have developed an extended intelligent terminal system MDPS with four CRT displays controlled by microprocessors and with useful programming tools in order to achieve a high-level programming environment. ...
详细信息
The authors have developed an extended intelligent terminal system MDPS with four CRT displays controlled by microprocessors and with useful programming tools in order to achieve a high-level programming environment. The system is based on the fact that reference to, comparison among, and utilization of various kinds of information are the basic but essential actions in the programming environment. Users can arrange various kinds of information spatially using simple concepts “text” and “page” of MDPS. MDPS has several advantages over conventional terminal systems.
The RoboCup Soccer 2D Simulation is the oldest RoboCup league, and has been variably used as a test bed of a multi-agent systems [1]. programming beginners cannot paticipate in RoboCup because the programs used for Ro...
详细信息
ISBN:
(纸本)9781479921348;9780769550718
The RoboCup Soccer 2D Simulation is the oldest RoboCup league, and has been variably used as a test bed of a multi-agent systems [1]. programming beginners cannot paticipate in RoboCup because the programs used for RoboCup soccer 2D are very large and complicated. We want students who are interested in the RoboCup soccer 2D to participate more in games. We built the development environment yapEd that can develop a soccer agent program easily, in order to increase students' game participation. This paper reports the details of the environment created.
Fast feedback loops between performing code changes and seeing their outcome help developers to be productive. For development of virtual reality (VR) applications, developers use a separate device, forcing them to sw...
详细信息
ISBN:
(纸本)9781450399104
Fast feedback loops between performing code changes and seeing their outcome help developers to be productive. For development of virtual reality (VR) applications, developers use a separate device, forcing them to switch devices whenever they want to test their application, thus significantly increasing the length of the feedback loop. In this paper, we describe a prototypical development environment that allows writing VR applications while inside VR. Unlike previous work in this area that projected traditional 2D editors into the 3D world, we explore the use of direct manipulation in a structured editor for the general-purpose programming language Smalltalk. We present and discuss insights from a preliminary user study with four participants. Our findings demonstrate that the concept does work if users are given prior instructions, especially for smaller features where direct feedback is valuable, but ergonomics of both the hardware and our prototype have to be improved before extended programming sessions are viable.
暂无评论