ABSTRACT
Agent-Oriented Programming (AOP) is a high-level pro-gramming paradigm for implementing intelligent distrib-uted systems. While a number of AOP languages have been proposed in the literature, many of them focus on the provision of support for intelligent decision making rather than addressing language design concerns such modularity and reuse. To address this imbalance, this paper presents an abstract model of multiple inheritance for AgentSpeak(L) style languages which decomposes agent programs into a set of inter-related agent classes and defines a run-time apparatus for rule selection on the relationship between those classes. To demonstrate our approach, a case study is presented that introduces a new AgentSpeak(L)-based language entitled ASTRA and its use in an illustrative implementation of an agent-based chat system is then presented.
- Barrett, Cassels, Haahr, Moon, Playford & Withing-ton, "A Monotonic Superclass Linearization for Dyl-an." In OOPSLA '96 Proceedings of the 11th ACM SIGPLAN conference on Object-oriented program-ming, systems, languages, and applications, Pages 69--82. Google ScholarDigital Library
- Behrens, T., Dix, J., Hindricks, K. V., "Towards an environment interface standard for agent platforms", Annals of Mathematics and Artificial Intelligence, Volume 61, Issue 4, pp 261--295, April 2011. Google ScholarDigital Library
- Bobrow, D., Khan, K., Kiczales, G., Masinter, L., Stefik, M., Zdybel, F., "CommonLoops: Merging Common Lisp and Object-Oriented Programming." Proc. ACM Conference on Object-Oriented Systems, Languages, and Applications. Portland, Oregon, Sept. 1986. Google ScholarDigital Library
- Bordini, Hübner & Renata, "Jason and the Golden Fleece of Agent-Oriented Programming." In Multia-gent Systems, Artificial Societies, and Simulated Or-ganizations Volume 15, 2005.Google Scholar
- Bordini, R., Braubach, L., Dastani, M., Seghrouchni, A, Gomez-Sanz, Leite, J., O'Hare, G.M.P., Pokahr A. & Ricci, A., "A Survey of Programming Languages and Platforms for Multi-Agent Systems." Informatica 30 (2006) 33--44.Google Scholar
- Borning & Ingalls, "Multiple Inheritance in Small-talk-80." In ECOOP '87. European Conference on Object-Oriented Programming: Paris, France.Google Scholar
- Brachman, R. J., "What IS-A is and Isn't: An Analy-sis of Taxonomic Links in Semantic Networks," IEEE Computer, vol. 16, no. 10, 1983. Google ScholarDigital Library
- Braubach, Pokahr, & Lamersdorf, "Extending the capability concept for flexible BDI agent modularization." Programming Multi-Agent Systems, pages 139--155, 2006. Google ScholarDigital Library
- Busetta, Howden, Ronnquist, & Hodgson, "Structur-ing BDI agents in functional clusters." Intelligent Agents VI. Agent Theories Architectures, and Languages, pages 277--289, 2000. Google ScholarDigital Library
- Carre, B., Geib, J-M., "The Point of View notion for Multiple Inheritance".In OOPSLA/ECOOP '90 Pro-ceedings of the European conference on object-oriented programming on Object-oriented program-ming systems, languages, and applications, Pages 312--321. Google ScholarDigital Library
- Collier, R.W., "ASTRA Language Website", URL: http://www.astralanguage.com/, 2014.Google Scholar
- Collier, R., Ross, R., O'Hare, G.M.P., A Role-based Approach to Reuse in Agent-Oriented Programming, AAAI Fall Symposium on Roles, an interdisciplinary perspective (Roles 2005), November 3--6, Hyatt Crys-tal City, Arlington, Virginia, USA, 2005.Google Scholar
- Cox, B.J., "Object-Oriented Programming: An Evolu-tionary Approach", Addison-Wesley, Reading (Mass.), 1986. Google ScholarDigital Library
- Crespo, J., Marques J. M., Rodriguez, J.J., "On the Translation of Multiple Inheritance Hierarchies into Single Inheritance Hierarchies." In Proceedings of the Inheritance Workshop at ECOOP 2002, Publications of Information Technology Research Institute, 12/2002, University of Jyvskyl.Google Scholar
- Daly, J., Brooks, A., Miller, J., Roper M., & Wood, M., "The effect of inheritance on the maintainability of object-oriented software: an empirical study." In Pro-ceedings of the International Conference on Soft-ware Maintenance, pages 20--29. IEEE, 1995. Google ScholarDigital Library
- Dastani, M., Birna van Riems-dijk, M., Hulstijn, J. Dignum, F. & Ch. Meyer, J., "Enacting and deacting roles in agent programming", In Proceedings of the 2nd International Workshop on Programming Multi-Agent Systems PROMAS2004), 2004.Google Scholar
- Ducournau, Habib, Huchard & Mugnier, "Proposal for a Monotonic Multiple Inheritance Linearization." In ACM SIGPLAN Notices, 01/1994; 29(10):164--175. Google ScholarDigital Library
- FIPA, "FIPA 2000 Specifications", http://www.fipa.org/specs/, 2000Google Scholar
- Jordan, H.R., Russell, S.E., O'Hare, G.M.P., Collier. R.W., University College Dublin, "Reuse by Inher-itance in Agent Programming Languages." In Proceedings of the 5th International Symposium on Intelligent Distributed Computing - IDC 2011, Delft, The Netherlands, October 2011.Google Scholar
- Limberghen, M.V., Mens. T., "Encapsulation and composition as orthogonal operators on mixins: a solution to multiple inheritance problems." Object Oriented Systems (1996).Google Scholar
- Luck, M., McBurney, P., Shehory O., Willmott, S., "Agent Technology: Computing as Interaction (A Roadmap for Agent Based Computing)." AgentLink, 2005. ISBN 085432 845 9Google Scholar
- Meyer, B., "Object-Oriented Software Construction", Prentice Hall, 1988. Google ScholarDigital Library
- Moon, D., "Object-Oriented Progamming with Flavors". Proc. ACM Conference on Object-Oriented Systems, Languages, and Applications. Portland, Oregon, Sept. 1986. Google ScholarDigital Library
- Padgham, L., Winikoff. M., "The Prometheus Meth-odology". In Methodologies and Software Engineer-ing for Agent Systems, Multiagent Systems, Artificial Societies and Simulated Organizations Volume 11, 2004, pp 217--234.Google Scholar
- Rao, A., "AgentSpeak(L): BDI Agents speak out in a logical computable language". Australian Artificial Intelligence Institute, Melbourne, Australia. In MAAMAW '96 Proceedings of the 7th European workshop on Modelling autonomous agents in a mul-ti-agent world: Pages 42--55. Google ScholarDigital Library
- Ricci, A., Viroli, M., Omicini, A., "CArtAgO: A Framework for Prototyping Artifact-Based Environ-ments in MAS." In environments for MultiAgent Sys-tems III, Lecture Notes in Computer Science 4389, May-June 2007. Google ScholarDigital Library
- Scharli, Ducasse, Nierstrasz & Black, "Traits: Com-posable Units of Behaviour." In the European Conference on Object-Oriented Programming (ECOOP) 2003.Google Scholar
- Shoham, Y. "Agent-oriented programming", Robotics Laboratory, Computer Science Department, Stan-ford University, USA. Artificial Intelligence 60 (1993) 51--92. Google ScholarDigital Library
- Snyder, A., "Encapsulation and Inheritance in Object-Oriented Programming Languages", Hewlett-Packard Laboratories. CA, USA. In OOPLSA '86 Conference proceedings on Object-oriented pro-gramming systems, languages and applications, Pag-es 38--45 Google ScholarDigital Library
- Stroustrup, B., "Multiple Inheritance for C++", AT&T Bell Laboratories, 1999.Google Scholar
- Svahnberg, Van Gurp, & Bosch, "A taxonomy of variability realization techniques." Software: Practice and Experience, 35(8):705--754, 2005. Google ScholarDigital Library
- Tarr, Ossher, Harrison, & Sutton Jr., "N degrees of separation: multi-dimensional separation of concerns." In Proceedings of the 21st international con-ference on Software engineering, pages 107--119. ACM, 1999. Google ScholarDigital Library
- Touretzky, D.S., "The Mathematics of Inheritance Systems", Pitman, London, 1986. Google ScholarDigital Library
- Viega, Tutt & Behrends, "Automated Delegation is a Viable Alternative to Multiple Inheritance in Class Based Languages.", UVA Technical Report CS-98-03, March 12, 1998 Google Scholar
- Wegner, P., "Classification in Object Oriented Systems". ACM SIGPLAN Notice, vol. 21, no. 10, 1986. Google ScholarDigital Library
- Woolridge, M., Jennings, N. & Kinny, D., "The Gaia Methodology for Agent-Oriented Analysis and Design." In Autonomous Agents and Multi-Agent Sys-tems, September 2000, Volume 3, Issue 3, pp 285--312. Google ScholarDigital Library
- Martin, Robert C. (1997-03-09), Java and C++: A critical comparison.Google Scholar
- Mikhajlov, L., Sekerinski, E., "A Study of the Fragile Base Class Problem". In European Conference on Object-Oriented Programming, 1998. Google ScholarDigital Library
- de Boer, F.S., "Formal Methods for Components and Objects". In Third International Symposium, FMCO 2004, Leiden, The Netherlands, November 2--5, 2004Google Scholar
- Fischer, K., Holonic "Multi-Agent Systems: Theory and Practice", in Progress in Artificial Intelligence, LNCS 1695, Springer-Verlag, 1999. Google ScholarDigital Library
- Dignuum, F., Dignum, V "Modelling Agent Frame-works: Co-ordination Frameworks and Institutions", in EPAI LNAI 2258, pgs 191--204,Springer-Verlag, 2001. Google ScholarDigital Library
- Fallah-Seghrouchni, A., Suna, A., "CLAIM: A Com-putational Language for Autonomous, Intelligent, and Mobile Agents", Programming Multi-Agent Systems, LNCS 3067, Springer-Verlag, pp 90--110, 2004.Google ScholarCross Ref
- Crnogorac, L., Rao, A., Ramamohanarao, K., "Analysis of Inheritance Mechanisms in Agent-Oriented Programming", Proceedings of the 5th International Joint Conference on Artificial Intelligence (IJCAI-97), Nagoya, Japan, 1997.Google Scholar
Index Terms
- Multiple Inheritance in AgentSpeak(L)-Style Programming Languages
Recommendations
A typed intermediate language for compiling multiple inheritance
Proceedings of the 2007 POPL ConferenceType-preserving compilation can improve software reliability by generating code that can be verified independently of the compiler. Practical type preserving compilation does not exist for languages with multiple inheritance. This paper presents Emi, ...
Just-in-time inheritance: a dynamic and implicit multiple inheritance mechanism
DLS 2016: Proceedings of the 12th Symposium on Dynamic LanguagesMultiple inheritance is often criticised for the ambiguity that arises when multiple parents want to pass on a feature with the same name to their offspring. A survey of programming languages reveals that no programming language has an inherently ...
Programming agent deliberation: an approach illustrated using the 3APL language
AAMAS '03: Proceedings of the second international joint conference on Autonomous agents and multiagent systemsThis paper presents the specification of a programming language for implementing the deliberation cycle of cognitive agents. The mental attitudes of cognitive agents are assumed to be represented in an object language. The implementation language for ...
Comments