Related Projects


Structuring Evolution


Evolution, Empirical Analysis, Modelling Evolution


The study of evolution of computer-based systems contributes to the progress of the understanding of system dynamics. Although evolution can be a source of undependability, system failures may be due to failures to evolve. Although evolution is a necessary feature of socio-technical systems, it often increases the risk of failures. Evolution is a hazard for computer-based systems. Evolution represents a phenomenon in any computer-based system. Unfortunately, evolution of computer-based systems has received little attention in research and practice. Most methodologies address change management by taking a process viewpoint. On the contrary, evolution is a phenomenon that can be identified, analysed and understood in computer-based systems.

Technology driven methodologies often rely on the strict configuration management of socio-technical systems, although it inhibits the evolution of socio-technical systems. Therefore, evolution provides a convenient viewpoint for looking at socio-technical systems. Evolution of socio-technical systems is a desirable feature, because it captures emerging social needs. Moreover, evolution allows, if properly understood and managed, the mitigation of socio-technical failures. Unfortunately, current methodologies provide limited support with respect to the evolution of socio-technical systems. In order to understand socio-technical (or computer-based) systems, it is important to understand the role of the environment(s) in which these systems are developed and deployed. Socio-technical systems are open, as opposed to closed, with respect to their surroundings. The interactions between socio-technical systems and their environments (which often involve other socio-technical systems) highlight the Social Shaping of Technology (SST). Although this comprehensive understanding allows us to characterise socio-technical systems (with respect to their environments), it provides limited support to understand the mechanisms supporting sustainable socio-technical systems. This is due to the lack of methodologies addressing the evolution of socio-technical systems.

Our work analyses mechanisms and examples of evolution of socio-technical structures (e.g. architecture, traceability, coupling, dependency, etc.), hence socio-technical systems. On the one hand, evolution may affect structures. On the other hand, structures may support evolution too. Modelling (requirements) evolution captures how (design) structures evolve due to stakeholder interaction. Heterogeneous engineering provides a comprehensive account of system requirements. Heterogeneous engineering stresses a holistic viewpoint that allows us to understand the underlying mechanisms of evolution of socio-technical systems. Requirements, as mappings between socio-technical solutions and problems, represent an account of the history of socio-technical issues arising and being solved within industrial settings. The formal extension of a heterogeneous account of requirements provides a framework to model and capture requirements evolution.

The application of the proposed framework provides further evidence that it is possible to capture and model evolutionary information about requirements. The investigation of industrial case studies allows us to acquire input from practice in system engineering. This is to take realistic account of system evolution. Moreover, case studies provide domain knowledge that characterises specific industrial contexts. Case studies drawn from industry stress the crucial aspect of domain knowledge. Finally, the identification of a broad spectrum of evolutions in socio-technical systems points out strong contingencies between system evolution and dependability. We argue that the better our understanding of socio-technical evolution, the better system dependability.





[1] Massimo Felici, "Observational Models of Requirements Evolution". EDI-INF-IP040037, PhD Thesis, University of Edinburgh, 2004.

[2] Massimo Felici, "Structuring evolution: on the evolution of socio-technical systems". In Denis Besnard, Cristina Gacek and Cliff Jones (Eds.), Structure for Dependability: Computer-based Systems from an Interdisciplinary perspective, Springer (to appear).

[3] Massimo Felici, "Evolutionary Safety Analysis: Motivations from the Air Traffic Management Domain". In Proceedings of the 24th International Conference on Computer Safety, Reliability and Security, SAFECOMP 2005 (to appear).

[4] Massimo Felici, "Capturing Emerging Complex Interactions - Safety Analysis in ATM". In Chris Johnson (Ed.), Proceedings of the 2nd Workshop on Complexity in Design and Engineering, GIST Technical Report G2005-1, Department of Computer Science, University of Glasgow, Scotlad, pp. 120-129. Presented also at the 5th annual Dependability IRC workshop, e-Science Institute, Edinburgh.


Massimo Felici (Edinburgh)


Page Maintainer: Credits      Project Members only Last Modified: 10 August, 2005