• DocumentCode
    584235
  • Title

    Augmenting the Repertoire of Design Patterns for Self-Organized Software by Reverse Engineering a Bio-Inspired P2P System

  • Author

    Snyder, Paul L. ; Valetto, Giuseppe ; Fernandez-Marquez, Jose Luis ; Serugendo, Giovanna Di Marzo

  • Author_Institution
    Dept. of Comput. Sci., Drexel Univ., Philadelphia, PA, USA
  • fYear
    2012
  • fDate
    10-14 Sept. 2012
  • Firstpage
    199
  • Lastpage
    204
  • Abstract
    Investigations of self-organizing mechanisms, often inspired by phenomena in natural or societal systems, have yielded a wealth of techniques for the self-adaptation of complex, large- and ultra-large-scale software systems. The principled design of self-adaptive software using principles of self-organization remains challenging. Several studies have approached this problem by proposing design patterns for self-organization. In this paper, we present the results of applying a catalog of biologically inspired design patterns to Mycoload, a self-organizing system for clustering and load balancing in decentralized service networks. We reverse-engineered Mycoload, obtaining a design that isolates instances of several patterns. This exercise allowed us to identify additional reusable self-organization mechanisms, which we have also abstracted out as design patterns: SPECIALIZATION, which we present here for the first time, and a generalized form of COLLECTIVE SORT. The pattern-based design also led to a better understanding of the relationships among the multiple self-organizing mechanisms that together determine the emegent dynamics of Mycoload.
  • Keywords
    object-oriented methods; pattern clustering; peer-to-peer computing; resource allocation; reverse engineering; software engineering; COLLECTIVE SORT; Mycoload; SPECIALIZATION pattern; bio-inspired P2P system; biologically inspired design patterns; clustering; complex software systems; decentralized service networks; large-scale software systems; load balancing; natural systems; pattern-based design; reverse engineering; self-adaptive software design; self-organized software; societal systems; ultra-large-scale software systems; Biology; Catalogs; Peer to peer computing; Reverse engineering; Sensors; Software; Sorting; bio-inspired algorithms; design modeling; design patterns; self-organization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Self-Adaptive and Self-Organizing Systems (SASO), 2012 IEEE Sixth International Conference on
  • Conference_Location
    Lyon
  • ISSN
    1949-3673
  • Print_ISBN
    978-1-4673-3126-5
  • Type

    conf

  • DOI
    10.1109/SASO.2012.23
  • Filename
    6394127