Results 11 - 20
of
133
Coordinating multiagent applications on the WWW: A reference architecture
- IEEE Transactions on Software Engineering
, 1998
"... Abstract—The original Web did not support multiuser, interactive applications. This shortcoming is being studied, and several approaches have been proposed to use the Web as a platform for programming Internet applications. However, most existing approaches are oriented to centralized applications a ..."
Abstract
-
Cited by 41 (0 self)
- Add to MetaCart
Abstract—The original Web did not support multiuser, interactive applications. This shortcoming is being studied, and several approaches have been proposed to use the Web as a platform for programming Internet applications. However, most existing approaches are oriented to centralized applications at servers, or local programs within clients. To overcome this deficit, we introduce PageSpace, that is a reference architecture for designing interactive multiagent applications. In this paper we describe how we control agents in PageSpace, using variants of the coordination language Linda to guide their interactions. Coordination technology is integrated with the standard Web technology and the programming language Java. Several kinds of agents live in the PageSpace: user interface agents, personal homeagents, agents that implement applications, and agents which interoperate with legacy systems. Within our architecture, it is possible to support fault-tolerance and mobile agents as well.
A Petri Net Approach for Performance Oriented Parallel Program Design
, 1992
"... Performance orientation in the development process of parallel software is motivated by outlining the misconception of current approaches where performance activies come in at the very end of the development, mainly in terms of measurement or monitoring after the implementation phase. At that time m ..."
Abstract
-
Cited by 35 (6 self)
- Add to MetaCart
Performance orientation in the development process of parallel software is motivated by outlining the misconception of current approaches where performance activies come in at the very end of the development, mainly in terms of measurement or monitoring after the implementation phase. At that time major part of the development work is already done, and performance pitfalls are very hard to repair - if this is possible at all. A development process for parallel programs that launches performance engineering in the early design phase is proposed, based on a Petri net specification methodology for the performance critical parts of a parallel system. The Petri net formalism is used to define Program Resource Mapping-net (PRM-net) models, that serve as an integrated performance model of parallel processing systems, combining performance characteristics of parallel programs (P-net), parallel hardware (R-net) and the assignment of programs to hardware (Mapping) into a single performance model...
Persistent Linda: Linda + Transactions + Query Processing
, 1991
"... this document use a "C" flavor of PLinda. 3 Tuple Patterns ..."
Abstract
-
Cited by 34 (0 self)
- Add to MetaCart
this document use a "C" flavor of PLinda. 3 Tuple Patterns
PICCOLA - a Small Composition Language
, 1999
"... Although object-oriented languages are well-suited to implement software components, they fail to shine in the construction of component-based applications, largely because object-oriented design tends to obscure a component-based architecture. We propose to tackle this problem by clearly separating ..."
Abstract
-
Cited by 28 (9 self)
- Add to MetaCart
Although object-oriented languages are well-suited to implement software components, they fail to shine in the construction of component-based applications, largely because object-oriented design tends to obscure a component-based architecture. We propose to tackle this problem by clearly separating component implementation and composition. In particular, we claim that application development is best supported by consciously applying the paradigm "Applications = Components + Scripts." In this chapter, we propose PICCOLA, a small "composition language" that embodies this paradigm. PICCOLA models components and compositional abstractions by means of communicating concurrent agents. Flexibility, extensibility, and robustness are obtained by modeling both interfaces of components and the contexts they live in by "forms", a special notion of extensible records. Using a concrete example, we illustrate how PICCOLA offers explicit support for viewing applications as compositions of components and show that separating components from their composition improves maintainability.
A Customizable Substrate for Concurrent Languages
- In ACM SIGPLAN '91 Conference on Programming Language Design and Implementation
, 1992
"... We describe an approach to implementing a wide-range of concurrency paradigms in high-level (symbolic) programming languages. The focus of our discussion is sting, a dialect of Scheme, that supports lightweight threads of control and virtual processors as first-class objects. Given the significant ..."
Abstract
-
Cited by 25 (7 self)
- Add to MetaCart
We describe an approach to implementing a wide-range of concurrency paradigms in high-level (symbolic) programming languages. The focus of our discussion is sting, a dialect of Scheme, that supports lightweight threads of control and virtual processors as first-class objects. Given the significant degree to which the behavior of these objects may be customized, we can easily express a variety of concurrency paradigms and linguistic structures within a common framework without loss of efficiency. Unlike parallel systems that rely on operating system services for managing concurrency, sting implements concurrency management entirely in terms of Scheme objects and procedures. It, therefore, permits users to optimize the runtime behavior of their applications without requiring knowledge of the underlying runtime system. This paper concentrates on (a) the implications of the design for building asynchronous concurrency structures, (b) organizing large-scale concurrent computations, and (c)...
The Klaim Project: Theory and Practice
- GLOBAL COMPUTING: PROGRAMMING ENVIRONMENTS, LANGUAGES, SECURITY AND ANALYSIS OF SYSTEMS, VOLUME 2874 OF LNCS
, 2003
"... Klaim (Kernel Language for Agents Interaction and Mobility) is an experimental language specifically designed to program distributed systems consisting of several mobile components that interact through multiple distributed tuple spaces. Klaim primitives allow programmers to distribute and retri ..."
Abstract
-
Cited by 23 (10 self)
- Add to MetaCart
Klaim (Kernel Language for Agents Interaction and Mobility) is an experimental language specifically designed to program distributed systems consisting of several mobile components that interact through multiple distributed tuple spaces. Klaim primitives allow programmers to distribute and retrieve data and processes to and from the nodes of a net. Moreover, localities are first-class citizens that can be dynamically created and communicated over the network. Components, both stationary and mobile, can explicitly refer and control the spatial structures of the network. This paper
The Mentat Computation Model - Data-Driven Support for Dynamic Object-Oriented Parallel Processing
, 1993
"... Mentat is an object-oriented parallel processing system developed at the University of Virginia which has been ported to a variety of MIMD architectures. The computation model employed by Mentat is macro data-flow (MDF), a medium grain, scalable, data-driven computation model that supports both high ..."
Abstract
-
Cited by 23 (5 self)
- Add to MetaCart
Mentat is an object-oriented parallel processing system developed at the University of Virginia which has been ported to a variety of MIMD architectures. The computation model employed by Mentat is macro data-flow (MDF), a medium grain, scalable, data-driven computation model that supports both high degrees of parallelism and the object-oriented paradigm. A key aspect of the model is that it can be efficiently implemented. Inspired by data-flow, MDF retains the graph-based, data-driven, self-synchronizing aspects of data-flow. MDF address the shortcomings that data-flow exhibits when applied to distributed memory MIMD architectures by extending data-flow in three ways: (1) it is medium grain - actors are of sufficient computational complexity to amortize overhead costs, (2) program graphs are dynamically constructed at runtime - this permits dynamic function binding as required by the object-oriented paradigm and increases the average computation granularity, and (3) actors may maintai...
Empirical Analysis of Overheads in Cluster Environments
- CONCURRENCY: PRACTICE AND EXPERIENCE
, 1995
"... In concurrent computing environments that are based on heterogeneous processing elements interconnected by general-purpose networks, several classes of overheads contribute to lowered performance. In an attempt to gain a deeper insight into the exact nature of these overheads, and to develop stra ..."
Abstract
-
Cited by 23 (5 self)
- Add to MetaCart
In concurrent computing environments that are based on heterogeneous processing elements interconnected by general-purpose networks, several classes of overheads contribute to lowered performance. In an attempt to gain a deeper insight into the exact nature of these overheads, and to develop strategies to alleviate them, we have conducted empirical studies of selected applications representing different classes of concurrent programs. These analyses have identified load imbalance, the parallelism model adopted, communication delay and throughput, and system factors as the primary factors affecting performance in cluster environments. Based on the degree to which these factors affect specific classes of applications, we propose a combination of model selection criteria, partitioning strategies, and software system heuristics to reduce overheads and enhance performance in network based environments. We demonstrate that agenda parallelism and load balancing strategies contribu...
Heterogeneous Parallel Programming in Jade
- In Proceedings of Supercomputing '92
, 1992
"... This paper presents Jade, a high-level parallel programming language for managing coarse-grain concurrency. Jade simplifies programming by providing the programmer with the abstractions of sequential execution and a shared address space. Jade programmers augment sequential, imperative programs with ..."
Abstract
-
Cited by 22 (9 self)
- Add to MetaCart
This paper presents Jade, a high-level parallel programming language for managing coarse-grain concurrency. Jade simplifies programming by providing the programmer with the abstractions of sequential execution and a shared address space. Jade programmers augment sequential, imperative programs with constructs that declare how parts of the program access data; the Jade implementation dynamically interprets this information to execute the program in parallel. This parallel execution preserves the serial semantics of the original program. Jade has been implemented as an extension to C on shared-memory multiprocessors, a message-passing machine, networks of heterogeneous workstations, and systems with specialpurpose functional units. Programs written in Jade run on all of these platforms without modification. 1

