While RASA protocols are claimed to be exe-
cutable, there is no explicit mechanism that specifies
how to achieve that, thus this approach is eliminated
from the comparison. ARIP model on the other hand
relies on a third party language for implementing
component interaction to specify actual agent proto-
col. While ARIP interaction protocols are executable
as component interactions, the model is limited to the
discovery and the instantiation of the protocols and
has not any form of control over the flow of their ex-
ecution. This is equivalent to having only the same
functionalities provided by RPI.Social.IoP.
Considering the OWL-P ontology language (De-
sai et al., 2006) as a representative work for the
commitment machines, its interaction protocols are
compiled into Jess rules which then could be exe-
cuted on demand. The execution of the interaction
protocols in OWL-P seems to be comparable with
RPI.Social.Exec. However, the initiation of a proto-
col is slightly different from RPI.Social.IoP. In fact,
agents that wish to interact will have to pick their pro-
tocols from a repository with the possibility to com-
pose them if needed. Then, the agent enacts one of the
roles in interaction protocols and register itself as a
service provider for the interaction. An initiator agent
would seek a service provider and ask for the descrip-
tion of its role which is subsequently enacted for the
span of the interaction.
XRole (Cabri et al., 2002) is an XML notation for
roles in the BRAIN framework (Cabri et al., 2003).
The interaction protocols in BRAIN are supported by
XRole where each role has a set of actions that trig-
ger events and a set of events that it listens to. The
mediator, called the interaction infrastructure, is the
part of the environment that generates events from
the actions performed. RoleX (Cabri et al., 2004)
is the part of BRAIN that dynamically enacts roles
by agents. To this extent, RoleX covers a subset of
RPI.Social.IoP functionalities since agents in RPI as-
sume roles only for an imminent interaction. The me-
diator in BRAIN plays the role of an event bus that
dispatches events to roles listening to them. There-
fore, in BRAIN a third party entity coordinates be-
tween the interacting agents. The same functionality
is covered by RPI.Social.Exec on an agent level.
In (Dastani et al., 2005), the authors introduce
the concept of role enactment. The agent has four
operators for assuming the role, playing it and for
the opposite of these two operations, which makes
them respectively enact, activate, deact and deacti-
vate. While this proposition shares a common ground
with RPI.Social.IoP, it has a strong organizational
component that implies norms and restrictions on the
model for implementing first-class interaction.
7 CONCLUSION
The RPI framework provides the tools necessary for
the multiagent system developer to design and imple-
ment first-class interaction protocols that could be au-
tonomously instantiated by the agents in runtime. The
framework has a modular design in which loosely-
coupled responsibilities within its ecosystem are as-
signed to different sub-systems.
Our contribution in this paper, is the introduc-
tion of RPI.Social which is the sub-system of the
RPI framework that performs all the social behaviours
of the agent on its behalf. It consists of two
units. The first, RPI.Social.IoP, takes care of initi-
ating interaction protocols and responding to invita-
tions to play roles in others. The second unit which
RPI.Social.Exec is responsible for the execution of
the interaction and the coordination between the role
players. The paper gives an overview on RPI.Idiom
and RPI.Inference on which RPI.Social depends.
The literature on the execution of first-class agent
protocols is very rare due to the relative scarcity of
works on the implementation of reified protocols. Ac-
cordingly, assessing the relevance of the contribution
of RPI.Social was made in comparison to some of the
few works on the implementation of first-class inter-
actions that explained their mechanisms for running
their interaction protocols.
RPI.Social has the limitation of not being fully
fault-tolerant. The bootstrap protocol defined by
RPI.Social.IoP is made to be tolerant to the unavail-
ability of agents during the negotiations for establish-
ing an ad-hoc organization for the interaction. How-
ever, RPI.Social.Exec would not recover from events
such as the sudden absence of an interacting agent.
In our future works we intend to add the support
for fault tolerance to RPI.Social to overcome its limi-
tation. Besides, we will focus on detailing the contri-
bution of RPI.Inference and RPI.Library.
REFERENCES
Bauer, B., Muller, J. P., and Odell, J. (2000). An exten-
sion of UML by protocols for multi-agent interaction.
In Proceedings of the Fourth International Conference
on MultiAgent Systems, pages 207–214. IEEE.
Cabri, G., Ferrari, L., and Leonardi, L. (2004). The
RoleX environment for multi-agent cooperation. In
Cooperative Information Agents VIII, pages 257–270.
Springer.
Cabri, G., Leonardi, L., and Zambonelli, F. (2002). XRole:
XML roles for agent interaction. In Proceedings of
the 3rd International Symposium ”From Agent The-
ory to Agent Implementation”, at the 16th European