Advertisement

Methodological Guidelines for Engineering Self-organization and Emergence

  • Victor Noël
  • Franco Zambonelli
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8998)

Abstract

The ASCENS project deals with the design and development of complex self-adaptive systems, where self-organization is one of the possible means by which to achieve self-adaptation. However, to support the development of self-organising systems, one has to extensively re-situate their engineering from a software architectures and requirements point of view. In particular, in this chapter, we highlight the importance of the decomposition in components to go from the problem to the engineered solution. This leads us to explain and rationalise the following architectural strategy: designing by following the problem organisation. We discuss architectural advantages for development and documentation, and its coherence with existing methodological approaches to self-organisation, and we illustrate the approach with an example on the area of swarm robotics.

Keywords

Self-organization software architecture problem decomposition swarm robotics 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abeywickrama, D.B., Bicocchi, N., Zambonelli, F.: SOTA: Towards a general model for self-adaptive systems. In: WETICE Conference, pp. 48–53. IEEE Computer Society Press, Los Alamitos (2012)Google Scholar
  2. 2.
    Andrews, P., Stepney, S., Winfield, A.: Simulation as an experimental design process for emergent systems. In: EmergeNET4 Workshop: Engineering Emergence (2010)Google Scholar
  3. 3.
    Arcangeli, J.P., Noël, V., Migeon, F.: Software Architectures and Multiagent Systems. In: Oussalah, M. (ed.) Software Architectures, vol. 2, pp. 171–208. Wiley, Chichester (2014)Google Scholar
  4. 4.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  5. 5.
    Basu, A., Bensalem, S., Bozga, M., Combaz, J., Jaber, M., Nguyen, T., Sifakis, J.: Rigorous component-based system design using the BIP framework. IEEE Software 28(3), 41–48 (2011)CrossRefGoogle Scholar
  6. 6.
    Bauer, B., Müller, J.P., Odell, J.: Agent uml: A formalism for specifying multiagent software systems. International Journal of Software Engineering and Knowledge Engineering 11(3), 207–230 (2001)CrossRefGoogle Scholar
  7. 7.
    Beal, J.: Superdiffusive dispersion and mixing of swarms with reactive levy walks. In: International Conference on Self-Adaptive and Self-Organizing Systems, pp. 141–148. IEEE Computer Society Press, Los Alamitos (2013)Google Scholar
  8. 8.
    Bernon, C., Cossentino, M., Pavón, J.: An Overview of Current Trends in European AOSE Research. Informatica 29, 379–390 (2005)Google Scholar
  9. 9.
    Berns, A., Ghosh, S.: Dissecting Self-* Properties. In: International Conference on Self-Adaptive and Self-Organizing Systems, pp. 10–19. IEEE Computer Society Press, Los Alamitos (2009)Google Scholar
  10. 10.
    Bonjean, N., Mefteh Mejri, W., Gleizes, M.P., Maurel, C., Migeon, F.: ADELFE 2.0. In: Cossentino, M., Hilaire, V., Molesini, A., Seidita, V. (eds.) Handbook on Agent-Oriented Design Processes, pp. 19–64. Springer, Heidelberg (2013)Google Scholar
  11. 11.
    Bruni, R., Montanari, U., Sammartino, M.: Reconfigurable and Software-Defined Networks of Connectors and Components. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 73–106. Springer, Heidelberg (2015)Google Scholar
  12. 12.
    Cabri, G., Puviani, M., Zambonelli, F.: Towards a taxonomy of adaptive agent-based collaboration patterns for autonomic service ensembles. In: International Conference on Collaboration Technologies and Systems, pp. 508–515. IEEE Computer Society Press, Los Alamitos (2011)Google Scholar
  13. 13.
    Chalmers, D.: Strong and weak emergence. In: Clayton, P., Davies, P. (eds.) The Re-Emergence of Emergence, Oxford University Press, Oxford (2006)Google Scholar
  14. 14.
    Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  15. 15.
    De Wolf, T., Holvoet, T.: Emergence versus self-organisation: different concepts but promising when combined. In: Brueckner, S.A., Di Marzo Serugendo, G., Karageorgos, A., Nagpal, R. (eds.) Engineering Self-Organising Systems. LNCS (LNAI), vol. 3464, pp. 1–15. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Di Marzo Serugendo, G., Gleizes, M.P., Karageorgos, A.: Self-organisation and emergence in mas: An overview. Informatica 30, 45–54 (2006)zbMATHGoogle Scholar
  17. 17.
    Di Marzo Serugendo, G., Gleizes, M.P., Karageorgos, A. (eds.): Self-Organising Software. Natural Computing. Springer, Heidelberg (2011)Google Scholar
  18. 18.
    Di Marzo Serugendo, G., Karageorgos, A., Rana, O.F., Zambonelli, F. (eds.): Engineering Self-Organising Systems. LNCS (LNAI), vol. 2977. Springer, Heidelberg (2004)zbMATHGoogle Scholar
  19. 19.
    Dorigo, M., Stützle, T.: Ant Colony Optimization. MIT Press, Cambridge (2004)CrossRefzbMATHGoogle Scholar
  20. 20.
    Edmonds, B.: Using the experimental method to produce reliable self-organised systems. In: Brueckner, S.A., Di Marzo Serugendo, G., Karageorgos, A., Nagpal, R. (eds.) Engineering Self-Organising Systems. LNCS (LNAI), vol. 3464, pp. 84–99. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    Evans, E.: Domain-driven design: tackling complexity in the heart of software. Addison-Wesley, Reading (2004)Google Scholar
  22. 22.
    Georgé, J.P., Edmonds, B., Glize, P.: Making Self-Organising Adaptive Multiagent Systems Work. In: Bergenti, F., Gleizes, M.P., Zombonelli, F. (eds.) Methodologies and Software Engineering for Agent Systems, pp. 319–338. Kluwer Academic Publishers, Dordrecht (2004)Google Scholar
  23. 23.
    Georgé, J.P., Gleizes, M.P., Camps, V.: Cooperation. In: Di Marzo Serugendo, G., Karageorgos, A., Rana, O.F., Zambonelli, F. (eds.) Engineering Self-Organising Systems. LNCS (LNAI), vol. 2977, pp. 193–226. Springer, Heidelberg (2004)Google Scholar
  24. 24.
    Georgé, J.P., Picard, G., Gleizes, M.P., Glize, P.: Living Design for Open Computational Systems. In: International Workshop on Theory And Practice of Open Computational Systems at WETICE, pp. 389–394. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  25. 25.
    Gershenson, C.: Towards a general methodology for designing self-organizing systems. In: Bogg, J., Geyer, R. (eds.) Complexity, Science and Society, Radcliffe Publishing (2007)Google Scholar
  26. 26.
    Giorgini, P., Kolp, M., Mylopoulos, J., Castro, J.: Tropos: A requirements-driven methodology for agent-oriented software. In: Henderson-Sellers, B., Giorgini, P. (eds.) Agent-Oriented Methodologies, pp. 20–45. IGI Global (2005)CrossRefGoogle Scholar
  27. 27.
    Goldstein, J.: Emergence as a construct: History and issues. Emergence 1(1), 49–72 (1999)CrossRefGoogle Scholar
  28. 28.
    Hall, J., Rapanotti, L., Jackson, M.: Problem-oriented software engineering: Solving the package router control problem. Transactions on Software Engineering 34(2), 226–241 (2008)CrossRefGoogle Scholar
  29. 29.
    Heylighen, F.: The science of self-organization and adaptivity. The Encyclopedia of Life Support Systems 5(3), 253–280 (2001)Google Scholar
  30. 30.
    Heylighen, F., Gershenson, C.: The meaning of self-organization in computing. IEEE Intelligent Systems, Section Trends & Controversies 18(4), 72–75 (2003)CrossRefGoogle Scholar
  31. 31.
    Hölzl, M., Koch, N., Puviani, M., Wirsing, M., Zambonelli, F.: The Ensemble Development Life Cycle and Best Practices for Collective Autonomic Systems. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 325–354. Springer, Heidelberg (2015)Google Scholar
  32. 32.
    Hudson, J., Denzinger, J., Kasinger, H., Bauer, B.: Dependable risk-aware efficiency improvement for self-organizing emergent systems. In: International Conference on Self-Adaptive and Self-Organizing Systems, pp. 11–20. IEEE Computer Society Press, Los Alamitos (2011)Google Scholar
  33. 33.
    Johnson, C.: What are Emergent Properties and How do They Affect the Engineering of Complex Systems? Reliability Engineering and System Safety 91(12), 1475–1481 (2006)CrossRefGoogle Scholar
  34. 34.
    Jorquera, T., Georgé, J.P., Gleizes, M.P., Couellan, N., Noë, V., Régis, C.: A Natural Formalism and a Multi-Agent Algorithm for Integrative Multidisciplinary Design Optimization. In: International Workshop on Optimisation in Multi-Agent Systems at AAMAS (2013)Google Scholar
  35. 35.
    Kennedy, J., Eberhart, R.: Particle Swarm Optimization. In: International Conference on Neural Networks, pp. 1942–1948. IEEE Computer Society Press, Los Alamitos (1995)Google Scholar
  36. 36.
    Kim, J.: Making sense of emergence. Philosophical studies 95(1), 3–36 (1999)CrossRefGoogle Scholar
  37. 37.
    Luke, S., Cioffi-Revilla, C., Panait, L., Sullivan, K., Balan, G.: Mason: A multi-agent simulation environment. Simulation: Transactions of the society for Modeling and Simulation International (2005)Google Scholar
  38. 38.
    Mitchell, M.: Complexity: A guided tour. Oxford University Press, Oxford (2009)Google Scholar
  39. 39.
    De Nicola, R., Latella, D., Lafuente, A.L., Loreti, M., Margheri, A., Massink, M., Morichetta, A., Pugliese, R., Tiezzi, F., Vandin, A.: The SCEL Language: Design, Implementation, Verification. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 3–71. Springer, Heidelberg (2015)Google Scholar
  40. 40.
    Noël, V.: Component-based Software Architectures and Multi-Agent Systems: Mutual and Complementary Contributions for Supporting Software Development. Ph.D. thesis, Paul Sabatier University (2012)Google Scholar
  41. 41.
    Paunovski, O., Eleftherakis, G., Cowling, T.: Disciplined exploration of emergence using multi-agent simulation framework. Computing and Informatics 28(3), 369–391 (2009)Google Scholar
  42. 42.
    Picard, G., Hübner, J.F., Boissier, O., Gleizes, M.P.: Reorganisation and Self-organisation in Multi-Agent Systems. In: International Workshop on Organizational Modeling, pp. 66–80 (2009)Google Scholar
  43. 43.
    Pinciroli, C., Bonani, M., Mondada, F., Dorigo, M.: Adaptation and Awareness in Robot Ensembles: Scenarios and Algorithms. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 471–494. Springer, Heidelberg (2015)Google Scholar
  44. 44.
    Pitt, J., Schaumeier, J., Artikis, A.: Axiomatization of socio-economic principles for self-organizing institutions: Concepts, experiments and challenges. Transactions on Autonomous and Adaptive Systems 7(4), 1–39 (2012)CrossRefGoogle Scholar
  45. 45.
    Snyder, P., Valetto, G., Fernandez-Marquez, J., Di Marzo Serugendo, G.: Augmenting the repertoire of design patterns for self-organized software by reverse engineering a bio-inspired p2p system. In: International Conference on Self-Adaptive and Self-Organizing Systems, pp. 199–204. IEEE Computer Society Press, Los Alamitos (2012)Google Scholar
  46. 46.
    Weaver, W.: Science and complexity. American scientist 36(4), 536–544 (1948)Google Scholar
  47. 47.
    Weyns, D.: Architecture-Based Design of Multi-Agent Systems. Springer, Heidelberg (2010)CrossRefzbMATHGoogle Scholar
  48. 48.
    Weyns, D., Helleboogh, A., Steegmans, E., De Wolf, T., Mertens, K., Boucké, N., Holvoet, T.: Agents are not part of the problem, agents can solve the problem. In: International Workshop on Agent-Oriented Methodologies at OOPSLA, pp. 101–102 (2004)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Victor Noël
    • 1
  • Franco Zambonelli
    • 1
  1. 1.University of Modena and Reggio EmiliaItaly

Personalised recommendations