Systematically Engineering Self-Organizing Systems: The SodekoVS Approach - Sudeikat, Jan; Braubach, Lars; Pokahr, Alexander; Renz, Wolfgang; Lamersdorf, Winfried (Electronic Communications of the EASST, 2009)
Self-organizing systems promise new software quality attributes thatare very hard to obtain using standard software engineering approaches. In accordancewith the visions of e.g. autonomic computing and organic computing,self-organizing systems promote self-adaptability as one major property helping torealize software that can manage itself at runtime. In this respect, self-adaptabilitycan be seen as a necessary foundation for realizing e.g. self* properties such as self-configuration or self-protection. However, the systematic development of systemsexhibiting such properties challenges current development practices. The SodekoVSproject addresses the challenge to purposefully engineer adaptivity by proposing anew approach that considers the system architecture as well as the software developmentmethodology as integral intertwined aspects for system construction. Followingthe proposed process, self-organizing dynamics, inspired by biological, physicaland social systems, can be integrated into applications by composing modulesthat distribute feedback control structures among system entities. These compositionssupport hierarchical as well as completely decentralized solutions without asingle point of failure. This novel development conception is supported by a referencearchitecture, a tailored programming model as well as a library of ready to useself-organizing patterns. The key challenges, recent research activities, applicationscenarios as well as intermediate results are discussed.