···30303131\section{Introduction} %%%%%%% BORJA HERE
32323333-%Borja here: introduce 2apl with history
3434-3535-\section{2APL Language} %%%%%%% BORJA HERE
3333+The 2APL (pronounced double-a-p-l) Platform is a development tool that is designed to support the implementation and execution of multi-agent systems programmed in 2APL Language. 2APL has been designed and developed at the Intelligent Systems Group at the University of Utrecht. 2APL language is a BDI-based agent-oriented programming language that supports an integration of declarative programming constructs such as belief and goals and imperative style programming constructs such as events and plans. The 2APL platform
3434+provides a graphical interface through which a programmer can develop and execute 2APL multi-agent systems using several facilities. The platform allows communication among agents and can run on several machines connected in a network.
3535+In section~\ref{sec:lang} we will introduce the 2APL language describing its syntax, operational and formal semantics for specifying a multi-agent system and individual agents. Also, the deliberation cycle will be discussed. In section~\ref{sec:platform} we will discuss the 2APL Platform ...
36363737-%Introduce prolog
38373939-2APL language is an agent-oriented programming language that realizes an integration of declarative and imperative style programming. The declarative style programming supports the implementation of the mental state of agents allowing them to reason about their mental states and update them accordingly. The imperative style programming supports the implementation of processes allowing programming constructs to implement both the flow of control as well as mechanisms such as procedure call, recursion, plan revision, and interface to existing imperative programming languages. In this section, we will proceed illustrating the syntax of the language and both the operational and formal semantics. We will conclude the section discussing the execution of a multi-agent system and the 2APL deliberation process.
3838+\section{2APL Language}\label{sec:lang} %%%%%%% BORJA HERE
40394040+2APL language is a BDI-based agent-oriented programming language that realizes an integration of declarative and imperative style programming. The declarative style programming supports the implementation of the mental state of agents allowing them to reason about their mental states and update them accordingly. The imperative style programming supports the implementation of processes allowing programming constructs to implement both the flow of control as well as mechanisms such as procedure call, recursion, plan revision, and interface to existing imperative programming languages. In this section, we will proceed illustrating the syntax of the language and both the operational and formal semantics. We will conclude the section discussing the execution of a multi-agent system and the 2APL deliberation process.
41414242\subsection{Syntax and operational semantics} %%%%%%% FABRIZIO HERE
4343···491491492492Marcos here
493493494494+\section{2APL Platform}\label{sec:platform} %%%%%%% BORJA+MARCOS HERE
495495+494496\subsection{Deliberation Cycle} %%%%%%% FABRIZIO HERE
495497496498In order to execute an individual agent, the 2APL interpreter follows a certain order of deliberation steps repeatedly and indefinitely. Each deliberation step is specified by a set of transition rules indicating which transitions an individual agent can make at each moment in time. The predefined deliberation cycle is provided in Figure~\ref{fig:deliberation_cycle}.
···510512511513The predefined deliberation cycle has the two following properties: first, if the execution of a plan fails, then the plan will either be repaired in the same deliberation cycle or get re-executed in the next deliberation cycle, since plans are executed before internal events are processed. Second, if the first action fails and there is no plan repair rule for it, then the failed plan may be successfully executed in the next deliberation cycle, since the belief and a goal bases can be modified in one deliberation cycle such that belief and goal test actions may be executed successfully in the next cycle.
512514513513-\section{2APL Platform and Tools} %%%%%%% BORJA+MARCOS HERE
514515515516\section{Conclusion} %%%%%%% BORJA HERE
516517