Programming Environment (programming + environment)

Distribution by Scientific Domains


Selected Abstracts


A programming environment for behavioural animation

COMPUTER ANIMATION AND VIRTUAL WORLDS (PREV: JNL OF VISUALISATION & COMPUTER ANIMATION), Issue 5 2002
Frédéric Devillers
Abstract Behavioural models offer the ability to simulate autonomous agents like organisms and living beings. Psychological studies have shown that human behaviour can be described by a perception,decision,action loop, in which the decisional process should integrate several programming paradigms such as real time, concurrency and hierarchy. Building such systems for interactive simulation requires the design of a reactive system treating flows of data to and from the environment, and involving task control and preemption. Since a complete mental model based on vision and image processing cannot be constructed in real time using purely geometrical information, higher levels of information are needed in a model of the virtual environment. For example, the autonomous actors of a virtual world would exploit the knowledge of the environment topology to navigate through it. Accordingly, in this paper we present our programming environment for real-time behavioural animation which is compounded of a general animation and simulation platform, a behavioural modelling language and a scenario-authoring tool. Those tools has been used for different applications such as pedestrian and car driver interaction in urban environments, or a virtual museum populated by a group of visitors. Copyright © 2002 John Wiley & Sons, Ltd. [source]


Task Pool Teams: a hybrid programming environment for irregular algorithms on SMP clusters

CONCURRENCY AND COMPUTATION: PRACTICE & EXPERIENCE, Issue 12 2006
Judith Hippold
Abstract Clusters of symmetric multiprocessors (SMPs) are popular platforms for parallel programming since they provide large computational power for a reasonable price. For irregular application programs with dynamically changing computation and data access behavior, a flexible programming model is needed to achieve efficiency. In this paper we propose Task Pool Teams as a hybrid parallel programming environment to realize irregular algorithms on clusters of SMPs. Task Pool Teams combine task pools on single cluster nodes by an explicit message passing layer. They offer load balance together with multi-threaded, asynchronous communication. Appropriate communication protocols and task pool implementations are provided and accessible by an easy-to-use application programmer interface. As application examples we present a branch and bound algorithm and the hierarchical radiosity algorithm. Copyright © 2006 John Wiley & Sons, Ltd. [source]


A robust monitor construct with runtime fault detection,

CONCURRENCY AND COMPUTATION: PRACTICE & EXPERIENCE, Issue 5 2006
Jiannong Cao
Abstract The monitor concept provides a structured and flexible high-level programming construct to control concurrent accesses to shared resources. It has been widely used in a concurrent programming environment for implicitly ensuring mutual exclusion and explicitly achieving process synchronization. This paper proposes an extension to the monitor construct for detecting runtime errors in monitor operations. Monitors are studied and classified according to their functional characteristics. A taxonomy of concurrency control faults over a monitor is then defined. The concepts of a monitor event sequence and a monitor state sequence provide a uniform approach to history information recording and fault detection. Rules for detecting various types of faults are defined. Based on these rules, fault-detection algorithms are developed. A prototypical implementation of the proposed monitor construct with runtime fault detection mechanisms has been developed in Java. We shall briefly report our experience with and the evaluation of the robust monitor prototype. Copyright © 2005 John Wiley & Sons, Ltd. [source]


Full waveform seismic inversion using a distributed system of computers

CONCURRENCY AND COMPUTATION: PRACTICE & EXPERIENCE, Issue 11 2005
Indrajit G. Roy
Abstract The aim of seismic waveform inversion is to estimate the elastic properties of the Earth's subsurface layers from recordings of seismic waveform data. This is usually accomplished by using constrained optimization often based on very simplistic assumptions. Full waveform inversion uses a more accurate wave propagation model but is extremely difficult to use for routine analysis and interpretation. This is because computational difficulties arise due to: (1) strong nonlinearity of the inverse problem; (2) extreme ill-posedness; and (3) large dimensions of data and model spaces. We show that some of these difficulties can be overcome by using: (1) an improved forward problem solver and efficient technique to generate sensitivity matrix; (2) an iteration adaptive regularized truncated Gauss,Newton technique; (3) an efficient technique for matrix,matrix and matrix,vector multiplication; and (4) a parallel programming implementation with a distributed system of processors. We use a message-passing interface in the parallel programming environment. We present inversion results for synthetic and field data, and a performance analysis of our parallel implementation. Copyright © 2005 John Wiley & Sons, Ltd. [source]


Ibis: a flexible and efficient Java-based Grid programming environment

CONCURRENCY AND COMPUTATION: PRACTICE & EXPERIENCE, Issue 7-8 2005
Rob V. van Nieuwpoort
Abstract In computational Grids, performance-hungry applications need to simultaneously tap the computational power of multiple, dynamically available sites. The crux of designing Grid programming environments stems exactly from the dynamic availability of compute cycles: Grid programming environments (a) need to be portable to run on as many sites as possible, (b) they need to be flexible to cope with different network protocols and dynamically changing groups of compute nodes, while (c) they need to provide efficient (local) communication that enables high-performance computing in the first place. Existing programming environments are either portable (Java), or flexible (Jini, Java Remote Method Invocation or (RMI)), or they are highly efficient (Message Passing Interface). No system combines all three properties that are necessary for Grid computing. In this paper, we present Ibis, a new programming environment that combines Java's ,run everywhere' portability both with flexible treatment of dynamically available networks and processor pools, and with highly efficient, object-based communication. Ibis can transfer Java objects very efficiently by combining streaming object serialization with a zero-copy protocol. Using RMI as a simple test case, we show that Ibis outperforms existing RMI implementations, achieving up to nine times higher throughputs with trees of objects. Copyright © 2005 John Wiley & Sons, Ltd. [source]


Managing distributed shared arrays in a bulk-synchronous parallel programming environment

CONCURRENCY AND COMPUTATION: PRACTICE & EXPERIENCE, Issue 2-3 2004
Christoph W. KesslerArticle first published online: 7 JAN 200
Abstract NestStep is a parallel programming language for the BSP (bulk-hronous parallel) programming model. In this article we describe the concept of distributed shared arrays in NestStep and its implementation on top of MPI. In particular, we present a novel method for runtime scheduling of irregular, direct remote accesses to sections of distributed shared arrays. Our method, which is fully parallelized, uses conventional two-sided message passing and thus avoids the overhead of a standard implementation of direct remote memory access based on one-sided communication. The main prerequisite is that the given program is structured in a BSP-compliant way. Copyright © 2004 John Wiley & Sons, Ltd. [source]


RTSVC: Real-time system for visual control of robots

INTERNATIONAL JOURNAL OF IMAGING SYSTEMS AND TECHNOLOGY, Issue 4 2008
Eusebio Bugarin
Abstract This article presents an image processing system that can work in hard real-time. Compared with systems that use the traditional multiprocessor architecture approach, this computer system takes advantage on recent technological advances and it is designed to work with a single processor PC under RTLinux. Its programming environment is similar to C programming language and it offers a friendly graphical user interface. The performance of the system is illustrated by means of experiments applied to visual guidance of mobile robots via velocity fields using a fixed high-speed camera. The experiments were carried out with a strict sampling frequency of 100 Hz. © 2008 Wiley Periodicals, Inc. Int J Imaging Syst Technol, 18, 251,256, 2008; Published online in Wiley InterScience (www.interscience.wiley.com). [source]


Intelligent Fril/SQL interrogator

INTERNATIONAL JOURNAL OF INTELLIGENT SYSTEMS, Issue 3 2007
Dong (Walter) Xie
The intelligent Fril/SQL interrogator is an object-oriented and knowledge-based support query system, which is implemented by the set of logic objects linking one another. These logic objects integrate SQL query, support logic programming language,Fril and Fril query together by processing them in sequence in slots of each logic object. This approach therefore takes advantage of both object-oriented system and a logic programming-based system. Fuzzy logic data mining and a machine learning tool kit built in the intelligent interrogator can automatically provide a knowledge base or rules to assist a human to analyze huge data sets or create intelligent controllers. Alternatively, users can write or edit the knowledge base or rules according to their requirements, so that the intelligent interrogator is also a support logic programming environment where users can write and run various Fril programs through these logic objects. © 2007 Wiley Periodicals, Inc. Int J Int Syst 22: 279,302, 2007. [source]


Exploring the mathematics of motion through construction and collaboration

JOURNAL OF COMPUTER ASSISTED LEARNING, Issue 2 2006
G. Simpson
Abstract In this paper, we give a detailed account of the design principles and construction of activities designed for learning about the relationships between position, velocity and acceleration, and corresponding kinematics graphs. Our approach is model-based, that is, it focuses attention on the idea that students constructed their own models , in the form of programs , to formalise and thus extend their existing knowledge. In these activities, students controlled the movement of objects in a programming environment, recording the motion data and plotting corresponding position,time and velocity,time graphs. They shared their findings on a specially designed Web-based collaboration system, and posted cross-site challenges to which others could react. We present learning episodes that provide evidence of students making discoveries about the relationships between different representations of motion. We conjecture that these discoveries arose from their activity in building models of motion and their participation in classroom and online communities. [source]


SENSOMINER: A PACKAGE FOR SENSORY DATA ANALYSIS

JOURNAL OF SENSORY STUDIES, Issue 1 2008
SEBASTIEN LE
ABSTRACT We propose a new package for sensory data analysis, named SensoMineR. SensoMineR is implemented in the R programming environment and can be accessed at the following addresses: http://sensominer.free.fr or http://cran.r-project.org. This package produces graphical displays of data that are simple to interpret, and it also provides syntheses of results issuing from various analysis of variance models or from various factor analysis methods accompanied with confidence ellipses. PRACTICAL APPLICATIONS SensoMineR is a free software intended for sensory analysts from both academic and corporate institutions. SensoMineR is an easy and powerful solution that tackles the following problems: characterization of the products, panel performance assessment, links between sensory and instrumental data, consumer's preferences, napping evaluation, optimal designs. SensoMineR is implemented in R and can be used easily with the help of a very intuitive graphical interface. [source]


General algorithm for automated off-center MRI

MAGNETIC RESONANCE IN MEDICINE, Issue 1 2006
J. Magland
Abstract A general formula was derived that automatically modifies any MRI pulse sequence to realize arbitrary field-of-view (FOV) shifts. Unlike conventional techniques for implementing off-center MRI, the new method is completely automatic and can therefore be incorporated into the scanner hardware or software, thereby simplifying the development of MRI pulse sequences. The algorithm was incorporated into a visual pulse sequence programming environment, and several pulse sequences were programmed and tested at various off-center locations using the new technique. Unless there is significant background field inhomogeneity or gradient nonlinearity, research sequences employing the automatic technique need only be programmed and tested at the gradient isocenter, whereas with conventional methods, artifacts can sometimes depend on the position of the FOV. Magn Reson Med, 2006. © 2006 Wiley-Liss, Inc. [source]


Visualizing massively multithreaded applications with ThreadScope

CONCURRENCY AND COMPUTATION: PRACTICE & EXPERIENCE, Issue 1 2010
Kyle B. Wheeler
Abstract As highly parallel multicore machines become commonplace, programs must exhibit more concurrency to exploit the available hardware. Many multithreaded programming models already encourage programmers to create hundreds or thousands of short-lived threads that interact in complex ways. Programmers need to be able to analyze, tune, and troubleshoot these large-scale multithreaded programs. To address this problem, we present ThreadScope: a tool for tracing, visualizing, and analyzing massively multithreaded programs. ThreadScope extracts the machine-independent program structure from execution trace data from a variety of tracing tools and displays it as a graph of dependent execution blocks and memory objects, enabling identification of synchronization and structural problems, even if they did not occur in the traced run. It also uses graph-based analysis to identify potential problems. We demonstrate the use of ThreadScope to view program structure, memory access patterns, and synchronization problems in three programming environments and seven applications. Copyright © 2009 John Wiley & Sons, Ltd. [source]


Performance comparison of MPI and OpenMP on shared memory multiprocessors

CONCURRENCY AND COMPUTATION: PRACTICE & EXPERIENCE, Issue 1 2006
Géraud Krawezik
Abstract When using a shared memory multiprocessor, the programmer faces the issue of selecting the portable programming model which will provide the best performance. Even if they restricts their choice to the standard programming environments (MPI and OpenMP), they have to select a programming approach among MPI and the variety of OpenMP programming styles. To help the programmer in their decision, we compare MPI with three OpenMP programming styles (loop level, loop level with large parallel sections, SPMD) using a subset of the NAS benchmark (CG, MG, FT, LU), two dataset sizes (A and B), and two shared memory multiprocessors (IBM SP3 NightHawk II, SGI Origin 3800). We have developed the first SPMD OpenMP version of the NAS benchmark and gathered other OpenMP versions from independent sources (PBN, SDSC and RWCP). Experimental results demonstrate that OpenMP provides competitive performance compared with MPI for a large set of experimental conditions. Not surprisingly, the two best OpenMP versions are those requiring the strongest programming effort. MPI still provides the best performance under some conditions. We present breakdowns of the execution times and measurements of hardware performance counters to explain the performance differences. Copyright © 2005 John Wiley & Sons, Ltd. [source]


Ibis: a flexible and efficient Java-based Grid programming environment

CONCURRENCY AND COMPUTATION: PRACTICE & EXPERIENCE, Issue 7-8 2005
Rob V. van Nieuwpoort
Abstract In computational Grids, performance-hungry applications need to simultaneously tap the computational power of multiple, dynamically available sites. The crux of designing Grid programming environments stems exactly from the dynamic availability of compute cycles: Grid programming environments (a) need to be portable to run on as many sites as possible, (b) they need to be flexible to cope with different network protocols and dynamically changing groups of compute nodes, while (c) they need to provide efficient (local) communication that enables high-performance computing in the first place. Existing programming environments are either portable (Java), or flexible (Jini, Java Remote Method Invocation or (RMI)), or they are highly efficient (Message Passing Interface). No system combines all three properties that are necessary for Grid computing. In this paper, we present Ibis, a new programming environment that combines Java's ,run everywhere' portability both with flexible treatment of dynamically available networks and processor pools, and with highly efficient, object-based communication. Ibis can transfer Java objects very efficiently by combining streaming object serialization with a zero-copy protocol. Using RMI as a simple test case, we show that Ibis outperforms existing RMI implementations, achieving up to nine times higher throughputs with trees of objects. Copyright © 2005 John Wiley & Sons, Ltd. [source]