Skip to main content
Log in

Scen@rist: an approach for verifying self-adaptive systems using runtime scenarios

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Traditional runtime quantitative verification approaches for self-adaptive systems usually rely on the use of state-transition models to describe the system behaviour and check property violation at runtime. More recently, some approaches have advocated the use of scenarios as a strategy for representing both the normal and adaptive system behaviour. However, the use of scenarios as a runtime entity that drives the system adaptation is still a challenge since many research issues regarding the use of scenarios to support analysis for enabling self-adjustment at runtime in software systems remain open. The aim of this paper is twofold. Firstly, we investigate the use of scenario-based approaches in self-adaptive systems via a systematic mapping study. Secondly, we introduce Scen@rist, an approach that uses scenarios as runtime entities for verifying self-adaptive systems. The approach consists of monitoring a running self-adaptive system, annotating its scenario-based behaviour specification with the probability of transitions between scenarios, and then verifying whether a set of reachability properties hold. This is performed by translating the scenario-based models and properties in their probabilistic state-based counterparts and applying a model checking technique. The applicability of the proposed tool has been demonstrated by two self-adaptive service-based systems taken from the literature.

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
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23

Similar content being viewed by others

Notes

  1. According to the online Merriam-Webster dictionary, the word scenarist means “the writer of scenarios, storylines for motion pictures.”

  2. Also known as scoping review or scoping study

  3. http://scenariotools.org/

  4. https://logging.apache.org/log4j/2.x/

  5. https://www.eclipse.org/aspectj/

  6. https://github.com/lotus-tool/

  7. http://drops.dagstuhl.de/opus/volltexte/2017/7145/

  8. https://github.com/lucasvieira123/ScenarioTrace

  9. https://github.com/lotus-tool/lotus-tool

  10. www.lero.ie

  11. Backward snowballing checks papers that are cited in the included papers, while forward snowballing checks papers that cite the included papers.

  12. http://ieeexplore.ieee.org/

  13. http://dl.acm.org/

  14. http://www.sciencedirect.com/

  15. http://www.scopus.com/

  16. https://www.zotero.org/

  17. Ratio between included studies of a database and the total of included studies in the systematic mapping study.

  18. Ratio between the total of included studies of a database and the total of obtained studies by this database.

References

  • Abushark, Y., Thangarajah, J., Harland, J., Miller, T. (2017). A framework for automatically ensuring the conformance of agent designs. Journal of Systems and Software, 131(C), 266–310.

    Google Scholar 

  • Ali, N., Martínez-Martínez, A., Ayuso-Pérez, L., Espinoza, A. (2017). Self-adaptive quality requirement elicitation process for legacy systems: a case study in healthcare. In Proceedings of the symposium on applied computing, SAC ’17 (pp. 1102–1107). New York: ACM.

  • Amyot, D., & Eberlein, A. (2003). An evaluation of scenario notations and construction approaches for telecommunication systems development. Telecommunication Systems, 24(1), 61–94.

    Google Scholar 

  • Andersson, J., Baresi, L., Bencomo, N., de Lemos, R., Gorla, A., Inverardi, P., Vogel, T. (2013). Software engineering processes for self-adaptive systems. In de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (Eds.) Software engineering for self-adaptive systems II: international seminar, dagstuhl castle, germany, october 24-29, 2010 Revised Selected and Invited Papers (pp. 51–75). Berlin: Springer.

  • André, P., Rivière, N., Waeselynck, H. (2017). A toolset for mobile systems testing. In Barkaoui, K., Boucheneb, H., Mili, A., Tahar, S. (Eds.) Verification and Evaluation of Computer and Communication Systems: 11th International Conference, VECoS 2017, Montreal, QC, Canada, August 24–25, 2017, Proceedings (pp. 124–138). Cham: Springer International Publishing.

  • Aniculaesei, A., Grieser, J., Rausch, A., Rehfeldt, K., Warnecke, T. (2018). Towards a holistic software systems engineering approach for dependable autonomous systems. In Proceedings of the 1st international workshop on software engineering for AI in autonomous systems, SEFAIS ’18 (pp. 23–30). New York : ACM.

  • Arcaini, P., Riccobene, E., Scandurra, P. (2017). Formal design and verification of self-adaptive systems with decentralized control. ACM Trans Auton Adapt Syst, 11 (4), 25:1–25:35.

    Google Scholar 

  • Atir, Y., & Harel, D. (2007). Using lscs for scenario authoring in tactical simulators. In Proceedings of the 2007 summer computer simulation conference, society for computer simulation international, San Diego, CA, USA, SCSC ’07, pp. 437–442.

  • Barbosa, D.M., de Moura Lima, R.G., Maia, P.HM., Junior, E.C. (2017). Lotus@runtime: a tool for runtime monitoring and verification of self-adaptive systems. In Proceedings of the 12th international symposium on software engineering for adaptive and self-managing systems, SEAMS ’17 (pp. 24–30). Piscataway: IEEE Press.

  • Baresi, L., Bianculli, D., Ghezzi, C., Guinea, S., Spoletini, P. (2007). Validation of web service compositions. IET Software, 1(6), 219–232.

    Google Scholar 

  • Bass, L., Clements, P., Kazman, R. (2003). Software architecture in practice, 2nd edn. Boston: Addison-Wesley Longman Publishing Co., Inc.

    Google Scholar 

  • Bencomo, N., Bennaceur, A., Grace, P., Blair, G., Issarny, V. (2013). The role of models@run.time in supporting on-the-fly interoperability. Computing, 95(3), 167–190.

    Google Scholar 

  • Berkman-Chardon, A., Harel, D., Goel, Y., Marelly, R., Szekely, S., Weiss, G. (2016). Scenario-based programming for mobile applications. In: 2016 IEEE/ACM international conference on mobile software engineering and systems (MOBILESoft), pp 161–172.

  • Blair, G., Bencomo, N., France, R. B. (2009). Models@ run.time. Computer, 42(10), 22–27.

    Google Scholar 

  • Braberman, V., D’Ippolito, N., Kramer, J., Sykes, D., Uchitel, S. (2015). Morph: a reference architecture for configuration and behaviour self-adaptation. In Proceedings of the 1st international workshop on control theory for software engineering. CTSE 2015 (pp. 9–16). New York: ACM.

  • Brugali, D., Capilla, R., Mirandola, R., Trubiani, C. (2018). Model-based development of qos-aware reconfigurable autonomous robotic systems. In 2018 2nd IEEE international conference on robotic computing (IRC), (Vol. 00 pp. 129–136).

  • Buhr, R.J.A, & Casselman, RS. (1996). Use case maps for object-oriented systems. Upper Saddle River: Prentice-Hall, Inc.

    MATH  Google Scholar 

  • Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R. (2012). Self-adaptive software needs quantitative verification at runtime. Communications of the ACM, 55 (9), 69–77.

    Google Scholar 

  • Calinescu, R., Johnson, K., Rafiq, Y. (2013). Developing self-verifying service-based systems. In: 2013 28th IEEE/ACM international conference on automated software engineering (ASE), pp 734–737.

  • Calinescu, R., Gerasimou, S., Johnson, K., Paterson, C. (2017). Using runtime quantitative verification to provide assurance evidence for self-adaptive software. In de lemos, R., Garlan, D., Ghezzi, C., Giese, H. (Eds.) Software engineering for self-adaptive systems III. Assurances (pp. 223–248). Cham: Springer International Publishing.

  • Cámara, J., Garlan, D., Schmerl, B. (2017). Synthesis and quantitative verification of tradeoff spaces for families of software systems. In Lopes, A, & de Lemos, R (Eds.) Software architecture (pp. 3–21). Cham: Springer International Publishing.

  • Caporuscio, M., Di Marco, A., Inverardi, P. (2007). Model-based system reconfiguration for dynamic performance management. Journal of Systems and Software, 80(4), 455–473.

    Google Scholar 

  • Carioni, A., Gargantini, A., Riccobene, E., Scandurra, P. (2008). A scenario-based validation language for asms. In Börger, E, Butler, M., Bowen, J.P., Boca, P. (Eds.) Abstract State machines, B and Z (pp. 71–84). Berlin: Springer.

  • Castañeda, L., Villegas, N. M., Müller, H. A. (2014). Self-adaptive applications: on the development of personalized web-tasking systems. In Proceedings of the 9th international symposium on software engineering for adaptive and self-managing systems. SEAMS 2014 (pp. 49–54). New York: ACM.

  • Chai, M., & Schlingloff, B. H. (2014). Monitoring systems with extended live sequence charts. In Bonakdarpour, B., & Smolka, S.A. (Eds.) Runtime verification (pp. 48–63). Cham: Springer International Publishing.

  • Cheng, B. H. C., de Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Di Marzo Serugendo, G., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H. M., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Müller, H. A., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., Whittle, J. (2009). Software engineering for self-adaptive systems: a research roadmap. In Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (Eds.) Software engineering for self-adaptive systems (pp. 1–26). Berlin: Springer.

  • Cheng, B. H. C., Eder, K. I., Gogolla, M., Grunske, L., Litoiu, M., Müller, H.A., Pelliccione, P., Perini, A., Qureshi, N. A., Rumpe, B., Schneider, D., Trollmann, F., Villegas, N. M. (2014). Aßmann U Using models at runtime to address assurance for self-adaptive systems. In Bencomo, N., France, R., Cheng, B.H.C. (Eds.) Models@run.time: foundations, applications, and roadmaps (pp. 101–136). Cham: Springer International Publishing.

  • Clarke, E.M. Jr, Grumberg, O, Peled, D.A. (1999). Model checking. Cambridge: MIT Press.

    MATH  Google Scholar 

  • Combes, P., Harel, D., Kugler, H. (2008). Modeling and verification of a telecommunication application using live sequence charts and the play-engine tool. Software & Systems Modeling, 7(2), 157–175.

    MATH  Google Scholar 

  • Damm, W., & Harel, D. (2001). Lscs: breathing life into message sequence charts. Formal Methods in System Design, 19(1), 45–80.

    MATH  Google Scholar 

  • D’Argenio, P. R, Hermanns, H., Katoen, J.P. (1999). On generative parallel composition11supported by the nwo/sion project 612-33-006 and the system validation centre/ctit. Electronic Notes in Theoretical Computer Science, 22, 30–54. pROBMIV’98, First International Workshop on Probabilistic Methods in Verification.

    Google Scholar 

  • Di Nitto, E., Ghezzi, C., Metzger, A., Papazoglou, M., Pohl, K. (2008). A journey to highly dynamic, self-adaptive service-based applications. Automated Software Engg, 15(3-4), 313–341.

    Google Scholar 

  • Ding, Z., Jiang, M., Zhou, M. (2016). Generating petri net-based behavioral models from textual use cases and application in railway networks. IEEE Transactions on Intelligent Transportation Systems, 17(12), 3330–3343.

    Google Scholar 

  • Ding, Z., Shuai, T., Jiang, M. (2017). Reconvertor: transforming textual use cases to high-level message sequence chart. In: 2017 IEEE international conference on software quality, reliability and security companion (QRS-C), pp. 610–611.

  • Edwards, R., & Bencomo, N. (2018). Desire: further understanding nuances of degrees of satisfaction of non-functional requirements trade-off. In Proceedings of the 13th International Conference on Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’18 (pp. 12–18). New York: ACM.

  • Eitan, N., & Harel, D. (2011). Adaptive behavioral programming. In Proceedings of the 2011 IEEE 23rd international conference on tools with artificial intelligence, ICTAI ’11 (pp. 685–692). Washington: IEEE Computer Society.

  • Fahland, D. (2008). Oclets - a formal approach to adaptive systems using scenario-based concepts. Informatik-Berichte 223. Berlin: Humboldt-Universität zu.

    Google Scholar 

  • Fahland, D. (2009). Oclets – scenario-based modeling with petri nets. In Franceschinis, G., & Wolf, K. (Eds.) Applications and theory of petri nets: 30th international conference, PETRI NETS 2009, paris, france, june 22-26, 2009. Proceedings (pp. 223–242). Berlin: Springer.

  • Filieri, A., Ghezzi, C., Tamburrelli, G. (2011). Run-time efficient probabilistic model checking. In Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11 (pp. 341–350). New York: ACM.

  • Fisher, J., Harel, D., Hubbard, E. J. A., Piterman, N., Stern, M. J., Swerdlin, N. (2005). Combining state-based and scenario-based approaches in modeling biological systems. In Danos, V., & Schachter, V. (Eds.) Computational methods in systems biology: International conference CMSB 2004, paris, france, may 26-28, 2004, Revised Selected Papers (pp. 236–241). Berlin: Springer.

  • Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1995). Design patterns: elements of reusable object-oriented software. Boston: Addison-Wesley Longman Publishing Co., Inc.

    MATH  Google Scholar 

  • Georgas, J. C., & Taylor, R. N. (2008). Policy-based self-adaptive architectures: a feasibility study in the robotics domain. In Proceedings of the 2008 international workshop on software engineering for adaptive and self-managing systems, SEAMS ’08 (pp. 105–112). New York: ACM.

  • Ghezzi, C., Greenyer, J., Manna, V.PL. (2012). Synthesizing dynamically updating controllers from changes in scenario-based specifications. In: 2012 7th international symposium on software engineering for adaptive and self-managing systems (SEAMS), pp. 145–154.

  • Go, K., & Carroll, J. M. (2004). The blind men and the elephant: views of scenario-based system design. Interactions, 11(6), 44–53.

    Google Scholar 

  • Goldsby, H. J., & Cheng, B. H. (2008a). Automatically generating behavioral models of adaptive systems to address uncertainty. In Proceedings of the 11th international conference on model driven engineering languages and systems, MoDELS ’08 (pp. 568–583). Berlin: Springer-Verlag.

  • Goldsby, H. J., & Cheng, B. H. (2008b). Avida-mde: A digital evolution approach to generating models of adaptive software behavior. In Proceedings of the 10th Annual Conference on Genetic and Evolutionary Computation, GECCO ’08 (pp. 1751–1758). New York: ACM.

  • Goldsby, H. J., Cheng, B. H. C., Zhang, J. (2008a). Amoeba-rt: run-time verification of adaptive software. In Giese, H. (Ed.) Models in software engineering (pp. 212–224). Berlin: Springer.

  • Goldsby, H. J., Sawyer, P., Bencomo, N., Cheng, B. H. C., Hughes, D. (2008b). Goal-based modeling of dynamically adaptive system requirements. In 15Th annual IEEE international conference and workshop on the engineering of computer based systems (ecbs 2008) (pp. 36–45).

  • Gordon, M., & Harel, D. (2009). Generating executable scenarios from natural language. In Proceedings of the 10th international conference on computational linguistics and intelligent text processing, CICLing ’09 (pp. 456–467). Berlin: Springer-Verlag.

  • Greenyer, J., Gritzner, D., Gutjahr, T., Duente, T., Dulle, S., Deppe, F. D., Glade, N., Hilbich, M., Koenig, F., Luennemann, J., Prenner, N., Raetz, K., Schnelle, T., Singer, M., Tempelmeier, N., Voges, R. (2015). Scenarios@run.time – distributed execution of specifications on iot-connected robots. In Götz, S., Bencomo, N., Blair, G., Song, H. (Eds.) Proceedings of the 10th International Workshop on Models@Run.Time (MRT 2015), co-located with MODELS 2015, CEUR, CEUR Workshop Proceedings, (Vol. 1474 pp. 71–80).

  • Gulia, S., & Choudhury, T. (2016). An efficient automated design to generate uml diagram from natural language specifications. In: 2016 6th international conference - cloud system and big data engineering (Confluence), pp. 641–648.

  • Harel, D., & Maoz, S. (2008). Assert and negate revisited: modal semantics for umlsequence diagrams. Software & Systems Modeling, 7(2), 237–252.

    Google Scholar 

  • Harel, D., & Thiagarajan, P. S. (2003). Message sequence charts. In Lavagno, L., Martin, G., Selic, B. (Eds.) UML for real: design of embedded real-time systems (pp. 77–105). US: Springer.

  • Hermans, F., Pinzger, M., van Deursen, A. (2009). Domain-specific languages in practice: a user study on the success factors. In Schürr, A., Selic, B., Languages (Eds.) Model driven engineering and systems (pp. 423–437). Berlin: Springer.

  • Hinton, A., Kwiatkowska, M., Norman, G., Parker, D. (2006). Prism: a tool for automatic verification of probabilistic systems. In Hermanns, H., & Palsberg, J. (Eds.) Tools and algorithms for the construction and analysis of systems (pp. 441–444). Berlin: Springer.

  • Horányi, G., Micskei, Z., Majzik, I. (2013). Scenario-based automated evaluation of test traces of autonomous systems. In Roy, M (Ed.) SAFECOMP 2013 - Workshop DECS (ERCIM/EWICS Workshop on Dependable Embedded and Cyber-physical Systems) of the 32nd international conference on computer safety, reliability and security (p. NA). France: Toulouse. https://hal.archives-ouvertes.fr/hal-00848607.

  • Hussein, M., Yu, J., Han, J., Colman, A. (2012). Scenario-driven development of context-aware adaptive web services. In Proceedings of the 13th international conference on web information systems engineering, WISE’12 (pp. 228–242). Berlin: Springer-Verlag.

  • Hussein, M., Han, J., Yu, J., Colman, A. (2013). Scenario-based validation of requirements for context-aware adaptive services. In: 2013 IEEE 20th international conference on web services, pp 348–355.

  • Jiao, W., & Sun, Y. (2013). Supporting adaptation of decentralized software based on application scenarios. Journal of Systems and Software, 86(7), 1891–1906.

    Google Scholar 

  • Kam, N., Harel, D., Kugler, H., Marelly, R., Pnueli, A., Hubbard, J. A., Stern, M. J. (2004). Formal modelling of c. elegans development. a scenario-based approach. In Ciobanu, G., & Rozenberg, G. (Eds.) Modelling in molecular biology (pp. 151–173). Berlin: Springer.

  • Katoen, J., Khattri, M., Zapreevt, I.S. (2005). A markov reward model checker. In: 2nd international conference on the quantitative evaluation of systems (QEST’05), pp. 243–244 . https://doi.org/10.1109/QEST.2005.2.

  • Kephart, J. O., & Chess, D. M. (2003). The vision of autonomic computing. Computer, 36(1), 41–50.

    MathSciNet  Google Scholar 

  • Khalastchi, E., & Kalech, M. (2018). On fault detection and diagnosis in robotic systems. ACM Comput Surv, 51(1), 9:1–9:24.

    Google Scholar 

  • Kim, D., & Park, S. (2009). Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software. In Proceedings of the 2009 ICSE workshop on software engineering for adaptive and self-managing systems, SEAMS ’09 (pp. 76–85). Washington: IEEE Computer Society.

  • Kitchenham, B., & Brereton, P. (2013). A systematic review of systematic review process research in software engineering. Information and Software Technology, 55(12), 2049–2075.

    Google Scholar 

  • Kitchenham, B., & Charters, S. (2007). Guidelines for performing systematic literature reviews in software engineering. Tech. rep.: Keele University and Durham University Joint Report.

    Google Scholar 

  • Kitchenham, B., Brereton, P., Budgen, D. (2012). Mapping study completeness and reliability - a case study. In 16th international conference on evaluation assessment in software engineering (EASE, (Vol. 2012 pp. 126–135).

  • Kitchenham, B. A., Budgen, D., Pearl Brereton, O. (2011). Using mapping studies as the basis for further research - a participant-observer case study. Information and Software Technology, 53(6), 638–651.

    Google Scholar 

  • Kitchenham, B. A., Budgen, D., Brereton P. (2015). Evidence-based software engineering and systematic reviews. Boca Raton: Chapman & Hall/CRC.

    Google Scholar 

  • Knauss, A., Schroeder, J., Berger, C., Eriksson, H. (2017). Software-related challenges of testing automated vehicles. In Proceedings of the 39th International Conference on Software Engineering Companion, ICSE-C ’17 (pp. 328–330). Piscataway: IEEE Press.

  • Kof, L. (2008). From textual scenarios to message sequence charts: Inclusion of condition generation and actor extraction. In: 2008 16th IEEE International Requirements Engineering Conference, pp. 331–332.

  • Krupitzer, C., Roth, F. M., VanSyckel, S., Schiele, G., Becker, C. (2015). A survey on engineering approaches for self-adaptive systems. Pervasive Mob Comput, 17(PB), 184–206.

    Google Scholar 

  • Kugler, H. (2013). Biocharts: Unifying biological hypotheses with models and experiments. In: 2013 IEEE 9th international conference on e-science, pp. 317–325.

  • Kwiatkowska, M. (2007). Quantitative verification: models, techniques and tools. In The 6th joint meeting on European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering: Companion papers, ESEC-FSE companion ’07 (pp. 449–458). New York: ACM. https://doi.org/10.1145/1295014.1295018.

  • van Lamsweerde, A., & Willemet, L. (1998). Inferring declarative requirements specifications from operational scenarios. IEEE Transactions on Software Engineering, 24(12), 1089–1114.

    Google Scholar 

  • de Lemos, R., Giese, H., Müller, H. A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N. M., Vogel, T., Weyns, D., Baresi, L, Becker, B., Bencomo, N., Brun, Y., Cukic, B., Desmarais, R., Dustdar, S., Engels, G., Geihs, K., Göschka, K. M., Gorla, A., Grassi, V., Inverardi, P., Karsai, G., Kramer, J., Lopes, A., Magee, J., Malek, S., Mankovskii, S., Mirandola, R., Mylopoulos, J., Nierstrasz, O., Pezzè, M., Prehofer, C., Schäfer, W., Schlichting, R., Smith, D. B., Sousa, J. P., Tahvildari, L., Wong, K., Wuttke, J. (2013). Software engineering for self-adaptive systems: a second research roadmap. In de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (Eds.) Software engineering for self-adaptive systems II: international seminar, dagstuhl castle, germany, october 24-29, 2010, Revised Selected and Invited Papers (pp. 1–32). Berlin: Springer.

  • Letier, E., Kramer, J., Magee, J., Uchitel, S. (2005). Monitoring and control in scenario-based requirements analysis. In: Proceedings. 27th international conference on software engineering, 2005. ICSE 2005., pp. 382–391.

  • Lu, T., & Bao, J. (2012). A systematic approach to context aware service design. Journal of Computers, 7, 207–217.

    Google Scholar 

  • Luckey, M., Nagel, B., Gerth, C., Engels, G. (2011). Adapt cases: extending use cases for adaptive systems. In Proceedings of the 6th international symposium on software engineering for adaptive and self-managing systems, SEAMS ’11 (pp. 30–39). New York: ACM.

  • Magee, J., & Kramer, J. (2006). Concurrency: state models and java programs, 2nd edn. New York: Wiley Publishing.

    MATH  Google Scholar 

  • Maoz, S. (2009). Using model-based traces as runtime models. Computer, 42(10), 28–36.

    Google Scholar 

  • Mason, P. A. J., & Supsrisupachai, S. (2009). Paraphrasing use case descriptions and sequence diagrams: an approach with tool support. In 2009 6th international conference on electrical engineering/electronics, computer, telecommunications and information technology, (Vol. 02 pp. 722–725).

  • Matevska, J., & Hasselbring, W. (2007). A scenario-based approach to increasing service availability at runtime reconfiguration of component-based systems. In 33rd EUROMICRO conference on software engineering and advanced applications (EUROMICRO 2007) (pp. 137–148).

  • Morin, B., Barais, O., Jezequel, J. M., Fleurey, F., Solberg, A. (2009). Models@ run.time to support dynamic adaptation. Computer, 42(10), 44–51.

    Google Scholar 

  • Moshirpour, M., Mousavi, A., Far, B. H. (2010). Model based detection of implied scenarios in multi agent systems. In: 2010 IEEE international conference on information reuse integration, pp. 63–68.

  • Muniz, L. L., Netto, U. S. C., Maia, P. HM. (2015). Tcg - a model-based testing tool for functional and statistical testing. In: ICEIS.

  • Olaechea, R., Atlee, J., Legay, A., Fahrenberg, U. (2018). Trace checking for dynamic software product lines. In Proceedings of the 13th international conference on software engineering for adaptive and self-managing systems, SEAMS ’18 (pp. 69–75). New York: ACM.

  • OMG. (2017). Omg unified modeling language. https://www.omg.org/spec/UML.

  • Oreizy, P., Gorlick, M. M., Taylor, R. N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D. S., Wolf, A. L. (1999). An architecture-based approach to self-adaptive software. IEEE Intelligent Systems, 14(3), 54–62.

    Google Scholar 

  • Panzica La Manna, V., Greenyer, J., Ghezzi, C., Brenner, C. (2013). Formalizing correctness criteria of dynamic updates derived from specification changes. In Proceedings of the 8th international symposium on software engineering for adaptive and self-managing systems, SEAMS ’13 (pp. 63–72). Piscataway: IEEE Press.

  • Perez, B., & Correal, D. (2011). A model driven approach to the analysis of quality scenarios within self-adaptable soa systems. Electronic Notes in Theoretical Computer Science, 281(Supplement C), 113–126. Proceedings of the 2011 Latin American Conference in Informatics (CLEI).

    Google Scholar 

  • Petersen, K., Vakkalanka, S., Kuzniarz, L. (2015). Guidelines for conducting systematic mapping studies in software engineering: an update. Information and Software Technology, 64(Supplement C), 1–18.

    Google Scholar 

  • Petri, C .A. (1962). Kommunikation mit automaten. Universität Hamburg: PhD thesis.

    Google Scholar 

  • Pike, L., Niller, S., Wegmann, N. (2012). Runtime verification for ultra-critical systems. In Khurshid, S., & Sen, K. (Eds.) Runtime verification (pp. 310–324). Berlin: Springer.

  • Rodrigues, G., Rosenblum, D., Uchitel, S. (2005). Using scenarios to predict the reliability of concurrent component-based software systems. In Proceedings of the 8th international conference, held as part of the joint European conference on theory and practice of software conference on fundamental approaches to software engineering, FASE’05 (pp. 111–126). Berlin: Springer-Verlag.

  • Rolland, C., Ben Achour, C., Cauvet, C., Ralyté, J., Sutcliffe, A., Maiden, N., Jarke, M., Haumer, P., Pohl, K., Dubois, E., Heymans, P. (1998). A proposal for a scenario classification framework. Requirements Engineering, 3(1), 23–47.

    Google Scholar 

  • Sadot, A., Fisher, J., Barak, D., Admanit, Y., Stern, M. J., Hubbard, E. J. A., Harel, D. (2008). Toward verified biological models. IEEE/ACM Trans Comput Biol Bioinformatics, 5(2), 223–234.

    Google Scholar 

  • Salehie, M., & Tahvildari, L. (2009). Self-adaptive software: landscape and research challenges. ACM Trans Auton Adapt Syst, 4(2), 14:1–14:42.

    Google Scholar 

  • Sarmiento, E., Almentero, E, Leite, C.S.P.J., Sotomayor, G. (2015). Mapping textual scenarios to analyzable petri-net models. In Proceedings of the 17th International Conference on Enterprise Information Systems - 2 SCITEPRESS - Science and Technology Publications, Lda, Portugal, ICEIS 2015, pp. 494–501.

  • Sitou, W., & Spanfelner, B. (2007). Towards requirements engineering for context adaptive systems. In Proceedings of the 31st annual international computer software and applications conference - vol. 02, COMPSAC ’07 (pp. 593–600). Washington: IEEE Computer Society.

  • Szvetits, M., & Zdun, U. (2016). Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Software & Systems Modeling, 15(1), 31–69.

    Google Scholar 

  • Tamura, G., Villegas, N.M., Müller, H.A., Sousa, J.P., Becker, B., Karsai, G., Mankovskii, S, Pezzè, M., Schäfer, W., Tahvildari, L., Wong, K. (2013). Towards practical runtime verification and validation of self-adaptive software systems. In de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (Eds.) Software engineering for self-adaptive systems II: international seminar, dagstuhl castle, germany, october 24-29, 2010, Revised Selected and Invited Papers (pp. 108–132). Berlin: Springer.

  • Uchitel, S., Kramer, J., Magee, J. (2003). Synthesis of behavioral models from scenarios. IEEE Transactions on Software Engineering, 29(2), 99–115.

    Google Scholar 

  • Uchitel, S, Alrajeh, D., Ben-David, S., Braberman, V., Chechik, M., De Caso, G., D’Ippolito, N., Fischbein, D., Garbervetsky, D., Kramer, J., Russo, A., Sibay, G. (2013). Supporting incremental behaviour model elaboration. Computer Science - Research and Development, 28(4), 279–293.

    Google Scholar 

  • Vogel, T., Neumann, S., Hildebrandt, S., Giese, H., Becker, B. (2009). Model-driven architectural monitoring and adaptation for autonomic systems. In Proceedings of the 6th International Conference on Autonomic Computing, ICAC ’09 (pp. 67–68). New York: ACM.

  • Vrbaski, M., Mussbacher, G., Petriu, D., Amyot, D. (2012). Goal models as run-time entities in context-aware systems. In Proceedings of the 7th workshop on Models@Run.Time, MRT ’12 (pp. 3–8). New York: ACM.

  • Waignier, G., Le Meur, A. F., Duchien, L. (2009). A model-based framework to design and debug safe component-based autonomic systems. In Mirandola, R., Gortona, I., Hofmeiste, C. (Eds.) International conference on the quality of software-architectures. Lecture Notes in Computer Science, (Vol. 5581 pp. 1–17). Pennsylvania: Springer-Verlag.

  • Wang, Y., McIlraith, S. A., Yu, Y., Mylopoulos, J. (2008). Monitoring and diagnosing software requirements. Automated Software Engineering, 16(1), 3.

    Google Scholar 

  • Weyns, D., & Calinescu, R. (2015). Tele assistance: a self-adaptive service-based system examplar. In Proceedings of the 10th international symposium on software engineering for adaptive and self-managing systems, SEAMS ’15 (pp. 88–92). Piscataway: IEEE Press.

  • Weyns, D., Bencomo, N., Calinescu, R., Camara, J., Ghezzi, C., Grassi, V., Grunske, L., Inverardi, P., Jezequel, J. M., Malek, S., Mirandola, R., Mori, M., Tamburrelli, G. (2017). Perpetual assurances for self-adaptive systems. In De lemos, R., Garlan, D., Ghezzi, C., Giese, H. (Eds.) Software engineering for self-adaptive systems III. Assurances (pp. 31–63). Cham: Springer International Publishing.

  • Whittle, J., & Schumann, J. (2006). Scenario-based engineering of multi-agent systems. In Rouff, C.A., Hinchey, M., Rash, J., Truszkowski, W., Gordon-Spears, D. (Eds.) Agent technology from a formal perspective (pp. 159–189). London: Springer.

  • Zeng, L., Benatallah, B., Ngu, A. H. H., Dumas, M., Kalagnanam, J., Chang, H. (2004). Qos-aware middleware for web services composition. IEEE Transactions on Software Engineering, 30(5), 311–327.

    Google Scholar 

  • Zhang, P., Li, W., Wan, D., Grunske, L. (2011). Monitoring of probabilistic timed property sequence charts. Softw Pract Exper, 41(7), 841–866.

    Google Scholar 

  • Zhang, P., Cheng, K., Gao, J. (2018). Android-srv: scenario-based runtime verification of android applications. International Journal of Software Engineering and Knowledge Engineering, 28(02), 239–257. https://www.worldscientific.com/doi/pdf/10.1142/S0218194018500080.

    Google Scholar 

  • Zhu, Y, Huang, G, Mei, H. (2004). Quality attribute scenario based architectural modeling for self-adaptation supported by architecture-based reflective middleware. In: 11th Asia-pacific software engineering conference, pp. 2–9.

Download references

Funding

This work was financed in part by the Coordination for the Improvement of Higher Education Personnel - Brazil (CAPES) - Finance Code 001. This work was also partially supported by CNPq/Brazil under grant Universal 438783/2018-2 and by Science Foundation Ireland grant 13/RC/2094 and co-funded under the European Regional Development Fund through the Southern & Eastern Regional Operational Programme to Lero - the Irish Software Research Centre.Footnote 10

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paulo Henrique Maia.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: Mapping protocol

Appendix A: Mapping protocol

1.1 A.1 Planning the mapping

The mapping protocol was developed by the first author, validated by the other authors, and then iteratively improved during the conducting and reporting phases. Its key elements include the following: (i) the research questions; (ii) the search strategy; and (iii) the selection criteria (i.e. the inclusion and exclusion criteria). It is important to mention that a quality assessment stage was not applied as a criterion for study selection since it is not required in systematic mapping studies (Kitchenham et al. 2015). In the remainder of this appendix, we describe each of those steps.

(i) Research questions: :

Table 1 presents the high-level research questions that were formulated to guide the research methodology.

(ii) Search strategy: :

Our search strategy is twofold: an automatic search and a backward-forwardFootnote 11 snowballing. The criteria used to select the electronic data sources were as follows: (i) the versatility of results exportation (search results may be exported to a reference manager or text file); (ii) the quality of the results (reliable accuracy of the results returned by the search); and (iii) the ability to handle advanced searches. Thus, the automatic search was performed on three publisher’s sites (IEEE Xplore,Footnote 12 ACM Digital Library,Footnote 13 ScienceDirectFootnote 14) and one index engine (Scopus.Footnote 15) All searches were based on title, keywords, and abstract fields, except for ACM Digital Library, in which the search was based on the entire paper.

Based on the goals of this systematic mapping study, a set of terms, which have been categorised into three groups, as presented in Table 4, was defined to form the search string. The first group (G1) regards the domain of the self-adaptive systems and the second one (G2) is related to scenario-based approaches. The third group (G3) contains keywords concerning the scenario-based approaches in the context of self-adaptive systems. The overall search string can be combined in the following form: (G1 AND G2) OR G3.

Table 4 Search string

Aiming to refine our search string, we conducted pilot searches and eliminated terms whose inclusion did not return additional papers. At last, due to the lack of standardisation of search syntax in electronic data sources, we adapted our search string according to the requirements of each data source. However, we strove to ensure that those search strings were logically and semantically equivalent. Both database searches and snowballing technique were conducted between January and February 2018 and were not limited by year of publication.

(iii) Inclusion and exclusion criteria: :

The automatic search resulted in an extensive list of potential papers that could be included in this systematic mapping study. Therefore, we adopted one inclusion (IC) and five exclusion criteria (EC) to include papers that are relevant to answer the research questions and exclude papers that do not contribute to answering them. The inclusion criterion is as follows: (IC1) papers that propose or apply a scenario-based approach or technique in the context of self-adaptive systems. The exclusion criteria are as follows: (EC1) papers written in a language other than English, or that do not have their full text available; (EC2) editorials, keynotes, tutorials, posters, or panels; (EC3) papers that mention scenarios only as a general introductory term; (EC4) papers with less than four pages since they could not contain sufficient details about the nature of the work; and (EC5) secondary or tertiary studies.

For completeness and repeatability, Kitchenham et al. (2012) recommend that systematic mapping studies cite all papers related to a specific study, not just the most detailed or most recent ones. However, for aggregation purposes, it is essential that such “similar” papers be identified, so that the results are not counted more than once (Kitchenham et al. 2015). Therefore, for example, if a conference paper was extended to a journal version, we extracted data about the study from both versions but reported them as one study, i.e. merged the duplicates.

1.2 A.2 Conducting the mapping

The conducting phase is characterised by the execution of the mapping protocol defined in the planning phase. We applied a two-stage selection process: preliminary selection and final selection. The former encompassed reading the titles, abstracts, and keywords of the papers retrieved from the electronic data sources, while the latter encompassed the full reading of the papers classified for inclusion in the previous stage. Two researchers (first and third authors) individually performed the selection activities to minimise the effect of any bias or misinterpretation. Therefore, in each stage, each paper was evaluated twice by different researchers.

Papers indexed by more than one electronic data source were identified and removed by the open source bibliography management tool Zotero,Footnote 16 and then the researchers conducted the preliminary selection to filter papers based on the inclusion/exclusion criteria against the information available in titles, abstracts, and keywords. Next, an agreement meeting was held to compare the results and resolve existing conflicts, thus resulting in a consensual preliminary selection. In unclear cases, to avoid premature exclusion of studies, we opted for temporarily including them in the next stage. Afterwards, the filtered papers were fully read, and the selection criteria were applied to compose the final set of relevant papers. Again, a new agreement meeting took place to compare results and resolve disagreements.

We used our search string on the selected electronic data sources and found 348 (after removing 126 duplicates) papers in total (Table 5). In the preliminary selection, 107 potentially relevant papers were filtered based on title, abstract, and keywords, and 15 of them were selected after being thoroughly read. By using the backward-forward snowballing technique, the reference lists of the selected papers were then checked, and the inclusion/exclusion criteria were applied again to confirm the final selection. As a result, 14 additional papers were included, thus resulting in a final set of 29 papers that were considered relevant to this systematic mapping study. However, eight of these 29 papers report overlapping results. In these cases, as mentioned in Section AA.1, we merged the duplicates. Thus, in the rest of the mapping, we mention 21 studies (see Table 6) in total, even though we did analyse 29 papers. A further investigation into the reasons behind the high number of papers discovered through the snowballing method in comparison with the total number of papers indicated that some of them do not use terms related to scenarios (G2) in their titles, abstracts, or keywords.

Table 5 Electronic data sources, obtained and included papers
Table 6 List of selected studies

Table 5 summarises the number of obtained papers (OP), included papers (IP), the index rateFootnote 17 (IR), and the precision rateFootnote 18 (PR) for each electronic data source. Figure 24 details the stages of the search process.

Fig. 24
figure 24

Overview of the search process

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gadelha, R., Vieira, L., Monteiro, D. et al. Scen@rist: an approach for verifying self-adaptive systems using runtime scenarios. Software Qual J 28, 1303–1345 (2020). https://doi.org/10.1007/s11219-019-09486-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-019-09486-x

Keywords

Navigation