Software & Systems Modeling

, Volume 18, Issue 5, pp 2843–2873 | Cite as

Modeling foundations for executable model-based testing of self-healing cyber-physical systems

  • Tao Ma
  • Shaukat Ali
  • Tao YueEmail author
Regular Paper


Self-healing cyber-physical systems (SH-CPSs) detect and recover from faults by themselves at runtime. Testing such systems is challenging due to the complex implementation of self-healing behaviors and their interaction with the physical environment, both of which are uncertain. To this end, we propose an executable model-based approach to test self-healing behaviors under environmental uncertainties. The approach consists of a Modeling Framework of SH-CPSs (MoSH) and an accompanying Test Model Executor (TM-Executor). MoSH provides a set of modeling constructs and a methodology to specify executable test models, which capture expected system behaviors and environmental uncertainties. TM-Executor executes the test models together with the systems under test, to dynamically test their self-healing behaviors under uncertainties. We demonstrated the successful application of MoSH to specify 11 self-healing behaviors and 17 uncertainties for three SH-CPSs. The time spent by TM-Executor to perform testing activities was in the order of milliseconds, though the time spent was strongly correlated with the complexity of test models.


Cyber-physical systems Self-healing Uncertainty Model execution Model-based testing 



This work was supported by the MBT4CPS (Project# 240013) project funded by the Research Council of Norway (RCN). Tao Yue and Shaukat are also supported by the Zen-Configurator project (Project# 240024) of RCN.


  1. 1.
    Bures, T., Weyns, D., Berger, C., Biffl, S., Daun, M., Gabor, T., Garlan, D., Gerostathopoulos, I., Julien, C., Krikava, F.: Software engineering for smart cyber-physical systems–towards a research agenda: report on the first international workshop on software engineering for smart CPS. In: ACM SIGSOFT Software Engineering Notes, vol 40, pp. 28–32 (2015)Google Scholar
  2. 2.
    Ghosh, D., Sharman, R., Rao, H.R., Upadhyaya, S.: Self-healing systems—survey and synthesis. Decis. Support Syst. 42, 2164–2185 (2007)CrossRefGoogle Scholar
  3. 3.
    Rodosek, G.D., Geihs, K., Schmeck, H., Stiller, B.: Self-healing systems: foundations and challenges. Self-Healing and Self-Adaptive Systems. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany (2009)Google Scholar
  4. 4.
    Esfahani, N., Malek, S.: Uncertainty in self-adaptive software systems. Software Engineering for Self-Adaptive Systems II, pp. 214–238. Springer, Berlin (2013)CrossRefGoogle Scholar
  5. 5.
    Zhang, M., Ali, S., Yue, T., Norgren, R., Okariz, O.: Uncertainty-wise cyber-physical system test modeling. Softw. Syst. Model. (2017). Google Scholar
  6. 6.
    Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. Morgan Kaufmann, Burlington (2014)Google Scholar
  7. 7.
    OMG: Profile for modeling and analysis of real-time and embedded systems (MARTE). formal/2011-06-02 (2011)Google Scholar
  8. 8.
    Bernardi, S., Merseguer, J., Petriu, D.C.: A dependability profile within MARTE. Softw. Syst. Model. 10, 313–336 (2011)CrossRefGoogle Scholar
  9. 9.
    OMG: Profile for modeling quality of service and fault tolerance characteristics and mechanisms. formal/2008-04-05 (2008)Google Scholar
  10. 10.
    OMG: Semantics Of A Foundational Subset For Executable UML Models V1.2.1. formal/2016-01-05 (2016)Google Scholar
  11. 11.
    OMG: Precise Semantics Of UML State Machines (PSSM). 1.0 - Beta 1 (2017)Google Scholar
  12. 12.
    Ma, T., Ali, S., Yue, T., Elaasar, M.: Fragility-oriented testing with model execution and reinforcement learning. In: IFIP International Conference on Testing Software and Systems, pp. 3–20 (2017)Google Scholar
  13. 13.
    Holub, O., Hanzálek, Z.: Low-cost reconfigurable control system for small UAVs. IEEE Trans. Ind. Electron. 58, 880–889 (2011)CrossRefGoogle Scholar
  14. 14.
    Selic, B.: A systematic approach to domain-specific language design using UML. In: 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing, 2007. ISORC’07, pp. 2–9 (2007)Google Scholar
  15. 15.
    Giachetti, G., Marín, B., Pastor, O.: Integration of domain-specific modelling languages and UML through UML profile extension mechanism. IJCSA 6, 145–174 (2009)Google Scholar
  16. 16.
    do Nascimento, L.M., Viana, D.L., Neto, P.A.S., Martins, D.A., Garcia, V.C., Meira, S.R.: A systematic mapping study on domain-specific languages. In: Proceedings of the 7th International Conference on Software Engineering Advances (ICSEA’12), pp. 179–187 (2012)Google Scholar
  17. 17.
    Robert, S., Gérard, S., Terrier, F., Lagarde, F.: A lightweight approach for domain-specific modeling languages design. In: Software Engineering and Advanced Applications, 2009. SEAA’09. 35th Euromicro Conference on, pp. 155–161 (2009)Google Scholar
  18. 18.
    Ma, T., Ali, S., Yue, T.: Modeling Healing Behaviors of Cyber-Physical Systems with Uncertainty to Support Automated Testing. Simula Research Lab (2016)Google Scholar
  19. 19.
    Blanke, M., Schröder, J.: Diagnosis and Fault-Tolerant Control. Springer, Berlin (2006)Google Scholar
  20. 20.
    Venkatasubramanian, V., Rengaswamy, R., Yin, K., Kavuri, S.N.: A review of process fault detection and diagnosis: Part I: quantitative model-based methods. Comput. Chem. Eng. 27, 293–311 (2003)CrossRefGoogle Scholar
  21. 21.
    Siripongwutikorn, P., Banerjee, S., Tipper, D.: A survey of adaptive bandwidth control algorithms. IEEE Commun. Surv. Tutor. 5, 14–26 (2003)CrossRefGoogle Scholar
  22. 22.
    Garlan, D., Schmerl, B.: Model-based adaptation for self-healing systems. In: Proceedings of the First Workshop on Self-healing Systems, pp. 27–32 (2002)Google Scholar
  23. 23.
    Kephart, J.O., Walsh, W.E.: An artificial intelligence perspective on autonomic computing policies. In: Proceedings of Fifth IEEE International Workshop on Policies for Distributed Systems and Networks, 2004. POLICY 2004, pp. 3–12 (2004)Google Scholar
  24. 24.
    Koutsoumpas, V.: A model-based approach for the specification of a virtual power plant operating in open context. In: Proceedings of the First International Workshop on Software Engineering for Smart Cyber-Physical Systems, pp. 26–32 (2015)Google Scholar
  25. 25.
    Simmonds, J., Ben-David, S., Chechik, M.: Monitoring and Recovery of Web Service Applications. The Smart Internet, pp. 250–288. Springer, Berlin (2010)Google Scholar
  26. 26.
    Cheng, S.-W., Garlan, D., Schmerl, B.: Architecture-based self-adaptation in the presence of multiple objectives. In: Proceedings of the 2006 International Workshop on Self-Adaptation and Self-Managing Systems, pp. 2–8 (2006)Google Scholar
  27. 27.
    Walker, W.E., Lempert, R.J., Kwakkel, J.H.: Deep Uncertainty. Encyclopedia of Operations Research and Management Science, pp. 395–402. Springer, Berlin (2013)CrossRefGoogle Scholar
  28. 28.
    Dubois, D., Prade, H.: Possibility Theory: An Approach to Computerized Processing of Uncertainty. Springer, Berlin (2012)Google Scholar
  29. 29.
    OMG: UML Testing Profile. ptc/17-09-29 (2017)Google Scholar
  30. 30.
    OMG: Unified Modeling Language V2.5. formal/15-03-01 (2015)Google Scholar
  31. 31.
    (OMG), O.M.G.: Concrete Syntax For A UML Action Language: Action Language For Foundational UML (ALF). (2013)Google Scholar
  32. 32.
    Sivanandam, S., Sumathi, S., Deepa, S.: Introduction to Fuzzy Logic Using MATLAB. Springer, Berlin (2007)CrossRefzbMATHGoogle Scholar
  33. 33.
    Blochwitz, T., Otter, M., Akesson, J., Arnold, M., Clauss, C., Elmqvist, H., Friedrich, M., Junghanns, A., Mauss, J., Neumerkel, D.: Functional mockup interface 2.0: The standard for tool independent exchange of simulation models. In: Proceedings of the 9th International MODELICA Conference, pp. 173–184 (2012)Google Scholar
  34. 34.
    Lanusse, A., Tanguy, Y., Espinoza, H., Mraidha, C., Gerard, S., Tessier, P., Schnekenburger, R., Dubois, H., Terrier, F.: Papyrus UML: an open source toolset for MDA. In: Proceedings of the Fifth European Conference on Model-Driven Architecture Foundations and Applications (ECMDA-FA 2009), pp. 1–4 (2009)Google Scholar
  35. 35.
    Tatibouet, J.: Moka—A simulation platform for Papyrus based on OMG specifications for executable UML. In: EclipseCon (2016)Google Scholar
  36. 36.
    Ali, S., Iqbal, M.Z., Arcuri, A., Briand, L.C.: Generating test data from OCL constraints with search techniques. IEEE Trans. Softw. Eng. 39, 1376–1402 (2013)CrossRefGoogle Scholar
  37. 37.
    Dubois, D., Prade, H., Sandri, S.: On Possibility/Probability Transformations. Fuzzy Logic, pp. 103–112. Springer, Berlin (1993)CrossRefGoogle Scholar
  38. 38.
    Broman, D., Brooks, C., Greenberg, L., Lee, E.A., Masin, M., Tripakis, S., Wetter, M.: Determinate composition of FMUs for co-simulation. In: Proceedings of the Eleventh ACM International Conference on Embedded Software, pp. 2 (2013)Google Scholar
  39. 39.
    Cellier, F.E., Kofman, E.: Continuous System Simulation. Springer, Berlin (2006)zbMATHGoogle Scholar
  40. 40.
    Ali, S., Briand, L.C., Hemmati, H.: Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems. Softw. Syst. Model. 11, 633–670 (2012)CrossRefGoogle Scholar
  41. 41.
    Vromant, P., Weyns, D., Malek, S., Andersson, J.: On interacting control loops in self-adaptive systems. In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pp. 202–207 (2011)Google Scholar
  42. 42.
    Gama, K., Donsez, D.: Deployment and activation of faulty components at runtime for testing self-recovery mechanisms. ACM SIGAPP Appl. Comput. Rev. 14, 44–54 (2014)CrossRefGoogle Scholar
  43. 43.
    Cioara, T., Anghel, I., Salomie, I., Dinsoreanu, M., Copil, G., Moldovan, D.: A reinforcement learning based self-healing algorithm for managing context adaptation. In: Proceedings of the 12th International Conference on Information Integration and Web-based Applications & Services, pp. 859–862 (2010)Google Scholar
  44. 44.
    Park, J., Lee, S., Yoon, T., Kim, J.M.: An autonomic control system for high-reliable CPS. Clust. Comput. 18, 587–598 (2015)CrossRefGoogle Scholar
  45. 45.
    Staszesky, D., Craig, D., Befus, C.: Advanced feeder automation is here. IEEE Power Energy Mag. 3, 56–63 (2005)CrossRefGoogle Scholar
  46. 46.
    Lu, X.-Y., Varaiya, P., Horowitz, R., Palen, J.: Faulty loop data analysis/correction and loop fault detection. In: 15th World Congress on Intelligent Transport Systems and ITS America’s 2008 Annual Meeting (2008)Google Scholar
  47. 47.
    Ryu, B.-H., Jeon, D., Kim, D.-H.: A Robust Video Streaming Based on Primary-Shadow Fault-Tolerance Mechanism. In: International Conference on Ubiquitous Computing and Multimedia Applications, pp. 66–75 (2011)Google Scholar
  48. 48.
    Yue, T., Ali, S.: Empirically evaluating OCL and Java for specifying constraints on UML models. Softw. Syst. Model. 15, 757–781 (2016)CrossRefGoogle Scholar
  49. 49.
    Veanes, M., Roy, P., Campbell, C.: Online testing with reinforcement learning. In: Formal Approaches to Software Testing and Runtime Verification, pp. 240–253 (2006)Google Scholar
  50. 50.
    Nelson, V.P.: Fault-tolerant computing: fundamental concepts. Computer 23, 19–25 (1990)CrossRefGoogle Scholar
  51. 51.
    Dunrova, E.: Fault Tolerant Design: An Introduction. Department of Microelectronics and Information Technology, Royal Institute of Technology, Stockholm, Sweden, (2008)Google Scholar
  52. 52.
    Torres-Pomales, W.: Software Fault Tolerance: a Tutorial. NASA Langley Research Center, Hampton, VA, United States (2000)Google Scholar
  53. 53.
    Zhang, M., Selic, B., Ali, S., Yue, T., Okariz, O., Norgren, R.: Understanding uncertainty in cyber-physical systems: a conceptual model. In: 12th European Conference on Modelling Foundations and Applications, ECMFA (2015)Google Scholar
  54. 54.
    Lee, E.A., Seshia, S.A.: Introduction to Embedded Systems: A Cyber-Physical Systems Approach. MIT Press, Cambridge (2011)zbMATHGoogle Scholar
  55. 55.
    Shi, J., Wan, J., Yan, H., Suo, H.: A survey of cyber-physical systems. In: International Conference on Wireless Communications and Signal Processing (WCSP), pp. 1–6 (2011)Google Scholar
  56. 56.
    Sridhar, S., Hahn, A., Govindarasu, M.: Cyber–physical system security for the electric power grid. Proc. IEEE 100, 210–224 (2012)CrossRefGoogle Scholar
  57. 57.
    Psaier, H., Dustdar, S.: A survey on self-healing systems: approaches and systems. Computing 91, 43–73 (2011)CrossRefGoogle Scholar
  58. 58.
    White, S.R., Hanson, J.E., Whalley, I., Chess, D.M., Kephart, J.O.: An architectural approach to autonomic computing. In: Null, pp. 2–9 (2004)Google Scholar
  59. 59.
    Morandini, M., Penserini, L., Perini, A.: Automated mapping from goal models to self-adaptive systems. In: Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering, pp. 485–486 (2008)Google Scholar
  60. 60.
    Ramirez, A.J., Jensen, A.C., Cheng, B.H.: A taxonomy of uncertainty for dynamically adaptive systems. In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) pp. 99–108 (2012)Google Scholar
  61. 61.
    Ramos, A.L., Ferreira, J.V., Barceló, J.: Model-based systems engineering: an emerging approach for modern systems. IEEE Trans. Syst. Man Cybern. Part C (Appl. Rev.) 42, 101–111 (2012)CrossRefGoogle Scholar
  62. 62.
    Derler, P., Lee, E., Vincentelli, A.S.: Modeling cyber–physical systems. Proc. IEEE 100, 13–28 (2012)CrossRefGoogle Scholar
  63. 63.
    Dabney, J.B., Harman, T.L.: Mastering Simulink. Pearson/Prentice Hall, Upper Saddle River (2004)Google Scholar
  64. 64.
    Fritzson, P., Aronsson, P., Pop, A., Lundvall, H., Nystrom, K., Saldamli, L., Broman, D., Sandholm, A.: OpenModelica-A free open-source environment for system modeling, simulation, and teaching. In: IEEE International Symposium on Computer-Aided Control Systems Design, pp. 1588–1595 (2006)Google Scholar
  65. 65.
    Black, D.C., Donovan, J., Bunton, B., Keist, A.: SystemC: From the Ground Up. Springer, Berlin (2011)Google Scholar
  66. 66.
    Fritzson, P., Rouquette, N.F., Schamai, W.: An Overview of the SysML-Modelica Transformation Specification. (2010)Google Scholar
  67. 67.
    Carter, K.: Executable UML (xUML) (2007)Google Scholar
  68. 68.
    Mayerhofer, T.: Testing and debugging UML models based on fUML. In: 34th International Conference on Software Engineering (ICSE), 2012, pp. 1579–1582 (2012)Google Scholar
  69. 69.
    Huebscher, M.C., McCann, J.A.: Simulation model for self-adaptive applications in pervasive computing. In: Proceedings of 15th International Workshop on Database and Expert Systems Applications, 2004, pp. 694–698 (2004)Google Scholar
  70. 70.
    Hänsel, J., Vogel, T., Giese, H.: A testing scheme for self-adaptive software systems with architectural runtime models. In: IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW), 2015, pp. 134–139 (2015)Google Scholar
  71. 71.
    Ali, S., Lu, H., Wang, S., Yue, T., Zhang, M.: Uncertainty-Wise Testing of Cyber-Physical Systems. Advances in Computers, vol. 107, pp. 23–94. Elsevier, Amsterdam (2017)Google Scholar
  72. 72.
    Yang, W., Xu, C., Liu, Y., Cao, C., Ma, X., Lu, J.: Verifying self-adaptive applications suffering uncertainty. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, pp. 199–210 (2014)Google Scholar
  73. 73.
    Zheng, X., Julien, C., Kim, M., Khurshid, S.: On the state of the art in verification and validation in cyber physical systems. The University of Texas at Austin, The Center for Advanced Research in Software Engineering, Tech. Rep. TR-ARiSE-2014-001, vol. 1485 (2014)Google Scholar
  74. 74.
    Fredericks, E.M., Ramirez, A.J., Cheng, B.H.: Towards run-time testing of dynamic adaptive systems. In: Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pp. 169–174 (2013)Google Scholar
  75. 75.
    Fredericks, E.M., Cheng, B.H.: Automated generation of adaptive test plans for self-adaptive systems. In: Appear in Proceedings of 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. SEAMS, pp. 157–168 (2015)Google Scholar
  76. 76.
    Ramirez, A.J., Jensen, A.C., Cheng, B.H., Knoester, D.B.: Automatically exploring how uncertainty impacts behavior of dynamically adaptive systems. In: Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering, pp. 568–571 (2011)Google Scholar
  77. 77.
    Minnerup, P., Knoll, A.: Testing automated vehicles against actuator inaccuracies in a large state space. IFAC-PapersOnLine 49, 38–43 (2016)CrossRefGoogle Scholar
  78. 78.
    Zhang, M., Li, Y., Ali, S., Yue, T.: Uncertainty-Wise and Time-Aware Test Case Prioritization with Multi-Objective Search. Technical Report 2017-03, Simula Research Lab, Norway (2017).
  79. 79.
    Zhang, M., Ali, S., Yue, T.: Uncertainty-wise Test Case Generation and Minimization for Cyber-Physical Systems: a Multi-Objective Search-based Approach. Technical Report 2016-13, Simula Research Lab, Norway (2017).
  80. 80.
    NSF: Cyber Physical Systems. NSF 14-542 (2014)Google Scholar
  81. 81.
    Kim, K.-D., Kumar, P.R.: Cyber–physical systems: a perspective at the centennial. Proc. IEEE 100, 1287–1308 (2012)CrossRefGoogle Scholar
  82. 82.
    Avižienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secure Comput. 1, 11–33 (2004)CrossRefGoogle Scholar
  83. 83.
    Lahami, M., Krichen, M., Jmaiel, M.: Safe and efficient runtime testing framework applied in dynamic and distributed systems. Sci. Comput. Prog. 122, 1–28 (2016)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Simula Research LaboratoryOsloNorway
  2. 2.University of OsloOsloNorway

Personalised recommendations