This Article 
 Bibliographic References 
 Add to: 
A Framework for Model-Based Design of Agent-Oriented Software
January 2003 (vol. 29 no. 1)
pp. 15-30

Abstract—Agents are becoming one of the most important topics in distributed and autonomous decentralized systems, and there are increasing attempts to use agent technologies to develop large-scale commercial and industrial software systems. The complexity of such systems suggests a pressing need for system modeling techniques to support reliable, maintainable, and extensible design. G-nets are a type of Petri net defined to support system modeling in terms of a set of independent and loosely-coupled modules. In this paper, we customize the basic G-net model to define a so-called "agent-based G-net" that can serve as a generic model for agent design. Then, to progress from an agent-based design model to an agent-oriented model, new mechanisms to support inheritance modeling are introduced. To illustrate our formal modeling technique for multiagent systems, an example of an agent family in electronic commerce is provided. Finally, we demonstrate how we can use model checking to verify some key behavioral properties of our agent model. This is facilitated by the use of an existing Petri net tool.

[1] N. R. Jennings, An Agent-Based Approach for Building Complex Software Systems Comm. ACM, vol. 44, no. 4, pp. 35-41, 2001.
[2] A. Bar-Noy and Y. Shilo, Optimal Broadcasting of Two Files over an Asymmetric Channel Proc. IEEE INFOCOM Conf., pp. 267-274, Mar. 1999.
[3] J. Yin, M.S. Miller, T.R. Ioerger, J. Yen, and R.A. Volz, “A Knowledge-Based Approach for Designing Intelligent Team Training Systems,” Proc. Fourth Int'l Conf. Autonomous Agents, pp. 427-434, June 2000.
[4] S. Green, L. Hurst, B. Nangle, P. Cunningham, F. Somers, and R. Evans, “Software Agents: A Review,” Intelligent Agents Group (IAG), Technical Report TCD-CS-1997-06, Trinity College Dublin, May 1997.
[5] T.J. Rogers, R. Ross, and V.S. Subrahmanian, “IMPACT: A System for Building Agent Applications,” J. Intelligent Information Systems, vol. 14, nos. 2-3, pp. 95-113, 2000.
[6] E.A. Kendall, “Role Modeling for Agent System Analysis, Design, and Implementation,” IEEE Concurrency, pp. 34-41, Apr.-June, 2000.
[7] C. Argel Iglesias, M. Garrijo, and J. Centeno-González, “A Survey of Agent-Oriented Methodologies,” Proc. Fifth Int'l Workshop Agent Theories, Architectures, and Language, pp. 317-330, 1998.
[8] M. Luck and M. d'Inverno, “A Formal Framework for Agency and Autonomy,” Proc. First Int'l Conf. Multi-Agent Systems (ICMAS-95), pp. 254-260, 1995.
[9] M. Fisher, “Representing and Executing Agent-Based Systems,” Intelligent Agents—Proc. Int'l Workshop Agent Theories, Architectures, and Languages, M. Wooldridge and N. Jennings, eds., pp. 307-323, 1995.
[10] F.M.T. Brazier, B. Dunin Keplicz, N.R. Jennings, and J. Treur, “DESIRE: Modelling Multi-Agent Systems in a Compositional Formal Framework,” Int'l J. Cooperative Information Systems, M. Huhns and M. Singh, eds., vol. 6, pp. 67-94, 1997.
[11] H. Zhu, “SLABS: A Formal Specification Language for Agent-Based Systems,” Int'l J. Software Eng. and Knowledge Eng., vol. 11, no. 5, pp. 529-558, 2001.
[12] M. d'Inverno, M. Fisher, A. Lomuscio, M. Luck, M. de Rijke, M. Ryan, and M. Wooldridge, “Formalisms for Multi-Agent Systems,” The Knowledge Engineering Review, vol. 12, no. 3, 1997.
[13] V. Hilaire, A. Koukam, P. Gruer, and J.-P. Müller, “Formal Specification and Prototyping of Multi-Agent Systems,” Eng. Societies in the Agent World, First Int'l Workshop (ESAW 2000), Aug. 2000.
[14] E. Huang and T. Elrad, “Reflective Decision Control for Autonomous Distributed Objects,” Proc. Fifth Int'l Symp. Autonomous Decentralized Systems (ISADS), pp. 212-219, Mar. 2001.
[15] M. Wooldridge, N.R. Jennings, and D. Kinny, “The Gaia Methodology for Agent-Oriented Analysis and Design,” Int'l J. Autonomous Agents and Multi-Agent Systems, vol. 3, no. 3, pp. 285-312, 2000.
[16] H. Xu and S.M. Shatz, “An Agent-Based Petri Net Model with Application to Seller/Buyer Design in Electronic Commerce,” Proc. Fifth Int'l Symp. Autonomous Decentralized Systems (ISADS), pp. 11-18, Mar. 2001.
[17] H. Xu and S.M. Shatz, “A Framework for Modeling Agent-Oriented Software,” Proc. 21st Int'l Conf. Distributed Computing Systems (ICDCS), pp. 57-64, Apr. 2001.
[18] T. Murata, “Petri Nets: Properties, Analysis and Application,” Proc. IEEE, vol. 77, no. 4, 1989.
[19] J. Yen, J. Yin, T. Ioerger, M. Miller, D. Xu, and R. Volz, “CAST: Collaborating Agents for Simulating Teamwork,” Proc. Seventh Int'l Joint Conf. Artificial Intelligence (IJCAI), pp. 1135-1144, Aug. 2001.
[20] D. Kinny, M.P. Georgeff, and A.S. Rao, "A Methodology and Modelling Technique for Systems of BDI Agents," Agents Breaking Away: Proc. Seventh European Workshop on Modeling Autonomous Agents in a Multi-Agent World, Lecture Notes in Artificial Intelligence, Vol. 1038, 1996, pp. 56-71.
[21] Y. Deng, S.K. Chang, A. Perkusich, and J. de Figueredo, “Integrating Software Engineering Methods and Petri Nets for the Specification and Analysis of Complex Information Systems,” Proc. 14th Int'l Conf. Application and Theory of Petri Nets, pp. 206-223, June 1993.
[22] A. Perkusich and J. de Figueiredo, “G-Nets: A Petri Net Based Approach for Logical and Timing Analysis of Complex Software Systems,” J. Systems and Software, vol. 39, no. 1, pp. 39-59, 1997.
[23] H. Xu and S.M. Shatz, “Extending G-nets to Support Inheritance Modeling in Concurrent Object-Oriented Design,” Proc. IEEE Int'l Conf. Systems, Man, and Cybernetics (SMC 2000), pp. 3128-3133, Oct. 2000.
[24] T. Finin, Y. Labrou, and J. Mayfield, "KQML as an Agent Communication Language," Software Agents, J.M. Bradshaw, ed., AAAI Press/MIT Press, 1997, pp. 291-316.
[25] M.J. Huber, S. Kumar, P.R. Cohen, and D.R. McGee, “A Formal Semantics for Proxy Communicative Acts,” Proc. Eighth Int'l Workshop Agent Theories, Architectures, and Languages (ATAL-2001), Aug. 2001.
[26] J. Odell, H. Van Dyke Parunak, and B. Bauer, “Representing Agent Interaction Protocols in UML,” Proc. ICSE 2000 Workshop Agent-Oriented Software Eng. (AOSE-2000), June 2000.
[27] N.R. Jennings, K. Sycara, and M. Wooldridge, "A Roadmap of Agent Research and Development, Int'l J. Autonomous Agents and Multi-Agent Systems, vol. 1, no. 1, 1998, pp. 7-38.
[28] L. Crnogorac, A.S. Rao, and K. Ramamohanarao, “Analysis of Inheritance Mechanisms in Agent-Oriented Programming,” Proc. 15th Int'l Joint Conf. Artificial Intelligence (IJCAI '97), pp. 647-654, 1997.
[29] R.A. Flores and R.C. Kremer, “Formal Conversations for the Contract Net Protocol,” Multi-Agent Systems and Applications II, V. Marik, M. Luck, and O. Stepankova, eds., 2001.
[30] F. Bergenti and A. Poggi, “Exploiting UML in the Design of Multi-Agent Systems,” Proc. Eng. Societies in the Agent World, First Int'l Workshop (ESAW 2000), A. Omicini, R. Tolksdorf, and F. Zambonelli, eds., pp. 106-113, Aug. 2000.
[31] H. Yim, K. Cho, J. Kim, and S. Park, “Architecture-Centric Object-Oriented Design Method for Multi-Agent Systems,” Proc. Fourth Int'l Conf. Multi-Agent Systems (ICMAS 2000), July 2000.
[32] S. Roch and P.H. Starke, INA: Integrated Net Analyzer, Version 2.2. Humboldt-Universität zu Berlin, Institut für Informatik Apr. 1999.
[33] S.M. Shatz, S. Tu, T. Murata, and S. Duri, "An Application of Petri Net Reduction for Ada Tasking Deadlock Analysis," IEEE Trans. Parallel and Distributed Systems, pp. 1,307-1,322, vol. 7, no. 12, Dec. 1996.
[34] E.M. Clarke, E.A. Emerson, and A.P. Sistla, "Automatic verification of finite-state concurrent systems using temporal logic specifications," ACM Trans. Programming Languages and Systems, vol. 8, no. 2, pp. 244-263, 1986.
[35] E.M. Clarke and J.M. Wing, "Formal Methods: State of the Art and Future Directions," ACM Computing Surveys, vol. 28, no. 4, pp. 626-643, 1996.
[36] Y. Deng and S.K. Chang, “A G-Net Model for Knowledge Representation and Reasoning,” IEEE Trans. Knowledge and Data Eng., vol. 2, no. 3, pp. 295-310, Sept. 1990.
[37] T. Murata, V.S. Subrahmanian, and T. Wakayama, "A Petri Net Model for Reasoning in the Presence of Inconsistency," IEEE Trans. Knowledge and Data Eng., Vol. 3, No. 3, Sept. 1991, pp. 281-292.
[38] T. Murata, P.C. Nelson, and J. Yim, “A Predicate-Transition Net Model for Multiple Agent Planning,” Information Sciences, pp. 361-384, 1991.

Index Terms:
Multiagent systems, Petri net, G-net, design model, electronic commerce, model checking.
Haiping Xu, Sol M. Shatz, "A Framework for Model-Based Design of Agent-Oriented Software," IEEE Transactions on Software Engineering, vol. 29, no. 1, pp. 15-30, Jan. 2003, doi:10.1109/TSE.2003.1166586
Usage of this product signifies your acceptance of the Terms of Use.