Abstract
Dynamic evolution is highly desirable for service oriented systems in open environments. For the evolution to be trusted, it is crucial to keep the process consistent with the specification. In this paper, we study two kinds of evolution scenarios and propose a novel verification approach based on hierarchical timed automata to model check the underlying consistency with the specification. It examines the procedures before, during and after the evolution process, respectively and can support the direct modeling of temporal aspects, as well as the hierarchical decomposition of software structures. Probabilities are introduced to model the uncertainty characterized in open environments and thus can support the verification of parameter-level evolution. We present a flattening algorithm to facilitate automated verification using the mainstream timed automata based model checker–UPPAAL (integrated with UPPAAL-SMC). We also provide a motivating example with performance evaluation that complements the discussion and demonstrates the feasibility of our approach.
摘要
创新点
针对开放环境下面向服务架构的动态演化问题, 文章提出了一种基于扩展的层次式时间自动机的验证方法, 该方法可以对时间相关属性, 层次结构特征, 状态及演化行为进行直接的建模。通过引入概率转移可对开放环境下的不确定性进行建模, 结合应用统计模型检验技术, 从而支持对概率相关规约进行分析验证; 针对结构型的演化类别, 通过传统的时序逻辑进行规约描述, 且可以从演化前、演化中及演化后分别进行验证; 针对参数型的演化类别, 可以采用概率时序逻辑进行规约描述并进行验证, 为说明方法的有效性, 通过一个经典的电子商务系统范例展示了所提方法针对这两种演化类型的验证。
Similar content being viewed by others
References
Yang F, Lü J, Mei H. Technical framework for Internetware: an architecture centric approach. Sci China Ser-F: Inf Sci, 2008, 51: 610–622
Wang H, Wu W, Mao X, et al. Growing construction and adaptive evolution of complex software system (in Chinese). Sci Sin Inform, 2014, 44: 743–761
Fu J M, Tao F, Wang D, et al. Software behavior model based on system objects. J Softw, 2011, 22: 2716–2728
Wang Q X, Shen J R, Wang X, et al. A component-based approach to online software evolution. J Softw Maint Evol-Res Pract, 2006, 18: 181–205
Oreizy P, Medvidovic N, Taylor R. Runtime software adaptation: framework, approaches, and styles. In: Companion of the 30th International Conference on Software Engineering, Leipzig, 2008. 899–910
Lü J, Ma X X, Tao X P, et al. On environment-driven software model for Internetware. Sci China Ser-F: Inf Sci, 2008, 51: 683–721
Kazhamiakin R, Pandya P, Pistore M. Timed modelling and analysis in web service compositions. In: Proceedings of 1st International Conference on Availability, Reliability and Security, Vienna, 2006. 840–846
Alur R, Dill D. A theory of timed automata. Theor Comput Sci, 1994, 126: 183–235
Calinescu R, Ghezzi C, Kwiatkowska M, et al. Self-adaptive software needs quantitative verification at runtime. Commun ACM, 2012, 55: 69–77
Dong J S, Hao P, Qin S C, et al. Timed automata patterns. IEEE Trans Softw Eng, 2008, 34: 844–859
Zhou Y, Ge J D, Zhang P C. Hierarchical timed automata based verification of dynamic evolution process in open environments. In: Proceedings of the International Conference on Software and System Process, Nanjing, 2014. 144–148
Song W, Tang J H, Zhang G X, et al. Substitutability analysis of WS-BPEL services (in Chinese). Sci Sin Inform, 2012, 42: 264–279
Zeng J, Sun H L, Liu X D, et al. Dynamic evolution mechanism for trustworthy software based on service composition. J Softw, 2010, 21: 261–276
Zhou Y, Ma X X, Gall H. A middleware platform for the dynamic evolution of distributed component-based systems. Computing, 2014, 96: 725–747
Hartmanns A, Hermanns H. A modest approach to checking probabilistic timed automata. In: Proceedings of 6th International Conference on Quantitative Evaluation of Systems, Budapest, 2009. 187–196
Legay A, Delahaye B, Bensalem S. Statistical model checking: an overview. In: Proceedings of First International Conference on Runtime Verification, St. Julians, 2010. 122–135
Baresi L, Di Nitto E, Ghezzi C. Toward open-world software: issue and challenges. Computer, 2006, 39: 36–43
Kramer J, Magee J. The evolving philosophers problem: dynamic change management. IEEE Trans Softw Eng, 1990, 16: 1293–1306
Vandewoude Y, Ebraert P, Berbers Y, et al. Tranquility: a low disruptive alternative to quiescence for ensuring safe dynamic updates. IEEE Trans Softw Eng, 2007, 33: 856–868
Epifani I, Ghezzi C, Mirandola R, et al. Model evolution by run-time parameter adaptation. In: Proceedings of 31st International Conference on Software Engineering, Vancouver, 2009. 111–121
Behrmann G, David A, Larsen K. A tutorial on Uppaal. In: Proceedings of Formal Methods for the Design of Real-Time Systems, Bertinoro, 2004. 200–236
David A, Larsen K, Legay A, et al. Uppaal SMC tutorial. Int J Softw Tools Technol Transfer, 2015, 17: 397–415
Zhou Y, Baresi L, Rossi M. Towards a formal semantics for UML/MARTE state machines based on hierarchical timed automata. J Comput Sci Technol, 2013, 28: 188–202
Milner R. Communicating and Mobile Systems: the Pi Calculus. Cambridge: Cambridge University Press, 1999
Behrmann G, Larsen K, Rasmussen J. Priced timed automata: algorithms and applications. In: Proceedings of International Symposium on Formal Methods for Components and Objects, Amsterdam, 2005. 162–182
OMG. Specification. Unified Modeling Language: Superstructure Version 2.2. OMG Formal Document, 2009
Cavallaro L, Di Nitto E, Pradella M. An automatic approach to enable replacement of conversational services. In: Proceedings of the International Conference on Service-Oriented Computing, Stockholm, 2009. 159–174
Huang G, Mei H, Yang F Q. Runtime software architecture based on reflective middleware. Sci China Ser-F: Inf Sci, 2004, 47: 555–576
Ma X X, Zhou Y, Pan J, et al. Constructing self-adaptive systems with polymorphic software architecture. In: Proceedings of International Conference on Software Engineering and Knowledge Engineering, Boston, 2007. 2–8
Baresi L, Ghezzi C, Mottola L. Loupe: verifying publish-subscribe architectures with a magnifying lens. IEEE Trans Softw Eng, 2011, 37: 228–246
Chen H B, Yu J, Hang C Q, et al. Dynamic software updating using a relaxed consistency model. IEEE Trans Softw Eng, 2011, 37: 679–694
Hayden C, Magill S, Hicks M, et al. Specifying and verifying the correctness of dynamic software updates. In: Proceedings of International Confernece on Verified Software: Theories, Tools, Experiments. Berlin: Springer, 2012. 278–293
Zhang J, Cheng B. Model-based development of dynamically adaptive software. In: Proceedings of 28th International Conference on Software Engineering, Shanghai, 2006. 371–380
Zhang P C, Leung H, Li W R, et al. Web services property sequence chart monitor: a tool chain for monitoring BPEL-based web service composition with scenario-based specifications. IET Softw, 2013, 7: 222–248
David A, Du D, Larsen K, et al. An evaluation framework for energy aware buildings using statistical model checking. Sci China Inf Sci, 2012, 55: 2694–2707
Xu C, Liu Y P, Cheung S C, et al. Towards context consistnecy by concurrent checking for Internetware applications. Sci China Inf Sci, 2013, 56: 082105
Calinescu R, Grunske L, Kwiatkowska M, et al. Dynamic QoS management and optimization in service-based systems. IEEE Trans Softw Eng, 2011, 37: 387–409
Hölscher K, Ziemann P, Gogolla M. On translating UML models into graph transformation systems. J Vis Lang Comput, 2006, 17: 78–105
Xu H Z, Zeng G S, Chen B. Conditional hypergraph grammars and its analysis of dynamic evolution of software architectures. J Softw, 2011, 22: 1210–1223
Ma X X, Baresi L, Ghezzi C, et al. Version-consistent dynamic reconfiguration of component-based distributed systems. In: Proceedings of 19th Symposium on Foundations of Software Engineering, Hungary, 2011. 245–255
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Zhou, Y., Ge, J., Zhang, P. et al. Model based verification of dynamically evolvable service oriented systems. Sci. China Inf. Sci. 59, 32101 (2016). https://doi.org/10.1007/s11432-015-5332-8
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11432-015-5332-8