127631
Semantics of Agent Communication Languages for Group Interaction
Group communication is the core of societal interactions. Therefore, artificial agents should be able to communicate with groups as well as individuals. However, most contemporary agent communication languages, notably FIPA and KQML, have either no provision or no well-defined semantics for group communication. We give semantics for group communication that we believe can profitably enrich the agent communication languages. In our semantics, individual communication is a special case of group communication wherein each communicating group consists of a single agent.
15419677
STAPLE: An agent programming language based on the joint intention theory
Joint intention theory has been used for rule based creation of teams and to provide a formal semantics for communicative acts but there were no agent programming languages linked to this theory. We proposed a declarative agent programming language called STAPLE whose logical semantics is given by the joint intention theory. This paper illustrates the STAPLE support for communication and teamwork in a unified framework.
14133109
Representing and executing protocols as joint actions
Families of conversation protocols can be expressed formally as partially ordered landmarks where the landmarks represent the state of affairs that must be brought about during the goal-directed execution of a protocol. Then, concrete protocols represented as joint action expressions can be derived from the partially ordered landmarks and executed directly by joint intention interpreters, thus nearly eliminating the need to implement a separate protocol handling system. This approach also supports (1) flexibility in the actions used to achieve landmarks, (2) shortcutting protocol execution, and (3) application of the joint intention theory to provide automatic exception handling along with a correctness criterion for protocols.
10504344
The adaptive agent architecture: achieving fault-tolerance using persistent broker teams
Brokered multi-agent systems can be incapacitated and rendered non-functional when the brokers become inaccessible due to failures that can occur in any distributed software system. We propose that the theory of teamwork can be used to specify robust brokered architectures that can recover from broker failures, and we present the adaptive agent architecture (AAA) to show the feasibility of this approach. The previous teamwork theory based on joint intentions assumes that team members remain in a team as long as the team exists. We extend this theory to allow dynamic broker teams whose members can change with time. We also introduce a theory of restorative maintenance goals that enables the brokers in an AAA broker team to start new brokers and recruit them to the broker team. As a result, an AAA-based multi-agent system can maintain a specified number of functional brokers in the system despite broker failures, thus effectively becoming a self-healing system.
3185097
Towards a fault-tolerant multi-agent system architecture
Multi-agent systems are prone to failures typical of any distributed system. Agents and resources may become unavailable due to machine crashes, communication breakdowns, process failures, and numerous other hardware and software failures. Most of the work done in fault handling in multi-agent systems deals with detection and recovery from faults such as state-inconsistencies, relying on the traditional techniques for recovering from other distributed systems failure. However, the traditional fault-tolerance techniques are designed for specific situations and they require special infrastructural support. We argue for fault-tolerance techniques that can be readily implemented using a generic agent shell with minimal or no modification to the agent infrastructure. We propose that theories from multi-agent systems literature can be effectively combined with basic fault-tolerance principles to design robust multi-agent systems. In particular, we argue that (1) teamwork may be used to create a robust brokered architecture that can recover a multi-agent system from broker failures without incurring undue overheads, (2) teamwork may also be used to guarantee a specified number of brokers in a large multi-agent system, and (3) agent autonomy can be used to prevent thrashing and guarantee acceptable levels of quality of service by an agent. We also describe the Adaptive Agent Architecture (AAA), a fault-tolerant brokered multi-agent system architecture, and present experimental evidence using the AAA to validate our approach.
17321819
Toward A Formalism for Conversation Protocols Using Joint Intention Theory
Conversation protocols are meant to achieve certain tasks or to bring about certain state of affairs in the world. Therefore, one may identify the landmarks or the state of affairs that must be brought about during the execution of a protocol in order to achieve its goal. Accordingly, the most important aspect of protocols is these landmarks rather than the communicative actions needed to achieve the landmarks. We show that families of conversation protocols can be expressed formally as partially ordered landmarks where each landmark is characterized by propositions that are true in the state represented by that landmark. Dialogue in natural languages is regarded as joint activity. Conversation protocols in multi-agent systems are treated as dialogue templates and are composed using speech acts from natural language dialogues. As such, we treat conversation protocols as joint action expressions and gainfully apply existing formal theories of dialogue, specifically the Joint Intention Theory, to protocols and their compositions. Conversation protocols may require agents to communicate with groups as well as individuals. However, most contemporary agent communication languages, notably FIPA and KQML, have either no provision or no well-defined semantics for group communication. Furthermore, the research on protocols so far does not correctlymore » incorporate groups into the protocols. We give a formal semantics to group communicative acts and use it to handle group communication in a formal treatment of protocols.« less
5597529
Hierarchical back-face computation
Abstract We present a sub-linear algorithm to compute the set of back-facing polygons in a polyhedral model. The algorithm partitions the model into hierarchical clusters based on the orientations and positions of the polygons. As a pre-processing step, the algorithm constructs spatial decompositions with respect to each cluster. For a sequence of back-face computations, the algorithm exploits the coherence in view-point movement to efficiently determine whether it is in front of or behind a cluster. Due to coherence, the algorithm's expected running time is linear in the number of clusters on average. We have applied this algorithm to speed up the rendering of polyhedral models. On average, we are able to cull about 40% of the polygons. The algorithm accounts for 5% of the total CPU time per frame on an SGI Onyx. The overall frame rate is improved by 40–75% as compared to the standard back-face culling implemented in hardware. We also present an extension of our back-face computation algorithm to determine silhouettes of polygonal models. Our technique finds true perspective silhouettes by collecting edges at the common boundaries of back-facing and front-facing clusters.
2904394
Physical simulation for animation and visual effects: parallelization and characterization for chip multiprocessors
We explore the emerging application area of physics-based simulation for computer animation and visual special effects. In particular, we examine its parallelization potential and characterize its behavior on a chip multiprocessor (CMP). Applications in this domain model and simulate natural phenomena, and often direct visual components of motion pictures. We study a set of three workloads that exemplify the span and complexity of physical simulation applications used in a production environment: fluid dynamics, facial animation, and cloth simulation. They are computationally demanding, requiring from a few seconds to several minutes to simulate a single frame; therefore, they can benefit greatly from the acceleration possible with large scale CMPs.
 Starting with serial versions of these applications, we parallelize code accounting for at least 96% of the serial execution time, targeting a large number of threads.We then study the most expensive modules using a simulated 64-core CMP.
 For the code representing key modules, we achieve parallel scaling of 45x, 50x, and 30x for fluid, face, and cloth simulations, respectively. The modules have a spectrum of parallel task granularity and locking behavior, and all but one are dominated by loop-level parallelism. Many modules operate on streams of data. In some cases, modules iterate over their data, leading to significant temporal locality. This streaming behavior leads to very high on-die and main memory bandwidth requirements. Finally, most modules have little inter-thread communication since they are data-parallel, but a few require heavy communication between data-parallel operations.
14007083
A Malleable-Job System for Timeshared Parallel Machines
Malleable jobs are parallel programs that can change the number of processors on which they are executing at run time in response to an external command. One of the advantages of such jobs is that a job scheduler for malleable jobs can provide improved system utilization and average response time over a scheduler for traditional jobs. In this paper, we present a programming system for creating malleable jobs that is more general than other current malleable systems. In particular, it is not limited to the master-worker paradigm or the Fortran SPMD programming model, but can also support general purpose parallel programs including those written in MPI and Charm++, and has built-in migration and load-balancing, among other features.
15130627
Using model checking to debug device firmware
Device firmware is a piece of concurrent software that achieves high performance at the cost of software complexity. They contain subtle race conditions that make them difficult to debug using traditional debugging techniques. The problem is further compounded by the lack of debugging support on the devices. This is a serious problem because the device firmware is trusted by the operating system.Model checkers are designed to systematically verify properties of concurrent systems. Therefore, model checking is a promising approach to debugging device firmware. However, model checking involves an exponential search. Consequently, the models have to be small to allow effective model checking.This paper describes the abstraction techniques used by the ESP compiler to extract abstract models from device firmware written in ESP. The abstract models are small because they discard some of the details in the firmware that is irrelevant to the particular property being verified. The programmer is required to specify the abstractions to be performed. The ESP compiler uses the abstraction specification to extract models conservatively. Therefore, every bug in the original program will be present in the extracted model.This paper also presents our experience with using Spin model checker to develop and debug VMMC firmware for the Myrinet network interfaces. An earlier version of the ESP compiler yielded models that were too large to check for system-wide properties like absence of deadlocks. The new version of the compiler generated abstract models that were used to identify several subtle bugs in the firmware. So far, we have not encountered any bugs that were not caught by Spin.
8599048
A framework for collective personalized communication
The paper explores collective personalized communication. For example, in all-to-all personalized communication (AAPC), each processor sends a distinct message to every other processor. However, for many applications, the collective communication pattern is many-to-many, where each processor sends a distinct message to a subset of processors. We first present strategies that reduce per-message cost to optimize AAPC. We then present performance results of these strategies in both all-to-all and many-to-many scenarios. These strategies are implemented in a flexible, asynchronous library with a non-blocking interface, and a message-driven runtime system. This allows the collective communication to run concurrently with the application, if desired. As a result the computational overhead of the communication is substantially reduced, at least on machines such as PSC Lemieux, which sport a co-processor capable of remote DMA. We demonstrate the advantages of our framework with performance results on several benchmarks and applications.