Abstract
This article provides an overall view of the research that has been done in the context of self-managing software within the SMScom project. We start by the motivations that inspired the research, and then we focus on a reference framework that explains its conceptual underpinnings and on the paradigm shift it calls for in the way we currently engineer software. Next we focus on some specific research results achieved at the architecture and verification support level.
Similar content being viewed by others
Notes
Reliability parameters may be estimated by monitoring service invocations and run-time failures and applying a Bayesian inference methods, as explained in [15].
For other PCTL formulae, evaluation is performed as a tree-structured traversal computing polynomial forms.
References
Atzori L, Iera A, Morabito G (2010) The internet of things: a survey. Comput Netw 54(15):2787–2805
Baresi L, Di Nitto E, Ghezzi C (2006) Toward open-world software: issue and challenges. Computer 39(10):36–43
Baresi L, Ghezzi C (2010) The disappearing boundary between development-time and run-time. In: Proceedings of the FSE/SDP workshop on future of software engineering research, FoSER’10. ACM, New York, pp 17–22
Baresi L, Guinea S (2011) A3: self-adaptation capabilities through groups and coordination. In: Proceeding of the 4th annual India software engineering conference. ACM, New York, pp 11–20
Baresi L, Guinea S (2011) Self-supervising bpel processes. IEEE Trans Softw Eng 37(2):247–263
Belady LA, Lehman MM (1976) A model of large program development. IBM Syst J 15(3):225–252
Caporuscio M, Funaro M, Ghezzi C (2010) Architectural issues of adaptive pervasive systems. In: Graph transformations and model-driven engineering—essays dedicated to Manfred Nagl on the occasion of his 65th birthday. Lecture notes in computer science, vol 5765. Springer, Berlin, pp 492–511
Cavallaro L, Di Nitto E, Furia CA, Pradella M (2010) A tile-based approach for self-assembling service compositions. In: 15th IEEE international conference on engineering of complex computer systems. IEEE Comput Soc, Los Alamitos, pp 43–52
Clements P, Northrop L (2001) Software product lines: practices and patterns. Addison-Wesley, Boston
de Lemos R, Giese H, Mller H, Shaw M (2009) In: Software engineering for self-adaptive systems. Cheng BHC, de Lemos R, Giese H, Inverardi P, Magee J (eds) Lecture notes in computer science, vol 5525. ISBN:978-3-642-02160-2
Di Nitto E, Dubois DJ, Mirandola R (2009) On exploiting decentralized bio-inspired self-organization algorithms to develop real systems. In: The 2009 ICSE workshop on software engineering for adaptive and self-managing systems, SEAMS 2009. IEEE Press, New York, pp 68–75
Drago M, Ghezzi C, Mirandola R (2011) Towards quality driven exploration of model transformation spaces. In: Whittle J, Clark T, Khne T (eds) Model driven engineering languages and systems. Lecture notes in computer science, vol 6981. Springer, Berlin, pp 2–16
Drago ML, Ghezzi C, Mirandola R (2011) Qvtr2: a rational and performance-aware extension to the relations language. In: Proceedings of the 2010 international conference on models in software engineering, MODELS’10. Springer, Berlin, p 328
Driscoll D, Mensch A (eds) (2009) Devices profile for web services (DPWS). Technical report, OASIS
Epifani I, Ghezzi C, Mirandola R, Tamburrelli G (2009) Model evolution by run-time adaptation. In: Proceedings of the 31st international conference on software engineering. IEEE Comput Soc, Los Alamitos, pp 111–121
Filieri A, Ghezzi C, Leva A, Maggio M (2011) Self-adaptive software meets control theory: a preliminary approach supporting reliability requirements. In: 26th IEEE/ACM international conference on automated software engineering (ASE), pp 283–292
Filieri A, Ghezzi C, Leva A, Maggio M (2012, to appear) In: Reliability-driven dynamic binding via feedback control, SEAMS’12. doi:10.1109/SEAMS.2012.6224390
Filieri A, Ghezzi C, Tamburrelli G (2011) Run-time efficient probabilistic model checking. In: Proceedings of the 33rd international conference on software engineering
Gallotti S, Ghezzi C, Mirandola R, Tamburrelli G (2008) Quality prediction of service compositions through probabilistic model checking. In: Quality of software architectures. Models and architectures. Lecture notes in computer science, vol 5281. Springer, Berlin, pp 119–134
Ghezzi C, Mocci A, Monga M (2009) Synthesizing intensional behavior models by graph transformation. In: Proceedings of the 31st international conference on software engineering, ICSE’09. IEEE Comput Soc, Los Alamitos, pp 430–440
Ghezzi C, Mocci A, Salvaneschi G (2010) Automatic cross validation of multiple specifications: a case study. In: Rosenblum D, Taentzer G (eds) Fundamental approaches to software engineering. Lecture notes in computer science, vol 6013. Springer, Berlin, pp 233–247. doi:10.1007/978-3-642-12029-9
Ghezzi C, Pradella M, Salvaneschi G (2010) Programming language support to context-aware adaptation: a case-study with Erlang. In: Proceedings of the 2010 ICSE workshop on software engineering for adaptive and self-managing systems, SEAMS’10. ACM, New York, pp 59–68
Ghezzi C, Tamburrelli G (2009) Reasoning on non-functional requirements for integrated services. In: Proceedings of the 17th international requirements engineering conference. IEEE Comput Soc, Los Alamitos, pp 69–78
Hallsteinsen S, Hinchey M, Park S, Schmid K (2008) Dynamic software product lines. Computer 41(4):93–95
Hinton A, Kwiatkowska M, Norman G, Parker D (2006) Prism: a tool for automatic verification of probabilistic systems. In: Proc 12th international conference on tools and algorithms for the construction and analysis of systems (TACAS06), vol 3920, pp 441–444
Hirschfeld R, Costanza P, Nierstrasz O (2008) Context-oriented programming. J Object Technol 7(3):125–151
Jackson M, Zave P (1995) Deriving specifications from requirements: an example. In: ICSE’95: proceedings of the 17th international conference on software engineering. ACM, New York, pp 15–24
Jones C (1983) Tentative steps toward a development method for interfering programs. ACM Trans Program Lang Syst. doi:10.1145/69575.69577
Kwiatkowska M, Norman G, Parker D (2004) Prism 2.0: a tool for probabilistic model checking. In: Proceedings of the first international conference on the Quantitative evaluation of systems, QEST 2004, pp 322–323
Lehman MM, Belady LA (eds) (1985) Program evolution: processes of software change. Academic Press, San Diego
Ma X, Baresi L, Ghezzi C, Manna VPL, Lu J (2011) Version-consistent dynamic reconfiguration of component-based distributed systems. In: ESEC/FSE’11: the 19th ACM SIGSOFT symposium on the foundations of software engineering and the 13rd European software engineering conference. ACM, New York, pp 245–255
Margara A, Cugola G (2011) In: Proceedings of the fifth ACM international conference on distributed event-based systems. ACM, New York, pp 183–194
Mottola L, Picco GP (2011) Programming wireless sensor networks: fundamental concepts and state of the art. ACM Comput Surv V(3):1–51
Parnas DL (1972) On the criteria to be used in decomposing systems into modules. Commun ACM 15(12):1053–1058
Pohl K, Bckle G, van der Linden FJ (2005) Software product line engineering: foundations, principles and techniques. Springer, Heidelberg
Rushby J (2002) An overview of formal verification for the time-triggered architecture. In: Damm W, Olderog E (eds) Formal techniques in real-time and fault-tolerant systems. Lecture notes in computer science, vol 2469. Springer, Berlin, pp 83–105
Sales Pinto L (2011) A declarative approach to enable flexible and dynamic service compositions. In: Proceedings of the 33rd international conference on software engineering. ACM, New York, pp 1130–1131
Salvaneschi G, Ghezzi C, Pradella M (2012) Context-oriented programming: a software engineering perspective. J Syst Softw. doi:10.1016/j.jss.2012.03.024
Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM Trans Softw Eng Methodol 6(1):1–30
Acknowledgements
This research has been funded by the European Commission, Programme IDEAS-ERC, Project 227977-SMScom. We are indebted to all the participants in the SMScom for are making the project an extremely exciting research avenue. The project’s Web site (http://www.erc-smscom.org) lists all of them and acts as a repository of their contributions. We are also indebted to all the individuals who gave us feedback in conferences, workshops, and technical meetings. Naming all of them would simply be impossible!
Author information
Authors and Affiliations
Corresponding author
Additional information
This research has been partially funded by the European Commission, Programme IDEAS-ERC, Project 227977-SMScom.
Rights and permissions
About this article
Cite this article
Baresi, L., Ghezzi, C. A journey through SMScom: self-managing situational computing. Comput Sci Res Dev 28, 267–277 (2013). https://doi.org/10.1007/s00450-012-0234-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00450-012-0234-0