send(…), asend(…), receive(…) and
try_receive(…)
.
ACLMessage msgRx = receive();
if (msgRx != null) {
System.out.println(msgRx);
ACLMessage msgTx = msgRx.createReply();
msgTx.setContent("Hello!");
send(msgTx);
} else {
block();
}
Figure 12: JADE Extract.
The association is a first class concept in modeling
and programming notation (Kristensen, 2006).
Various approaches to notation for non centric
modeling and programming include: Relations
(Rumbaugh, 1987) and associations in OMT
(Rumbaugh, et al., 1991) are object-external
abstractions but only for structural aspects.
Sequence and collaboration diagrams in UML
(Booch, et al., 1998) support the description of
object interaction by means of method invocation.
Association = Activity + Role (Kristensen, 2006)
combines activities (Kristensen & May, 1996) and
roles (Kristensen, 1995) in one abstraction
supporting both roleification and execution. Design
patterns (Gamma, et al., 1994) capture experience
of object oriented design and programming, but are
only mental abstractions. Patterns for object
collaboration include
DECORATOR, OBSERVER, and
MEDIATOR.
6 CONCLUSIONS
In the centric form of message-passing agents the
focus is on the action sequence of the individual
agent and the description of collaboration between
agents is distributed among these. The associative
abstraction is a descriptive unit and supports our
natural understanding of collaboration as shared
between agents. By means of the directive the
description of collaboration becomes simple and
natural.
Challenges for association based on
asynchronous message-passing include
Broadcast messages could be restricted to
associations, i.e. only to agents participating in
the ongoing collaboration.
The facilities supported by an operation similar
to
createReply(…) could improve the
expressional power of associations.
In (JACK 2010) (agent oriented development
environment and agent oriented extensions to
JAVA) a message is received implicitly by the
agent and an associated plan for handling the
message may be initiated: An association could
be seen as a similar plan for several
collaborating agents.
ACKNOWLEDGEMENTS
We thank Palle Nowack at Alexandra Institute for
inspiration and contribution.
REFERENCES
Bellifemine F. L., Caire G., Greenwood D., 2008.
Developing Multi-Agent Systems with JADE. Wiley.
Booch G., Rumbaugh J., Jacobson I., 1998. The Unified
Modeling Language User Guide. Addison Wesley.
Booch G., 2007. Private communication.
Gamma E., Helm R., Johnson R., Vlissides J., 1994.
Design Patterns: Elements of Reusable Object-
Oriented Software. Addison Wesley.
JACK, 2010. Intelligent Agents — Agent Manual —
Agent Practicals. AOS Group (Autonomous Decision-
Making Software), http://www.agent-software.com.
Jennings N. R., Wooldridge M., 2000. Agent-Oriented
Software Engineering. Proceedings of the 9th
European Workshop on Modelling Autonomous
Agents in a Multi-Agent World: Multi-Agent System
Engineering.
Jensen L. K., Kristensen B. B., Demazeau Y., 2005.
FLIP: Prototyping Multi-Robot Systems. Journal of
Robotics and Autonomous Systems. Vol. 53, pp. 230-
243.
Kristensen B. B., 1995. Object-Oriented Modeling with
Roles. Proceedings of the 2nd International
Conference on Object-Oriented Information Systems.
Kristensen B. B., May D. C-M., 1996. Activities:
Abstractions for Collective Behavior. Proceedings of
the European Conference on Object-Oriented
Programming.
Kristensen B. B., 2006. Associative Programming and
Modeling: Abstractions over Collaboration. 1st
International Conference on Software and Data
Technologies.
Rumbaugh J., 1987. Relations as Semantic Constructs in
an Object-Oriented Language. Proceedings of the
Object-Oriented Systems, Languages and
Applications Conference.
Rumbaugh J., Blaha J. M., Premerlani W., Eddy F.,
Lorensen W., 1991. Object-Oriented Modeling and
Design. Prentice Hall.
Scott M. L., 2009. Programming Language Pragmatics.
Morgan Kaufmann Publishers.
Visual Studio, 2010. Visual C++ (Asynchronous Agents
Library), http://msdn.microsoft.com/en-us/library.
ICEIS 2010 - 12th International Conference on Enterprise Information Systems
92