The Reflective Blackboard Pattern: Architecting Large Multi-agent Systems

  • Otavio Silva
  • Alessandro Garcia
  • Carlos Lucena
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2603)


Software architectures of large multi-agent systems (MASs) are inherently complex and have to cope with an increasing number of system-wide properties and their corresponding control policies. With the openness and increasing size and complexity of these systems a more sophisticated software architectural approach becomes necessary. In this context, we propose the Reflective Blackboard architectural pattern, which is the result of the composition of two other well-known architectural patterns: the Blackboard pattern and the Reflection pattern. The proposed pattern provides, early in the architectural design stage, the context in which more detailed decisions related to systemic properties and associated policies can be made in late stages of MAS development. The pattern allows for a better separation of concerns, supporting the separate handling of control strategies by means of the computational reflection technique. Moreover these control activities are handled independently from the application data and agents, providing a better architecture for real-life multi-agent systems. An electronic marketplace architecture, with the goal of interconnecting providers and consumers of goods and services to find one another and transact business electronically, is assumed as a case study through the paper to clarify all the expressed concepts and to show the applicability of our proposal.


Multiagent System Mobile Agent Software Architecture Architectural Pattern Controller Component 
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.
    J. Bailey, Y. Bakos. “An Exploratory Study of the Emerging Role of Electronic Intermediaries”. International Journal of Electronic Commerce 1(3), Spring 1997.Google Scholar
  2. 2.
    Y. Bakos. “The Emerging Role of Electronic Marketplaces on the Internet”. CACM, August 1998.Google Scholar
  3. 3.
    M. Barbacci. “Quality Attributes”. Technical Report, CMU/SEI-95-TR-021, December, 1995.Google Scholar
  4. 4.
    G. Booch, J. Rumbaugh. “Unified Modeling Language-User Guide”. Addison-Wesley, 1999.Google Scholar
  5. 5.
    F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. “Pattern-Oriented Software Architecture: A System of Patterns”, John Wiley & Sons, 1996.Google Scholar
  6. 6.
    G. Cabri, L. Leonardi, F. Zambornelli, “MARS: A Programmable Coordination Architecture for Mobile Agents”, IEEE Internet Computing, Vol. 4, No. 4, pp. 26–35, July-August 2000.CrossRefGoogle Scholar
  7. 7.
    L. Erman, F. Hayes-Roth, V. Lesser, D. Reddy. “The HEARSAY-II speech-understanding system: Integrating knowledge to resolve uncertainty”. Computing Surveys 12(2): 213–253.Google Scholar
  8. 8.
    L. Ferreira, C. Rubira, “The Reflective State Pattern”. Proceedings of the 5th Patterns Languages of Programs Conference (PLoP’98), August 1998, Monticello, EUA.Google Scholar
  9. 9.
    E. Freeman, S. Hupfer, K. Arnold, “JavaSpaces(TM) Principles, Patterns and Practice”, Addison-Wesley Pub Co, 1999Google Scholar
  10. 10.
    E. Gamma et al. “Design Patterns: Elements of Reusable Object-Oriented Software”. Addison-Wesley, Reading, 1995.Google Scholar
  11. 11.
    D. Gelernter, “Generative Communication in Linda” ACM Transactions on Programming Languages and Systems, vol. 7-No.1, pp 80–112, 1985zbMATHCrossRefGoogle Scholar
  12. 12.
    A. Garcia, V. Silva, C. Lucena, R. Milidiú. “An Aspect-Based Approach for Developing Multi-Agent Object-Oriented Systems”. XXI Brazilian Symp. on Software Engineering, Rio de Janeiro, Brazil, October 2001, pp. 177–192.Google Scholar
  13. 13.
    A. Garcia, C. Chavez, O. Silva, V. Silva, C. Lucena. “Promoting Advanced Separation of Concerns in Intra-Agent and Inter-Agent Software Engineering”. Workshop on Advanced Separation of Concerns in Object-oriented Systems (ASoC) at OOPSLA’2001, Tampa Bay, USA, October 2001Google Scholar
  14. 14.
    A. Garcia, C. Rubira. “A Architectural-based Reflective Approach to Incorporating Exception Handling into Dependable Software”. In: A. Romanovsky et al (Eds). “Advances in Exception Handling Techniques”. Springer-Verlag, LNCS-2022, April 2001, pp. 189–206.CrossRefGoogle Scholar
  15. 15.
    A. Garcia, C. Rubira. “A Unified Meta-Level Software Architecture for Sequential and Concurrent Exception Handling”. The Computer Journal, Special Issue on High Assurance Systems Engineering, January 2002.Google Scholar
  16. 16.
    A. Garcia, V. Silva, C. Chavez, C. Lucena. “Engineering Multi-Agent Systems with Aspects and Patterns”. Journal of the Brazilian Computer Society, Special Issue on Software Engineering and Databases, August 2002.Google Scholar
  17. 17.
    R. Guttman, A. Moukas, P. Maes. “Agent Mediated Electronic Commerce: A Survey”. Knowledge Engineering Review, June, 1998.Google Scholar
  18. 18.
    S. Hayden, C. Carrick, Q. Yang. “Architectural Design Patterns for Multiagent Coordination”. In Proceedings of the International Conference on Agent Systems’ 99 (Agents’99), Seattle, WA, May 1999.Google Scholar
  19. 19.
    M. Huget, F. Dignum, J. Koning (Eds.). Proc. of the Workshop on Agent Communication Languages and Conversation Policies. AAMAS 2002, Bologna, Italy, July 2002Google Scholar
  20. 20.
    M. Huhns, L. Stephens. “Multiagent Systems and Societies of Agents”, in Multiagent Systems-A Modern Approach to Distributed Artificial Intelligence, ed. G. Weiss, MIT Press, 2000Google Scholar
  21. 21.
    Institute of Electrical and Electronics Engineers. “IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries”. New York, 1990.Google Scholar
  22. 22.
    N. Karnik, A. Tripathi. “Design Issues in Mobile-Agent Programming Systems”. IEEE Concurrency, vol. 6, n. 3, 1998, pp.52–61.CrossRefGoogle Scholar
  23. 23.
    N. Karnik, A. Triphathi, “Security in the Ajanta Mobile Agent System”, Software-Practice and Experience, January 2001.Google Scholar
  24. 24.
    E. Kendall, P. Krishna, C. Pathak, C. Suresh, “A Framework for Agent Systems”, in Implementing Applications Frameworks: Object Oriented Frameworks at Work, ed. M. Fayad, D. Schmidt, R. Johnson, John Wiley & Sons, 1999.Google Scholar
  25. 25.
    T. Lehman, S. McLaughry, P. Wyckoff. “TSpaces: The Next Wave”. Hawaii International Conference on System Sciences (HICSS-32), January, 1999.Google Scholar
  26. 26.
    P. Maes. “Concepts and Experiments in Computational Reflection”. ACM SIGPLAN Notices, 22(12), pp 147–155, 1987CrossRefGoogle Scholar
  27. 27.
    T. Malone, K. Crowston. “The Interdisciplinary Study of Coordination”. ACM Computing Surveys 26, 1 (March), 87–119.Google Scholar
  28. 28.
    N. Minsky, V. Ungureanu. “Law-Governed Interaction: A Coordination and Control Mechanism for Heterogeneous Distributed Systems”. ACM Transactions on Software Engineering and Methodology, Vol. 9, No. 3, July 2000, pp. 273–305.CrossRefGoogle Scholar
  29. 29.
    Object Management Group-Agent Platform Special Interest Group. “Agent Technology-Green Paper-Version 1.0”, OMG, September 2000.Google Scholar
  30. 30.
    A. Oliva, I. Garcia, L. Buzato, “The reflexive architecture of Guaraná”. Technical Report IC-98-14, Institute of Computing, State University of Campinas, April 1998Google Scholar
  31. 31.
    A. Omicini, F. Zambonelli, “TuCSoN: a Coordination Model for Mobile Information Agents”. 1st International Workshop on Innovative Internet Information Systems (IIIS’98), Pisa (I), June 1998Google Scholar
  32. 32.
    C. E. Perkins, “Mobile IP,” IEEE Communications Magazine, vol. 35, no. 5, pp. 84–99, May 1997CrossRefGoogle Scholar
  33. 33.
    A. Porto, G. Roman (Eds.). Coordination Languages and Models. Proc. of the 4th International Conference COORDINATION 2000, Limassol, September 2000. LNCS 1906, Springer.Google Scholar
  34. 34.
    M. Shaw, D. Garlan. “Software Architecture: Perspectives on an Emerging Discipline”, Prentice Hall, 1996.Google Scholar
  35. 35.
    O. Silva, A. Garcia, C. Lucena, “A Unified Software Architecture for System-Level and Agent-Level Dependability in Multi-Agent Object-Oriented Systems”, 7th ECOOP Workshop on Mobile Objects Systems, Budapest, Hungary, June 2001Google Scholar
  36. 36.
    O. Silva, A. Garcia, C. Lucena, “T-Rex: A Reflective Tuple Space Environment for Dependable Mobile Agent Systems”. III WCSF at IEEE MWCN 2001, Recife, Brasil, August 2001Google Scholar
  37. 37.
    M. Tsvetovatyy, M. Gini, B. Mobasher, Z. Wieckowski. MAGMA: An Agent Based Virtual Market for Electronic Commerce. International Journal of Applied Artificial Intelligence, September 1997.Google Scholar
  38. 38.
    H. Yoshioka, Y. Tahara, A. Ohsuga, S. Honiden. “Security for Mobile Agents”. In Proc. of the 1st International Workshop on Agent-Oriented Software Engineering at ICSE 2000, Limerick (IR), June 2000.Google Scholar
  39. 39.
    F. Zambonelli, N. Jennings, M. Wooldridge. “Organizational Abstractions for the Analysis and Design of Multi-Agent Systems”. In Proc. of the 1st International Workshop on Agent-Oriented Software Engineering at ICSE 2000, Limerick (IR), June 2000.Google Scholar
  40. 40.
    F. Zambonelli, G. Cabri, L. Leonardi. “Developing Mobile Agent Organizations: A Case Study in Digital Tourism”. Proceedings of the 3rd International Symposium on Distributed Objects & Applications (DOA) 2001, Rome (I), September 2001.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Otavio Silva
    • 1
  • Alessandro Garcia
    • 1
  • Carlos Lucena
    • 1
  1. 1.Departamento de Informática - PUC-RioGrupo TecComm - SoC + AgentsRio de JaneiroBrazil

Personalised recommendations