Skip to main content
Log in

A journey through SMScom: self-managing situational computing

  • Special Issue Paper
  • Published:
Computer Science - Research and Development

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. We do not discuss here how a model like the one in Fig. 6 can be derived by a model like the one in Fig. 5.

  2. Reliability parameters may be estimated by monitoring service invocations and run-time failures and applying a Bayesian inference methods, as explained in [15].

  3. For other PCTL formulae, evaluation is performed as a tree-structured traversal computing polynomial forms.

References

  1. Atzori L, Iera A, Morabito G (2010) The internet of things: a survey. Comput Netw 54(15):2787–2805

    Article  MATH  Google Scholar 

  2. Baresi L, Di Nitto E, Ghezzi C (2006) Toward open-world software: issue and challenges. Computer 39(10):36–43

    Article  Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. 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

    Google Scholar 

  5. Baresi L, Guinea S (2011) Self-supervising bpel processes. IEEE Trans Softw Eng 37(2):247–263

    Article  Google Scholar 

  6. Belady LA, Lehman MM (1976) A model of large program development. IBM Syst J 15(3):225–252

    Article  MATH  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. Clements P, Northrop L (2001) Software product lines: practices and patterns. Addison-Wesley, Boston

    Google Scholar 

  10. 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

    Google Scholar 

  11. 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

    Chapter  Google Scholar 

  12. 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

    Chapter  Google Scholar 

  13. 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

    Google Scholar 

  14. Driscoll D, Mensch A (eds) (2009) Devices profile for web services (DPWS). Technical report, OASIS

  15. 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

    Google Scholar 

  16. 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

    Google Scholar 

  17. 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

  18. Filieri A, Ghezzi C, Tamburrelli G (2011) Run-time efficient probabilistic model checking. In: Proceedings of the 33rd international conference on software engineering

    Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. 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

    Google Scholar 

  21. 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

    Chapter  Google Scholar 

  22. 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

    Chapter  Google Scholar 

  23. 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

    Google Scholar 

  24. Hallsteinsen S, Hinchey M, Park S, Schmid K (2008) Dynamic software product lines. Computer 41(4):93–95

    Article  Google Scholar 

  25. 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

    Chapter  Google Scholar 

  26. Hirschfeld R, Costanza P, Nierstrasz O (2008) Context-oriented programming. J Object Technol 7(3):125–151

    Article  Google Scholar 

  27. 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

    Google Scholar 

  28. Jones C (1983) Tentative steps toward a development method for interfering programs. ACM Trans Program Lang Syst. doi:10.1145/69575.69577

  29. 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

    Chapter  Google Scholar 

  30. Lehman MM, Belady LA (eds) (1985) Program evolution: processes of software change. Academic Press, San Diego

    Google Scholar 

  31. 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

    Google Scholar 

  32. Margara A, Cugola G (2011) In: Proceedings of the fifth ACM international conference on distributed event-based systems. ACM, New York, pp 183–194

    Chapter  Google Scholar 

  33. Mottola L, Picco GP (2011) Programming wireless sensor networks: fundamental concepts and state of the art. ACM Comput Surv V(3):1–51

    Article  Google Scholar 

  34. Parnas DL (1972) On the criteria to be used in decomposing systems into modules. Commun ACM 15(12):1053–1058

    Article  Google Scholar 

  35. Pohl K, Bckle G, van der Linden FJ (2005) Software product line engineering: foundations, principles and techniques. Springer, Heidelberg

    Google Scholar 

  36. 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

    Chapter  Google Scholar 

  37. 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

    Google Scholar 

  38. 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

  39. Zave P, Jackson M (1997) Four dark corners of requirements engineering. ACM Trans Softw Eng Methodol 6(1):1–30

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Carlo Ghezzi.

Additional information

This research has been partially funded by the European Commission, Programme IDEAS-ERC, Project 227977-SMScom.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-012-0234-0

Keywords

Navigation