Powered by
Conference Publishing Consulting

6th International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE 2016), October 30, 2016, Amsterdam, Netherlands

AGERE 2016 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page

Message from the Chairs
Welcome to the proceedings of the 6th International Workshop on Programming based on Actors, Agents, and Decentralized Control (AGERE!), co-located with SPLASH 2016. AGERE!, an ACM SIGPLAN workshop, keeps on being a unique venue in the research landscape bringing together researchers and practitioners interested in actors, agents and, more generally, high-level paradigms emphasizing decentralized control in thinking, modeling, developing, and reasoning about software systems.

Agent-Oriented Programming

An Extension of AgentSpeak(L) and Jason Tailored to Programming and Software Development
Angelo Croatti and Alessandro Ricci
(University of Bologna, Italy)
Agent programming languages like AgentSpeak(L) -- and Jason, as its modern extension/implementation -- have features that make them interesting for software development and general-purpose programming, besides AI problems. A main one is the level of abstraction, that eases the design and development of concurrent, reactive, distributed applications. At the same time, being not developed for general-purpose programming and software development in mind, they typically miss elements that are important for that purpose. These weaknesses can negatively impact on their adoption beyond the agent-oriented programming community. Accordingly, in this paper we discuss some features extending the basic model provided by AgentSpeak(L)/Jason, with the purpose of improving its adoption for programming and software development. Such extensions are shown in practice using a Jason extension called Jona.
Publisher's Version Article Search
Interaction Protocols in the JADEL Programming Language
Federico Bergenti, Eleonora Iotti, Stefania Monica, and Agostino Poggi
(University of Parma, Italy)
This paper presents the support for interaction protocols that has been recently added to the JADEL programming language. JADEL is an agent-oriented programming language designed to ease the development of JADE agents and multi-agent systems by offering general-purpose agent-oriented abstractions to the programmer. The first part of the paper presents JADEL and motivates the need for a new agent-oriented programming language. Then, the agent-oriented abstractions that JADEL has been providing since its first version-namely agents, behaviours and communication ontologies-are described. The new support for interaction protocols is finally presented, and a simple example of a JADEL multi-agent system that uses interaction protocols is reported. The paper is concluded with an overview of the current state of JADEL and related tools.
Publisher's Version Article Search
Conflicting Goals in Agent-Oriented Programming
Maicon Rafael Zatelli, Jomi Fred Hübner, Alessandro Ricci, and Rafael H. Bordini
(Federal University of Santa Catarina, Brazil; University of Bologna, Italy; PUCRS, Brazil)
An important feature of goal-oriented programming languages is that agents are able to easily pursue multiple goals concurrently. However, there is an issue when some concurrent goals may conflict with others. Pursuing conflicting goals concurrently can lead an agent to undesirable behavior, in which case pursuing them concurrently should be avoided. In this paper, we address some such problems ranging from how to specify conflicts among goals to handling conflicts at run-time when they are detected.
Publisher's Version Article Search

Actor Model

43 Years of Actors: A Taxonomy of Actor Models and Their Key Properties
Joeri De Koster, Tom Van Cutsem, and Wolfgang De Meuter
(Vrije Universiteit Brussel, Belgium; Nokia Bell Labs, Belgium)

The Actor Model is a message passing concurrency model that was originally proposed by Hewitt et al. in 1973. It is now 43 years later and since then researchers have explored a plethora of variations on this model. This paper presents a history of the Actor Model throughout those years. The goal of this paper is not to provide an exhaustive overview of every actor system in existence but rather to give an overview of some of the exemplar languages and libraries that influenced the design and rationale of other actor systems throughout those years. This paper therefore shows that most actor systems can be roughly classified into four families, namely: Classic Actors, Active Objects, Processes and Communicating Event-Loops. This paper also defines the Isolated Turn Principle as a unifying principle across those four families. Additionally this paper lists some of the key properties along which actor systems can be evaluated and formulates some general insights about the design and rationale of the different actor families across those dimensions.


Publisher's Version Article Search
Pluggable Scheduling for the Reactor Programming Model
Aleksandar Prokopec
(Oracle Labs, Switzerland)

The reactor model is a foundational programming model for distributed computing, whose focus is modularizing and composing computations and message protocols. Previous work on reactors dealt mainly with the programming model and its composability properties, but did not show how to schedule computations in reactor-based programs.

In this paper, we propose a pluggable scheduling algorithm for the reactor model. The algorithm is customizable with user-defined scheduling policies. We define and prove safety and progress properties. We compare our implementation against the Akka actor framework, and show up to 3× performance improvements on standard actor benchmarks.


Publisher's Version Article Search

Distributed and Web-Based Computing

Many Spiders Make a Better Web: A Unified Web-Based Actor Framework
Florian Myter, Christophe Scholliers, and Wolfgang De Meuter
(Vrije Universiteit Brussel, Belgium; Universiteit Gent, Belgium)
JavaScript is the predominant language when it comes to developing applications for the web. Many of today's web-based systems are implemented solely in JavaScript due to its applicability to both client and server-side development. This use of JavaScript as a general purpose programming language has sparked a number of efforts to provide programmers with the means to write parallel web applications. For the most parts these efforts have based themselves on actor-based parallelism, given the similarities between actors and the JavaScript runtime model. We argue that these solutions are based on actor models which do not optimally fit web development. Concretely, existing solutions fail to provide programmers with an actor framework which embraces both parallelism and distribution. To this end we present Spiders.js, an actor framework providing both high-level parallelism and built-in distribution. In Spiders.js, programmers can easily specify the coarse-grained parallelism needs of modern web applications. Moreover, Spiders.js' built-in distribution features allow programmers to express client/server, server/server and client/client distribution simply by using actors. We show the performance characteristics of our approach by detailing Spiders.js' results for the Savina benchmark suite.
Publisher's Version Article Search
Atomic RMI 2: Distributed Transactions for Java
Paweł T. Wojciechowski and Konrad Siek
(Poznań University of Technology, Poland)
The goal of this tool demo paper is to demonstrate the features of Atomic RMI 2, a system and tool for distributed programming in Java, extending the popular Java RMI system with support for distributed transactions. A distributed transaction can contain arbitrary code, including any operations on remote objects that must be executed atomically, consistently, and in isolation with respect to any other concurrent transactions. The Atomic RMI 2 package is released with an open source license.
Publisher's Version Article Search

proc time: 0.88