Paul L. Snyder, G. Valetto, J. Fernandez-Marquez, G. Serugendo
{"title":"Augmenting the Repertoire of Design Patterns for Self-Organized Software by Reverse Engineering a Bio-Inspired P2P System","authors":"Paul L. Snyder, G. Valetto, J. Fernandez-Marquez, G. Serugendo","doi":"10.1109/SASO.2012.23","DOIUrl":null,"url":null,"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.","PeriodicalId":126067,"journal":{"name":"2012 IEEE Sixth International Conference on Self-Adaptive and Self-Organizing Systems","volume":"55 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 IEEE Sixth International Conference on Self-Adaptive and Self-Organizing Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SASO.2012.23","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9
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.