Taming Agents and Objects in Software Engineering

  • Viviane Silva
  • Alessandro Garcia
  • Anarosa Brandão
  • Christina Chavez
  • Carlos Lucena
  • Paulo Alencar
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2603)


Agent-based software engineering has been proposed in addition to object-oriented software engineering as a means of mastering the complexity associated with the development of large-scale distributed systems. However, there is still a poor understanding of the interplay between the notions of agents and objects from a software engineering perspective. Moreover, the many facets of agent-based software engineering are rarely used in the various phases of the software development lifecycle because of the lack of a comprehensive framework to provide the software designers with a clear understanding of the use of these two key abstractions. In this context, this paper presents TAO, an evolving innovative conceptual framework based on agent and object abstractions, which are the foundations for modeling large-scale software systems. The conceptual framework allows for the characterization of largescale software systems as organizations of passive components, the objects, and autonomous components, the agents, with each of these elements playing roles to interact with each other and to coordinate their actions in order to fulfill system goals.


Conceptual Framework Software Engineering Software Engineer Multiagent System Agent Class 
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.
    Alencar, P., Cowan, D., Lucena, C.: A Logical Theory of Interfaces and Objects. IEEE Transactions on Software Engineering, Vol. 28, n. 6, June, (2002): 548–575.CrossRefGoogle Scholar
  2. 2.
    Basili, V. et al.: Experimentation in Software Engineering. IEEE Transactions on Software Engineering, SE-12(7), July (1986).Google Scholar
  3. 3.
    Bäumer, D. et al.: Role Object. In: Proceedings of the Conference on Pattern Languages of Programs, (1997).Google Scholar
  4. 4.
    Biddle,_J., Thomas, E.: Role Theory: Concepts and Research. John Wiley and Sons, New York, (1966).Google Scholar
  5. 5.
    Booch, G.: “Object-oriented Analysis and Design with Applications”. The Benjamin/Cummings Publishing Company, Inc., 2nd edition, USA, (1994).Google Scholar
  6. 6.
    Booch, G., Rumbaugh, J., Jaconbson, I.: The Unified Modeling Language User Guide. Addison Wesley, (1999).Google Scholar
  7. 7.
    Bradshaw, J.: An Introduction to Software Agents. In: J. Bradshaw (Ed.), Software Agents, American Association for Artificial Intelligence/MIT, Cambridge, (1997): 3–46.Google Scholar
  8. 8.
    Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., Mylopoulos, J.: Modeling Early Requirements in Tropos: a Transformation Based Approach. In: Proceedings of the 2nd Workshop on Agent-Oriented Software Engineering, Montreal, Canada, May, (2001).Google Scholar
  9. 9.
    Chen, P.: The Entity Relationship Model — Towards a Unified View of Data. ACM Transactions on Database Systems, vol. 1, no1. March 1976, 9–36.Google Scholar
  10. 10.
    Dardenne,_A., Lamsweerde, A., Fickas, S.: Goal-directed Requirements Acquisition. Science of Computer Programming, (1993) 20:3–50.zbMATHCrossRefGoogle Scholar
  11. 11.
    Dieste, O., Juristo, N., Moreno, A., Pazos, J.: Conceptual Modeling in Software Engineering and Knowledge Engineering: Concepts, Techniques and Trends. In: Chang, S.K. (eds.): Handbook of Software Engineering and Knowledge Engineering Fundamentals. World Scientific Publishing Co., Vol.1 (2001)Google Scholar
  12. 12.
    Dong, J., Alencar, P., Cowan, D.: A Behavioral Analysis Approach to Pattern-Based Composition. Journal of Systems and Software, (2003). (To Appear)Google Scholar
  13. 13.
    Elammari, M., Lalonde, W.: An Agent-Oriented Methodology: High-level and Intermediate Models. In: Wagner, G., Yu, E. (eds).: Proceedings of the 1st International Workshop on Agent-Oriented Information Systems (1999).Google Scholar
  14. 15.
    Garcia, A., Cortés, M., Lucena, C.: A Web Environment for the Development and Maintenance of E-Commerce Portals based on a Groupware Approach. In: Proceedings of the Information Resources Management Association International Conference (IRMA’01), (2001): 722–724.Google Scholar
  15. 16.
    Garcia, A., Silva, V., Lucena, C., Milidiú, R.: An Aspect-Based Approach for Developing Multi-Agent Object-Oriented Systems. In: Proceedings of the 21st Brazilian Symposium on Software Engineering, Rio de Janeiro, Brazil, October, (2001): 177–192.Google Scholar
  16. 17.
    Garcia, A., Chavez, C., Silva, O., Silva, V., Lucena, C.: Promoting Advanced Separation of Concerns in Intra-Agent and Inter-Agent Software Engineering. In: Proceedings of the Workshop on Advanced Separation of Concerns in Object-Oriented Systems (ASoC) at OOPSLA’2001, Tampa Bay, USA, October, (2001).Google Scholar
  17. 18.
    Garcia, A., Silva, V., Chavez, C., Lucena, C.: Engineering Multi-Agent Systems with Aspects and Patterns. Journal of the Brazilian Computer Society, November, (2002).Google Scholar
  18. 19.
    Garcia, A., Lucena, C. Software Engineering for Large-Scale Multi-Agent Systems-SELMAS 2002. Post-Workshop Report, ACM Software Engineering Notes, August, (2002).Google Scholar
  19. 20.
    Garcia, A., Lucena, C., Cowan, D.: Agents in Object-Oriented Software Engineering. Software: Practice and Experience, Elsevier, (2003). (Accepted to Appear)Google Scholar
  20. 21.
    Genesereth, N., Ketchpel, S.: Software Agents. Communications of the ACM, v. 37, n. 7, July, (1994).Google Scholar
  21. 22.
    Glaser, N., Morignot, P.: The Reorganization of Societies of Autonomous Agents. In: Boman, M., Velde, W. (Eds.): Proceedings of the 8th European Ws. on Modeling Autonomous Agents in a Multi-Agent World, Springer, Berlin, Germany (1997).Google Scholar
  22. 23.
    Harrison, W., Ossher, J.: Subject-Oriented Programming: A Critique of Pure Objects. In: Proceedings of OOPSLA’93, (1993): 411–428.Google Scholar
  23. 24.
    Helfin, J., Hendler, J.: Semantic Interoperability on the Web. In: Proceedings of the 17th National Conference on Artificial Intelligence, (2000): 443–449.Google Scholar
  24. 25.
    Huhns, M., Singh, M.: Agents and Multiagent Systems: Themes, Approaches and Challenges. In: Huhns, M. Singh, M. (Eds.): Readings in Agents. Morgan Kaufmann (1998): 1–23.Google Scholar
  25. 26.
    Iglesias, C., Garrijo, M., Gonzalez, J, Velasco, J.: Analysis and Design of Multiagent Systems using MAS-CommonKADS. In: Singh, M. et al (Eds.), Intelligent Agents IV: Agent Theories, Architectures and Languages, LNCS 1365, (1997).Google Scholar
  26. 27.
    Iglesias, C., Garrijo, M., Gonzalez, J.: A Survey of Agent-Oriented Methodologies. In: Proceedings of the 5th International Workshop on Intelligent Agents: Agent Theories, Architectures, and Languages (ATAL-98), Paris, France, July (1998): 317–330.Google Scholar
  27. 28.
    d’Inverno, M., Luck, M.: Understanding Agent Systems. Springer Series on Agent Technology, Springer (2001).Google Scholar
  28. 29.
    Jacobson, I.: Object-Oriented Software Engineering. Addison-Wesley, (1992).Google Scholar
  29. 30.
    Jennings, N.: Commitments and Conventions: The Foundation of Coordination in Multiagent Systems. Knowledge Engineering Review, Vol.8, n. 3, (1993): 223–250.CrossRefGoogle Scholar
  30. 31.
    Jennings, N., Wooldridge, M. Applications of Intelligent Agents. In: Agent Technology: Foundations, Applications, and Markets, Springer, Heidelberg, Germany, (1998): 3–28.Google Scholar
  31. 32.
    Jennings, N., Sycara, K., Wooldridge, M.: A Roadmap of Agent Research and Development. Journal of Autonomous Agents and Multi-Agent Systems, v. 1, n. 1, (1998): 7–38.CrossRefGoogle Scholar
  32. 33.
    Jennings, N.: Agent-Oriented Software Engineering. In: Proceedings of the Twelfth International Conference on Industrial and Engineering Applications of Artificial Intelligence, (1999):4–10.Google Scholar
  33. 34.
    Jennings, N.: On Agent-based Software Engineering. Artificial Intelligence, Vol. 117, n. 2, (2000): 277–296.zbMATHCrossRefGoogle Scholar
  34. 35.
    Jennings, N., Wooldridge, M.: Agent-Oriented Software Engineering. In: Bradshaw, J. (ed.): Handbook of Agent Technology, AAAI/MIT Press, (2000).Google Scholar
  35. 36.
    Jennings, N.: An Agent-based Approach for Building Complex Software Systems. Communications of the ACM, v. 44, n. 4, (2001): 35–41.CrossRefMathSciNetGoogle Scholar
  36. 37.
    Kiczales, G. et al.: Aspect-Oriented Programming. In: Proceedings of European Conference on Object-Oriented Programming (ECOOP), LNCS, (1241), Springer-Verlag, Finland, June (1997).Google Scholar
  37. 38.
    Kinny, D., Georgeff, M., and Rao, A.: A methodology and modeling technique for systems of BDI agents. In: Van de Velde, W., Perram, J. (eds.): Agents Breaking Away: Proceedings of the Seventh European Workshop on Modeling Autonomous Agents in a Multi-Agent World, Springer-Verlag, Vol.1038(1996) 56–71.Google Scholar
  38. 39.
    Kinny, D., Georgeff, M.: Modelling and design of multi-agent systems. In: Müller, J., Wooldridge, M., Jennings, N. (eds.), Intelligent Agents III, Springer-Verlag, Vol.1193 (1997) 1–20.Google Scholar
  39. 40.
    Kinny, D.: The # Calculus: An Algebraic Agent Language. In: Intelligent Agents VIII, Springer-Verlag, Vol. 2333, (2002): 32–50.Google Scholar
  40. 41.
    Kristensen, B., Østerbye, K.: Roles: Conceptual Abstraction Theory and Practical Language Issues. Theory and Practice of Object Sytems Vol. 2, n. 3, (1996): 143–160.Google Scholar
  41. 42.
    Lind, J.: MASSIVE: Software Engineering for Multiagent Systems. PhD thesis, University of the Saarland (2000).Google Scholar
  42. 43.
    Maes, P.: Concepts and Experiments in Computational Reflection. In: Proceedings of OOPSLA’87, ACM SIGPLAN Notices, October (1987): 147–155.Google Scholar
  43. 44.
    Mamei, M. et al. Engineering Mobility in Large Multi Agent Systems: a Case Study in Urban Traffic Management. In: A. Garcia et al. (eds), Software Engineering for Large-Scale Multi-Agent Systems, Springer, LNCS, 2003.Google Scholar
  44. 46.
    B. Meyer. Object-Oriented Software Construction. Prentice-Hall, 2nd edition, (1997).Google Scholar
  45. 47.
    Minsky, N., Ungureanu, V.: Law-Governed Interaction: A Coordination and Control Mechanism for Heterogeneous Distributed Systems. ACM Transactions on Software Engineering and Methodology, Vol. 9, n. 3, July, (2000): 273–305.CrossRefGoogle Scholar
  46. 48.
    Moss, S., Gaylard, H., Wallis, S., Edmonds, B.: SDML: A Multi-Agent Language for Organizational Modelling. Computational Mathematical Organization Theory, Vol. 4, n. 1, (1998): 43–69.CrossRefGoogle Scholar
  47. 49.
    Neto, A., Lucena, C.: CommercePipe: Consumer to Business Commerce Channels on the Internet. SEA (Software Engineering Applications) IASTED, Las Vegas, October (2000)Google Scholar
  48. 50.
    Newcomer, E., Hurley, O.: Web Services Definition. In: Proceedings of the World Wide Web Consortium Workshop on Web Services, April, (2001).Google Scholar
  49. 51.
    Nwana, H.: Software Agents: An Overview. Knowledge Engineering Review, 11(3):1–40, 1996.Google Scholar
  50. 52.
    Object Management Group-Agent Platform Special Interest Group: Agent Technology-Green Paper. Version 1.0, September (2000).Google Scholar
  51. 53.
    Object Management Group: OMG MOF-Meta Object Facility (MOF) Specification. Version 1.4, April, (2002). Available at URL
  52. 54.
    Odell, J., Parunak, H., Bauer., B.: Extending UML for Agents. In: Odell, J., Parunak, H. and Bauer, B. (Eds.), Proceedings of the Agent-Oriented Information Systems Workshop at the 17th National Conference on Artificial Intelligence, 2000.Google Scholar
  53. 55.
    Omicini, A., Petta, P., Tolksdorf, R.: Engineering Societies in the Agents World II. Proceedings of the 2nd International Workshop on Engineering Societies in the Agents World, Praga, (2001).Google Scholar
  54. 56.
    Omicini, A.: From Objects to Agent Societies: Abstractions and Methodologies for the Engineering of Open Distributed Systems. In: Corradi, A., Omicini, A., Poggi, A. (eds.): WOA (2000): 29–34.Google Scholar
  55. 57.
    Omicini, A.: SODA: Societies and Infrastructure in the Analysis and Design of Agentbased Systems. In: Ciancarini, P., Wooldridge, M. (eds.), Agent-Oriented Software Engineering, Springer-Verlag, (2001): 185–194.Google Scholar
  56. 58.
    Parunak, H., Odell, J.: Representing Social Structures in UML. In: Proceedings of Agentoriented Software Engineering, (2001): 1–16.Google Scholar
  57. 59.
    Petrie, C.: Agent-Based Software Engineering. In: Ciancarini, P., Wooldridge, M. (eds.), Agent-Oriented Software Engineering, Springer-Verlag, (2001).Google Scholar
  58. 61.
    Rasmus, D.: Rethinking Smart Objects-Building Artificial Intelligence with Objects. Cambridge University Press (1999).Google Scholar
  59. 62.
    Ripper, P., Fontoura, M, Neto, A., Lucena, C.: V-Market: A Framework for e-Commerce Agent Systems. World Wide Web, Baltzer Science Publishers Vol. 3, n. 1, (2000).Google Scholar
  60. 63.
    Shoham, Y.: Agent0: A Simple Agent Language and its Interpreter. In: Proceedings of the Ninth National Conference on Artificial Intelligence, (1991): 704–709.Google Scholar
  61. 64.
    Shoham Y.: Agent-Oriented Programming. Artificial Intelligence, n. 60, (1993): 24–29.Google Scholar
  62. 65.
    SoC+Agents Group. Separation of Concern and Multi-Agents Systems Group. Available at UR:
  63. 66.
    Tarr, P. et al.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proceedings of the 21st International Conference on Software Engineering, May, (1999).Google Scholar
  64. 68.
    Wagner, G.: Agent-Object-Relationship Modeling. In: Proceedings of the 2nd International Symposium: From Agent Theory to Agent Implementation, April (2000).Google Scholar
  65. 69.
    Willmott, S., Dale, J., Burg, B., Charlton, C., O’Brien, P. Agentcities: A Worldwide Open Agent Network. Agentlink News, November, (2001): 13–15.Google Scholar
  66. 70.
    Wooldridge M., Jennings N., Kinny, D.:A Methodology for Agent-Oriented Analysis and Design. In: Proceedings of the Third International Conference on Autonomous Agents (Agents’99), ACM Press (1999): 69–76Google Scholar
  67. 71.
    Wooldridge, M., Jennings, N., Kinny, D.: The Gaia methodology for agent-oriented analysis and design. In: Journal of Autonomous Agents and Multi-Agent Systems, Vol. 3, (2000): 285–312.CrossRefGoogle Scholar
  68. 72.
    Wooldridge, M., Ciancarini, P.: Agent-Oriented Software Engineering: The State of the Art. In: P. Ciancarini And M. Wooldridge (Eds.), Agent-Oriented Software Engineering, Springer-Verlag, LNAI, 2001.Google Scholar
  69. 73.
    Yu, L., Schmid, B.: A Conceptual Framework for Agent-Oriented and Role-Based Work on Modeling. In: Wagner, G., Yu, E. (eds.): Proceedings of the 1st Int. Workshop. on Agent-Oriented Information Systems (1999).Google Scholar
  70. 74.
    Zambonelli, F., Jennings, N., Wooldridge, M.: Organizational Abstractions for the Analysis and Design of Multi-agent Systems. In: Ciancarini, P., Wooldridge, M. (eds.): Agent-Oriented Software Engineering, Springer-Verlag (2001).Google Scholar
  71. 75.
    Zambonelli, F. et al.: Agent-Oriented Software Engineering for Internet Applications. In: Omicini, A., Zambonelli, F., Klusch, M. (Eds.), Coordination of Internet Agents: Models, Technologies, and Applications, Springer-Verlag, New York, (2001).Google Scholar
  72. 76.
    Zambonelli, F., Jennings, N., Wooldridge, M.: Organizational Rules as an Abstraction for the Analysis and Design of Multi-agent Systems. Journal of Knowledge and Software Engineering, v.11, n.3, (2001).Google Scholar
  73. 77.
    Zambonelli, F., Parunak, H.: Signs of a Revolution in Computer Science and Software Engineering. In: Proceedings of the Third International Workshop Engineering Societies in the Agents World, Madrid, Spain, (2002).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Viviane Silva
    • 1
  • Alessandro Garcia
    • 1
  • Anarosa Brandão
    • 1
  • Christina Chavez
    • 2
  • Carlos Lucena
    • 1
  • Paulo Alencar
    • 3
  1. 1.PUC-Rio, Computer Science DepartmentSoC+Agent GroupRio de JaneiroBrazil
  2. 2.Computer Science DepartmentUFBASalvadorBrazil
  3. 3.Computer Science Department, Computer Systems GroupUniversity of WaterlooWaterlooCanada

Personalised recommendations