eJason: An Implementation of Jason in Erlang

In this paper we describe eJason, a prototype implementation of Jason, the well-known agent-oriented programming language, in Erlang, a concurrent functional programming language. The reason for choosing Erlang as the implementation vehicle is the surprising number of similarities between Jason and...

Full description

Saved in:
Bibliographic Details
Published inProgramming Multi-Agent Systems pp. 1 - 16
Main Authors Díaz, Álvaro Fernández, Earle, Clara Benac, Fredlund, Lars-Åke
Format Book Chapter
LanguageEnglish
Published Berlin, Heidelberg Springer Berlin Heidelberg
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:In this paper we describe eJason, a prototype implementation of Jason, the well-known agent-oriented programming language, in Erlang, a concurrent functional programming language. The reason for choosing Erlang as the implementation vehicle is the surprising number of similarities between Jason and Erlang, e.g., both have their syntactical roots in logic programming, and share an actor-based process and communication model. Moreover, the Erlang runtime system implements lightweight processes and fast message passing between processes. Thus, by mapping Jason agents and agent-to-agent communication onto Erlang processes and Erlang process-to-process communication, we can create a very high-performing Jason implementation, potentially capable of supporting up to a hundred thousand concurrent actors. In this paper we describe in detail the implementation of Jason in Erlang, and provide early feedback on the performance of the implementation.
Bibliography:This work has been partially supported by the following projects: DESAFIOS10 (TIN2009-14599-C03-00) and PROMETIDOS (P2009/TIC-1465).
ISBN:3642386997
9783642386992
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-642-38700-5_1