Although substantial variety exists among small programming environments, common points-of-choice in their design suggest the following structural characterization: real or virtual hardware; message-passing or procedu...
详细信息
Although substantial variety exists among small programming environments, common points-of-choice in their design suggest the following structural characterization: real or virtual hardware; message-passing or procedure-calling; static or dynamic binding; horizontal or vertical organization; abstract or concrete structures; fixed or extensible language. Often these dimensions must support a very focused programming idiom, which combined with other requirements such as portability or performance, establishes structural dependencies, precludes features and forces exceptions. The characterization provides a rough framework that is useful in evaluating programming environments.
This paper compares programming environments that exploit heterogeneous systems to process a large amount of data efficiently. Our motivation is to investigate the feasibility of the adaptive, transparent migration of...
详细信息
This paper compares programming environments that exploit heterogeneous systems to process a large amount of data efficiently. Our motivation is to investigate the feasibility of the adaptive, transparent migration of intensive computation for a large amount of data across heterogeneous programming languages and processors for high performance and programmability. We compare a variety of programming environments composed of programming languages, such as Java and C, memory space models, such as distinct and shared memory, and parallel processors, such as general-purpose CPUs and graphics processing units (GPUs) to examine their performance-programmability tradeoffs. In addition, we introduce a software based shared virtual memory that creates a view of the host memory inside GPU kernels to enable seamless computation offloading from the host to the device. This paper reveals a programmability-performance hierarchy in which programs increase their performance at the cost of decreasing programmability. The experimental results suggest the desirability of a well-balanced system.
This study introduces the Concrete Computational Concepts programming environments (3CPEs), an innovative approach designed to help elementary students grasp abstract computational concepts through concrete metaphors ...
详细信息
ISBN:
(纸本)9798400703317
This study introduces the Concrete Computational Concepts programming environments (3CPEs), an innovative approach designed to help elementary students grasp abstract computational concepts through concrete metaphors using tangible and everyday objects. Traditional programming environments for children focus on concrete programming language syntax and semantics yet often fall short in conveying advanced computational concepts. To address this gap, 3CPEs combine the hands-on appeal of computer-science unplugged activities with the versatility of programming environments, using familiar objects and gamified elements to visualize abstract computational and algorithmic ideas. An example is CT (Computational Thinking) Chef, a 3CPEs implementation to enhance elementary students' understanding of programming concepts. Through design workshops with five elementary programming teachers, we preliminarily identified teaching challenges and evaluated 3CPEs' efficacy as an educational tool. The feedback underscores CT Chef's potential in facilitating the teaching of intricate computational concepts for young learners.
Elaborated gaze tracking devices are hitting the consumer market. This gives an existing human-computer interaction technique the chance to be widely applied in software applications. Programmers can benefit from this...
详细信息
ISBN:
(纸本)9781450347761
Elaborated gaze tracking devices are hitting the consumer market. This gives an existing human-computer interaction technique the chance to be widely applied in software applications. Programmers can benefit from this development. They tend to work on multiple or large screens to interact with diverse tools in parallel. When programmers switch between reading and typing, the keyboard focus might not be where expected. Such distractions leave the programmer dissatisfied. Gaze information can help to determine which tool a programmer focusses on. Our goal is to explore the use of gaze information for programming environments. Specifically, we investigate a case where a programmer's view focus and the intended keyboard focus correlate. For specific programming tasks, our work shows that it is beneficial to set the keyboard focus to a programmer's view focus.
Blocks-based programming environments offer an alternative program representation to textual source code that simplifies the considerations of syntax for novices. This position paper raises the question of whether add...
详细信息
ISBN:
(纸本)9781467383677
Blocks-based programming environments offer an alternative program representation to textual source code that simplifies the considerations of syntax for novices. This position paper raises the question of whether additional affordances related to transparency of data, transparency of semantics, and liveness of execution can be consistently added to these environments to obtain some significant advantages for these novice programmers.
A tool for the performance analysis of parallel systems is presented. The tool aims at the special requirements of real time applications, that differ from the requirements in numeric computing. The trace data can be ...
详细信息
A tool for the performance analysis of parallel systems is presented. The tool aims at the special requirements of real time applications, that differ from the requirements in numeric computing. The trace data can be produced either by a simulator or by target system monitors. The trace format offers features to reduce trace data in the data recording process. The tool offers an easy to use user interface based on the definition of the trace file format on a semantic level. Measurements can be selected, combined and composed from a data base. The selected measurements can be displayed in different fashions. The user can choose the granularity of the displayed results. It is possible to move backward and forward in observation time by means of a tape player like window. An example session to explain the usage of the tool is given.
In order to achieve the maximum level of integration, it is necessary to develop appropriate standards for both software and communication systems. As far as the latter are concerned, the work of the international sta...
详细信息
In order to achieve the maximum level of integration, it is necessary to develop appropriate standards for both software and communication systems. As far as the latter are concerned, the work of the international standardization organizations has already given results which will soon be used by manufacturers, vendors and users of industrial automation systems. Of great interest, however, in the industrial environment is the recent setting up of standardization activity in various sectors linked to the development of software for industrial automation systems. In this paper, on the basis of the work carried out by ISO TC184, the authors analyze the current state of development of standards for software to be used in industrial environments, and discuss foreseeable future orientations. In particular, the following standards are outlined: STEP (STandard for the Exchange of Product model data), which deals with a computer-interpretable representation of product data independent of any particular computer system;MAPLE (Manufacturing Application programming Language environment), which is a structured set of tools needed for integration of different application programs in an industrial environment;ICR (Intermediate Code for Robots) and PLR (programming Language for Robots), which are part of a robot system programming environment.
In this paper we present a global approach for programming distributed multiprocessor systems. In this approach, applications are developed as a global parallel program that is independent of the particular hardware a...
详细信息
In this paper we present a global approach for programming distributed multiprocessor systems. In this approach, applications are developed as a global parallel program that is independent of the particular hardware architecture, and is represented through an extended Petri net model. The building blocks for the global program are tasks that are implemented using standard programming languages. A highly automated tool is used to allocate the different tasks to processing nodes in a near-optimum way, minimizing message traffic in the interconnection network and balancing the execution workload in the different nodes. The combined use of this tool with analysis and simulation tools for Petri nets allows us to obtain information about the performance and behavior of the global program. The tool divides the original extended Petri net into several subnets that are distributed among the different nodes, and provides for the installation, execution, and monitoring of the program. An example is presented in which our programming strategy is compared to PVM, which is a widely extended software tool for the distribution of programs in a network of computers.
Robotic Development environments (RDEs) have come to play an increasingly important role in robotics research in general, and for the development of architectures for mobile robots in particular. Yet, no systematic ev...
详细信息
Robotic Development environments (RDEs) have come to play an increasingly important role in robotics research in general, and for the development of architectures for mobile robots in particular. Yet, no systematic evaluation of available RDEs has been performed;establishing a comprehensive list of evaluation criteria targeted at robotics applications is desirable that can subsequently be used to compare their strengths and weaknesses. Moreover, there are no practical evaluations of the usability and impact of a large selection of RDEs that provides researchers with the information necessary to select an RDE most suited to their needs, nor identifies trends in RDE research that suggest directions for future RDE development. This survey addresses the above by selecting and describing nine open source, freely available RDEs for mobile robots, evaluating and comparing them from various points of view. First, based on previous work concerning agent systems, a conceptual framework of four broad categories is established, encompassing the characteristics and capabilities that an RDE supports. Then, a practical evaluation of RDE usability in designing, implementing, and executing robot architectures is presented. Finally, the impact of specific RDEs on the field of robotics is addressed by providing a list of published applications and research projects that give concrete examples of areas in which systems have been used. The comprehensive evaluation and comparison of the nine RDEs concludes with suggestions of how to use the results of this survey and a brief discussion of future trends in RDE design.
This paper describes a tool graph originally developed for the Faust environment. Faust is a scientific program development environment being implemented at the Center for Supercomputing Research and Development at th...
详细信息
This paper describes a tool graph originally developed for the Faust environment. Faust is a scientific program development environment being implemented at the Center for Supercomputing Research and Development at the University of Illinois at Urbana-Champaign. The graph tool comprises two major components: the Graph Manager that implements an abstract graph data type, and the Graph Browser that handles the details of displaying a subgraph of a graph created through the Graph Manager. The Graph Browser displays graph views, where a graph view is a subgraph of its parent graph. The concept of graph views is analogous to the concept of views in the traditional database sense. Several graph views may simultaneously exist for a single parent graph, where each view's subgraph depends on the context of the application requesting the view. Goals of the graph tool, GMB, included providing an abstract graph data type for general use and animating graphs efficiently.
暂无评论