Abstract
Self-adaptive software (SAS) is gaining popularity as it can reconfigure itself in response to the dynamic changes in the operational context or itself. However, early modeling and formal analysis of SAS systems becomes increasingly difficult, as the system scale and complexity is rapidly increasing. To tackle the modeling difficulty of SAS systems, we present a refinement-based modeling and verification approach called EasyModel. EasyModel integrates the intuitive Unified Modeling Language (UML) model with the stepwise refinement Event-B model. Concretely, EasyModel: 1) creates a UML profile called AdaptML that provides an explicit description of SAS characteristics, 2) proposes a refinement modeling mechanism for SAS systems that can deal with system modeling complexity, 3) offers a model transformation approach and bridges the gap between the design model and the formal model of SAS systems, and 4) provides an efficient way to verify and guarantee the correct behaviour of SAS systems. To validate EasyModel, we present an example application and a subject-based experiment. The results demonstrate that EasyModel can effectively reduce the modeling and formal verification difficulty of SAS systems, and can incorporate the intuitive merit of UML and the correct-by-construction merit of Event-B.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Salehie M, Tahvildari L. Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems, 2009, 4(2): Article No. 14.
de Lemos R, Garlan D, Ghezzi C et al. Software engineering for self-adaptive systems: Research challenges in the provision of assurances. In Proc. the International Seminar on Software Engineering for Self-Adaptive Systems, December 2017, pp.3-30.
Weyns D. Software engineering of self-adaptive systems. In Handbook of Software Engineering, Cha S, Taylor R N, Kang K (eds.), Springer, 2019, pp.399-443.
Luckey M, Engels G. High-quality specification of selfadaptive software systems. In Proc. the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, May 2013, pp.143-152.
Han D S, Yang Q L, Xing J C et al. FAME: A UML-based framework for modeling fuzzy self-adaptive software. Information & Software Technology, 2016, 76: 118-134.
Said M B, Kacem Y H, Kerboeuf M et al. Design patterns for self-adaptive RTE systems specification. International Journal of Reconfigurable Computing, 2014, 2014: Article No. 536362.
de la Iglesia D G, Weyns D. MAPE-K formal templates to rigorously design behaviors for self-adaptive systems. ACM Transactions on Autonomous & Adaptive Systems, 2015, 10(3): Article No. 15.
Iftikhar M U, Weyns D. ActivFORMS: A runtime environment for architecture-based adaptation with guarantees. In Proc. the IEEE Int. Conf. Software Architecture, April 2017, pp.278-281.
Camilli M, Gargantini A, Scandurra P. Zone-based formal specification and timing analysis of real-time self-adaptive systems. Science of Computer Programming, 2018, 159: 28-57.
Ding Z, Zhou Y, Zhou M. Modeling self-adaptive software systems by fuzzy rules and Petri nets. IEEE Transactions on Fuzzy Systems, 2018, 26(2): 967-984.
Almeida A, Bencomo N, Batista T et al. Dynamic decisionmaking based on NFR for managing software variability and configuration selection. In Proc. the 30th Annual ACM Symp. Applied Computing, April 2015, pp.1376-1382.
Weyns D, Iftikhar M U. Model-based simulation at runtime for self-adaptive systems. In Proc. the 2016 IEEE Int. Conf. Autonomic Computing, July 2016, pp.364-373.
Ahmad M, Belloir N, Bruel J M. Modeling and verification of functional and non-functional requirements of ambient self-adaptive systems. Journal of Systems & Software, 2015, 107: 50-70.
Abrial J R. Modeling in Event-B: System and Software Engineering. Cambridge University Press, 2013.
Han D, Yang Q, Xing J. UML-Based modeling and formal verification for software self-adaptation. Journal of Software, 2015, 26(4): 730-746. (in Chinese)
Object Management Group, The OMG unified modeling language (OMG UML), superstructure, version 2.4.1, OMG Document No. formal/2011-08-06, 2011.
Gérard S, Dumoulin C, Tessier P, Selic B. Papyrus: A UML2 tool for domain-specific language modeling. In Proc. Int. Conf. Model-Based Engineering of Embedded Real-Time Systems, November 2007, pp.361-368.
Abrial J R, Butler M, Hallerstede S et al. Rodin an open toolset for modelling and reasoning in Event-B. International Journal on Software Tools for Technology Transfer, 2010, 12(6): 447-466.
Leuschel M, Butler M. ProB: A model checker for B. In Proc. International Symposium of Formal Methods Europe, September 2003, pp.855-874.
Mentré D, Marché C, Filliâtre J C et al. Discharging proof obligations from Atelier B using multiple automated provers. In Proc. the 3rd Int. Conf. Abstract State Machines, Alloy, B, VDM, and Z, June 2012, pp.238-251.
Boniol F, Wiels V, Ameur Y A, Schewe K D. The landing gear case study: Challenges and experiments. International Journal on Software Tools for Technology Transfer, 2017, 19(2): 133-140.
SuW, Abrial J R. Aircraft landing gear system: Approaches with Event-B to the modeling of an industrial system. International Journal on Software Tools for Technology Transfer, 2017, 19(2): 141-166.
Laibinis L, Klionskiy D, Troubitsyna E et al. Modelling resilience of data processing capabilities of CPS. In Proc. the 6th International Workshop on Software Engineering for Resilient Systems, October 2014, pp.55-70.
Cheng S W. Rainbow: Cost-effective software architecturebased self-adaptation [Ph.D. Thesis]. Carnegie Mellon University, 2008.
Kephart J O, Chess D M. The vision of autonomic computing. IEEE Computer, 2003, 36(1): 41-50.
Vandome A F, Mcbrewster J, Miller F P. ATLAS Transformation Language. Alphascript Publishing, 2010.
Hachicha M, Dammak E, Halima R B et al. A correct by construction approach for modeling and formalizing selfadaptive systems. In Proc. the 17th IEEE/ACIS Int. Conf. Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing, June 2016, pp.379-384.
Vogel T. Model-driven engineering of self-adaptive software [Ph.D. Thesis]. University of Potsdam, 2018.
Vogel T, Giese H. Model-driven engineering of self-adaptive software with EUREMA. ACM Transactions on Autonomous & Adaptive Systems, 2014, 8(4): Article No. 18.
Cámara J, Lopes A, Garlan D et al. Adaptation impact and environment models for architecture-based self-adaptive systems. Science of Computer Programming, 2016, 127: 50-75.
Han D, Xing J, Yang Q et al. Modeling and verification approach for temporal properties of self-adaptive software dynamic processes. Journal of Computer Applications, 2018, 38(3): 799-805. (in Chinese)
Krupitzer C, Roth F M, VanSyckel S et al. A survey on engineering approaches for self-adaptive systems. Pervasive and Mobile Computing, 2015, 17 184-206.
Abuseta Y, Swesi K. Design patterns for self-adaptive systems engineering. International Journal of Software Engineering & Applications, 2015, 6(4): 11-28.
Becker S, Dziwok S, Gerking C et al. The MechatronicUML method: Model-driven software engineering of self-adaptive mechatronic systems. In Proc. the 36th Int. Conf. Software Engineering, May 2014, pp.614-615.
Heinzemann C, Becker S, Volk A. Transactional execution of hierarchical reconfigurations in cyber-physical systems. Software & Systems Modeling, 2019, 18(1): 157-189.
da Silva J P S, Ecar M, Pimenta M S et al. A systematic literature review of UML-based domain specific modeling languages for self-adaptive systems. In Proc. the 13th IEEE/ACM Int. Symp. Software Engineering for Adaptive and Self-Managing Systems, May 2018, pp.87-93.
Moritani B I, Lee J. An approach for managing a distributed feature model to evolve self-adaptive dynamic software product lines. In Proc. the 21st International Systems and Software Product Line Conference, September 2017, pp.107-110.
Chen T, Li K, Bahsoon R et al. FEMOSAA: Featureguided and knee-driven multi-objective optimization for self-adaptive software. ACM Transactions on Software Engineering and Methodology, 2018, 27(2): Article No. 5.
de la Iglesia D G, Calderón J F, Weyns D et al. A selfadaptive multi-agent system approach for collaborative mobile learning. IEEE Transactions on Learning Technologies, 2015, 8(2): 158-172.
Wang L, Li Q. A multiagent-based framework for selfadaptive software with search-based optimization. In Proc. IEEE Int. Conf. Software Maintenance and Evolution, October 2016, pp.621-625.
Iftikhar M U, Weyns D. ActivFORMS: A runtime environment for architecture-based adaptation with guarantees. In Proc. Int. Conf. Software Architecture Workshops, April 2017, pp.278-281.
Abbas N, Andersson J, Iftikhar U M et al. Rigorous architectural reasoning for self-adaptive software systems. In Proc. the 1st Workshop on Qualitative Reasoning about Software Architectures, April 2016, pp.11-18.
Abbas N, Andersson J. Architectural reasoning support for product-lines of self-adaptive software systems — A case study. In Proc. the 9th European Conference on Software Architecture, September 2015, pp.20-36.
Su G, Chen T, Feng Y et al. An iterative decision-making scheme for Markov decision processes and its application to self-adaptive systems. In Proc. the 19th Int. Conf. Fundamental Approaches to Software Engineering, April 2016, pp.269-286.
Filieri A, Tamburrelli G, Ghezzi C. Supporting selfadaptation via quantitative verification and sensitivity analysis at run time. IEEE Transactions on Software Engineering, 2016, 42(1): 75-99.
Göthel T, Jähnig N, Seif S. Refinement-based modelling and verification of design patterns for self-adaptive systems. In Proc. the 19th Int. Conf. Formal Engineering Methods, November 2017. pp.157-173.
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
ESM 1
(PDF 383 kb)
Rights and permissions
About this article
Cite this article
Han, DS., Yang, QL., Xing, JC. et al. EasyModel: A Refinement-Based Modeling and Verification Approach for Self-Adaptive Software. J. Comput. Sci. Technol. 35, 1016–1046 (2020). https://doi.org/10.1007/s11390-020-0499-x
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-020-0499-x