Reuse by Inheritance in Agent Programming Languages

  • H. R. Jordan
  • S. E. Russell
  • G. M. P. O’Hare
  • R. W. Collier
Part of the Studies in Computational Intelligence book series (SCI, volume 382)


The need to modularise and thereby reuse complex agent programs has long been recognised in agent programming language research. Current approaches to agent modularity fall into two main categories: compositional; and environment-based. Motivated by a problem which requires two variants of the same agent to be built, this paper proposes a set of language extensions which add a complementary modularity style - reuse by inheritance - to agent programming languages. The extensions are designed so that they can be implemented in a preprocessor and added easily to an existing language, without affecting its type system, and with little or no change to its underlying interpreter.


Multiagent System Abstract Syntax Belief Base Language Extension Reuse Pattern 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Behrens, T., Hindriks, K., Bordini, R., Braubach, L., Dastani, M., Dix, J., Pokahr, J.: An Interface for Agent-Environment Interaction. In: The Eighth International Workshop on Programming Multi-Agent Systems ProMAS 2010, pp. 37–52 (2010)Google Scholar
  2. 2.
    Bordini, R., Hübner, J., Wooldridge, M.: Programming multi-agent systems in AgentSpeak using Jason. Wiley Interscience (2007)Google Scholar
  3. 3.
    Braubach, L., Pokahr, A., Lamersdorf, W.: Extending the capability concept for flexible BDI agent modularization. Programming Multi-Agent Systems, 139–155 (2006)Google Scholar
  4. 4.
    Busetta, P., Howden, N., Rönnquist, R., Hodgson, A.: Structuring BDI agents in functional clusters. Intelligent Agents VI. Agent Theories Architectures, and Languages, 277–289 (2000)Google Scholar
  5. 5.
    Dahl, O., Myhrhaug, B., Nygaard, K.: Some features of the SIMULA 67 language. In: Proceedings of the Second Conference on Applications of Simulations, Winter Simulation Conference, pp. 29–31 (1968)Google Scholar
  6. 6.
    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: Proceedings of the International Conference on Software Maintenance, pp. 20–29. IEEE, Los Alamitos (1995)CrossRefGoogle Scholar
  7. 7.
    Dastani, M., Mol, C., Steunebrink, B.: Modularity in agent programming languages. Intelligent Agents and Multi-Agent Systems, 139–152 (2008)Google Scholar
  8. 8.
    Frakes, W., Kang, K.: Software reuse research: Status and future. IEEE Transactions on Software Engineering 31(7), 529–536 (2005)CrossRefGoogle Scholar
  9. 9.
    Madden, N., Logan, B.: Modularity and compositionality in Jason. In: Braubach, L., Briot, J.-P., Thangarajah, J. (eds.) ProMAS 2009. LNCS, vol. 5919, pp. 237–253. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  10. 10.
    Mohagheghi, P., Conradi, R., Killi, O., Schwarz, H.: An Empirical Study of Software Reuse vs. Defect-Density and Stability. In: Proceedings of the 26th International Conference on Software Engineering (2004)Google Scholar
  11. 11.
    Nilsson, N.: Teleo-reactive programs for agent control. Journal of Artificial Intelligence Research, 158 (1994)Google Scholar
  12. 12.
    Novák, P., Dix, J.: Modular BDI architecture. In: Proceedings of The Fifth International Joint Conference on Autonomous Agents And Multiagent Systems, pp. 1009–1015. ACM, New York (2006)CrossRefGoogle Scholar
  13. 13.
    Rao, A.: AgentSpeak (L): BDI agents speak out in a logical computable language. Agents Breaking Away, 42–55 (1996)Google Scholar
  14. 14.
    Ricci, A., Piunti, M., Viroli, M.: Externalisation and Internalization: A New Perspective on Agent Modularisation in Multi-Agent System Programming. Languages, Methodologies, and Development Tools for Multi-Agent Systems, 35–54 (2010)Google Scholar
  15. 15.
    van Riemsdijk, M., Dastani, M., Meyer, J., de Boer, F.: Goal-oriented modularity in agent programming. In: Proceedings of the Fifth International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 1271–1278 (2006)Google Scholar
  16. 16.
    Russell, S., Jordan, H., O’Hare, G., Collier, R.: Agent Factory: A Framework for Prototyping Logic-Based AOP Languages. In: Proceedings of the Ninth German Conference on Multi-Agent System Technologies, MATES 2011 (2011)Google Scholar
  17. 17.
    Snyder, A.: Encapsulation and inheritance in object-oriented programming languages. In: Conference Proceedings on Object-Oriented Programming Systems, Languages and Applications, p. 45. ACM, New York (1986)Google Scholar
  18. 18.
    Svahnberg, M., Van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Software: Practice and Experience 35(8), 705–754 (2005)CrossRefGoogle Scholar
  19. 19.
    Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.: N degrees of separation: multi-dimensional separation of concerns. In: Proceedings of the 21st International Conference on Software Engineering, pp. 107–119. ACM, New York (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • H. R. Jordan
    • 1
  • S. E. Russell
    • 1
  • G. M. P. O’Hare
    • 1
  • R. W. Collier
    • 1
  1. 1.University College DublinIreland

Personalised recommendations