JUCS - Journal of Universal Computer Science 11(2): 327-356, doi: 10.3217/jucs-011-02-0327
Structural Tendencies in Complex Systems Development and their Implication for Software Systems
expand article infoAndrzej Gecow, Mariusz Nowostawski§, Martin Purvis§
‡ temporary Institute of Paleobiology, Polish Academy of Science, Poland§ University of Otago, Dunedin, New Zealand
Open Access
Abstract
Contemporary distributed software systems, exposed to highly unpredictable environments, are reaching extremely high complexity levels. For example, open heterogeneous multi-agent systems that may potentially be spread all around the globe are interacting with different types of dynamically changing web-services and web-technologies. Traditional control-based handling of adaptability may not be suitable any more in such systems. Therefore there is a tendency for exploring different adaptability models inspired by biological phenomena. Biological systems inherently are faced with complexity and unpredictable environments, and they exhibit high levels of ad aptability. In this article, we present a theoretical model of development of complex system, which was built originally by Andrzej Gecow, as a computational model in evolutionary biology. This model represents a generic complex system subjected to long sequences of adaptive changes. The model was used for analysis of development processes and also structural tendencies. By tendencies we mean some phenomena that should be expected in any complex system, subjected to a long development process. Some of these tendencies are not desirable, for example bloat of the system. Some of the phenomena, however, show characteristics of changes that improve the system. These characteristics can be applied to optimisation of self-producing and self-adapting algorithms of self-maintaining complex software systems. The main structural tendencies described in this article are: terminal modifications, terminal majority of additions, and covering (reconstructing within the system itself disappearing environmental signals).
Keywords
complex systems, adaptable architectures, software life cycle