JAFMAS: A Java-based Agent Framework for Multi-agent System Development and Implementation. The Java-based Agent Framework for Multi-Agent Systems (JAFMAS) provides a generic methodology for developing speech-act based multiagent systems (MAS), an agent architecture, and a set of classes to support implementing these agents in Java. The methodology follows five stages: (i) identifying the agents, (ii) identifying the agent conversations, (iii) identifying the conversation rules, (iv) analyzing the conversation model, and (v) MAS implementation. JAFMAS provides communication, linguistic and coordination support through sixteen Java classes. Communication support is provided for both directed communication and subject-based broadcast communication. This feature enables the user to develop scalable, fault-tolerant, self-configurable and flexible multiagent systems. Linguistic support is provided for speech-act (e.g. KQML) based languages allowing for agent independent semantics. Coordination support follows from Searle’s thesis (Speech Acts, Cambridge University Press, 1962) that, ”speaking a language is engaging in a (highly complex) rule-governed form of behavior.” We conceptualize agent plans and their coordination as rule-based conversations represented by automata models. JAFMAS classes support each agent with multiple threads, one for the agent, one for each conversation in which the agent engages, and one for each subject to which the agent subscribes. Though JAFMAS provides sixteen Java classes, the user needs to extend just four of these classes to develop a multiagent application. A five step process is presented for implementing a multiagent system. Here JAFMAS classes are extended for each agent, for each conversation, for each conversation rule, and for an operator interface to develop application specific classes. Then a start-up procedure is designed. Multiagent application development using JAFMAS, is demonstrated through example applications of the N-Queens problem and supply chain integration. Petri Net based analysis tools are used to determine conversation coherency in each MAS. Comparisons are provided between JAFMAS and other Java-based tools supporting speech-acts (JATLite), Java-based tools supporting mobile agents (IBM Aglets, Concordia, Odyssey, Voyager), and other agent building tools which are not Java-based (COOL, InteRRap, dMars, Cybele, Telescript, AgentTcl, Swarm, and Echelon).

This software is also peer reviewed by journal TOMS.