Skip to main content
Log in

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

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

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.

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

Similar content being viewed by others

Notes

  1. The term of self-healing originates from the IBM’s vision of autonomic computing [3], and self-healing is one of the so-called self-* properties. Self-healing is tightly related to “fault-tolerant,” but not all fault-tolerant mechanisms can be seen as self-healing behaviors.

  2. The reason to select RAMA as the running example is that RAMA is an example of SH-CPS and contains a set of self-healing behaviors that are affected by uncertainties.

  3. \( M_{\text{Low}} (10) = 1/\left( {1 + e^{{0.1 \cdot \left( {\left| {10} \right| - 10} \right)}} } \right) = 0.5 \).

  4. In case a system behaves differently from a test model that is derived from an incomplete requirement, it only indicates that a potential fault has been detected. Developers or designers who have more knowledge of the requirement can determine whether it is indeed an implementation fault.

  5. Include Gauss, generalized bell, triangular, difference between two sigmoid, pi-shaped, sigmoid functions.

  6. Include Poisson, Bernoulli, categorical, logarithmic, discrete uniform, exponential, gamma, normal, triangular, and trapezoidal distributions.

  7. If the value of an uncertain feature depends on the values of some other uncertain features, OCL constraints can be used to specify the dependency.

  8. Though there are several other co-simulation standards, such as HLA (coming from military applications) and SMP (in the space domain), FMI gained the most attention from both research and industry. Thus, it is used in our work.

  9. There are four kinds of standard interfaces defined in FMI: init, which initializes the execution time of a FMU; set, which assigns a given value to a variable in a FMU; get, which queries the value of a variable in a FMU; and doStep, which performs an execution step on a FMU, using a given step size Δt.

  10. We could not use PeMS and VSS to answer RQ3 as we didn’t have access to their implementations.

  11. One example of the product specifications can be downloaded from:

    https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf.

References

  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)

  2. Ghosh, D., Sharman, R., Rao, H.R., Upadhyaya, S.: Self-healing systems—survey and synthesis. Decis. Support Syst. 42, 2164–2185 (2007)

    Article  Google Scholar 

  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. Esfahani, N., Malek, S.: Uncertainty in self-adaptive software systems. Software Engineering for Self-Adaptive Systems II, pp. 214–238. Springer, Berlin (2013)

    Book  Google Scholar 

  5. Zhang, M., Ali, S., Yue, T., Norgren, R., Okariz, O.: Uncertainty-wise cyber-physical system test modeling. Softw. Syst. Model. (2017). https://doi.org/10.1007/s10270-017-0609-6

    Google Scholar 

  6. Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. Morgan Kaufmann, Burlington (2014)

    Google Scholar 

  7. OMG: Profile for modeling and analysis of real-time and embedded systems (MARTE). formal/2011-06-02 (2011)

  8. Bernardi, S., Merseguer, J., Petriu, D.C.: A dependability profile within MARTE. Softw. Syst. Model. 10, 313–336 (2011)

    Article  Google Scholar 

  9. OMG: Profile for modeling quality of service and fault tolerance characteristics and mechanisms. formal/2008-04-05 (2008)

  10. OMG: Semantics Of A Foundational Subset For Executable UML Models V1.2.1. formal/2016-01-05 (2016)

  11. OMG: Precise Semantics Of UML State Machines (PSSM). 1.0 - Beta 1 (2017)

  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)

  13. Holub, O., Hanzálek, Z.: Low-cost reconfigurable control system for small UAVs. IEEE Trans. Ind. Electron. 58, 880–889 (2011)

    Article  Google Scholar 

  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)

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

  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)

  18. Ma, T., Ali, S., Yue, T.: Modeling Healing Behaviors of Cyber-Physical Systems with Uncertainty to Support Automated Testing. Simula Research Lab (2016)

  19. Blanke, M., Schröder, J.: Diagnosis and Fault-Tolerant Control. Springer, Berlin (2006)

    Google Scholar 

  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)

    Article  Google Scholar 

  21. Siripongwutikorn, P., Banerjee, S., Tipper, D.: A survey of adaptive bandwidth control algorithms. IEEE Commun. Surv. Tutor. 5, 14–26 (2003)

    Article  Google Scholar 

  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)

  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)

  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)

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

  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)

    Book  Google Scholar 

  28. Dubois, D., Prade, H.: Possibility Theory: An Approach to Computerized Processing of Uncertainty. Springer, Berlin (2012)

    Google Scholar 

  29. OMG: UML Testing Profile. ptc/17-09-29 (2017)

  30. OMG: Unified Modeling Language V2.5. formal/15-03-01 (2015)

  31. (OMG), O.M.G.: Concrete Syntax For A UML Action Language: Action Language For Foundational UML (ALF). (2013)

  32. Sivanandam, S., Sumathi, S., Deepa, S.: Introduction to Fuzzy Logic Using MATLAB. Springer, Berlin (2007)

    Book  MATH  Google Scholar 

  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)

  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)

  35. Tatibouet, J.: Moka—A simulation platform for Papyrus based on OMG specifications for executable UML. In: EclipseCon (2016)

  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)

    Article  Google Scholar 

  37. Dubois, D., Prade, H., Sandri, S.: On Possibility/Probability Transformations. Fuzzy Logic, pp. 103–112. Springer, Berlin (1993)

    Book  Google Scholar 

  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)

  39. Cellier, F.E., Kofman, E.: Continuous System Simulation. Springer, Berlin (2006)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

  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)

    Article  Google Scholar 

  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)

  44. Park, J., Lee, S., Yoon, T., Kim, J.M.: An autonomic control system for high-reliable CPS. Clust. Comput. 18, 587–598 (2015)

    Article  Google Scholar 

  45. Staszesky, D., Craig, D., Befus, C.: Advanced feeder automation is here. IEEE Power Energy Mag. 3, 56–63 (2005)

    Article  Google Scholar 

  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)

  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)

  48. Yue, T., Ali, S.: Empirically evaluating OCL and Java for specifying constraints on UML models. Softw. Syst. Model. 15, 757–781 (2016)

    Article  Google Scholar 

  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)

  50. Nelson, V.P.: Fault-tolerant computing: fundamental concepts. Computer 23, 19–25 (1990)

    Article  Google Scholar 

  51. Dunrova, E.: Fault Tolerant Design: An Introduction. Department of Microelectronics and Information Technology, Royal Institute of Technology, Stockholm, Sweden, (2008)

  52. Torres-Pomales, W.: Software Fault Tolerance: a Tutorial. NASA Langley Research Center, Hampton, VA, United States (2000)

    Google Scholar 

  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)

  54. Lee, E.A., Seshia, S.A.: Introduction to Embedded Systems: A Cyber-Physical Systems Approach. MIT Press, Cambridge (2011)

    MATH  Google Scholar 

  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)

  56. Sridhar, S., Hahn, A., Govindarasu, M.: Cyber–physical system security for the electric power grid. Proc. IEEE 100, 210–224 (2012)

    Article  Google Scholar 

  57. Psaier, H., Dustdar, S.: A survey on self-healing systems: approaches and systems. Computing 91, 43–73 (2011)

    Article  Google Scholar 

  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)

  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)

  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)

  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)

    Article  Google Scholar 

  62. Derler, P., Lee, E., Vincentelli, A.S.: Modeling cyber–physical systems. Proc. IEEE 100, 13–28 (2012)

    Article  Google Scholar 

  63. Dabney, J.B., Harman, T.L.: Mastering Simulink. Pearson/Prentice Hall, Upper Saddle River (2004)

    Google Scholar 

  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)

  65. Black, D.C., Donovan, J., Bunton, B., Keist, A.: SystemC: From the Ground Up. Springer, Berlin (2011)

    Google Scholar 

  66. Fritzson, P., Rouquette, N.F., Schamai, W.: An Overview of the SysML-Modelica Transformation Specification. (2010)

  67. Carter, K.: Executable UML (xUML) (2007)

  68. Mayerhofer, T.: Testing and debugging UML models based on fUML. In: 34th International Conference on Software Engineering (ICSE), 2012, pp. 1579–1582 (2012)

  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)

  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)

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

  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)

  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)

  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)

  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)

  77. Minnerup, P., Knoll, A.: Testing automated vehicles against actuator inaccuracies in a large state space. IFAC-PapersOnLine 49, 38–43 (2016)

    Article  Google Scholar 

  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). https://www.simula.no/publications/uncertainty-wise-and-time-aware-test-case-prioritization-multi-objective-search

  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). https://www.simula.no/publications/uncertainty-based-test-case-generation-and-minimization-cyber-physical-systems-multi

  80. NSF: Cyber Physical Systems. NSF 14-542 (2014)

  81. Kim, K.-D., Kumar, P.R.: Cyber–physical systems: a perspective at the centennial. Proc. IEEE 100, 1287–1308 (2012)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

Download references

Acknowledgements

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tao Yue.

Additional information

Communicated by Dr Juergen Dingel.

Appendices

Appendix A: Execution process of an executable test model

This appendix presents an activity diagram to illustrate the execution process of an executable test model (Fig. 15).

Fig. 15
figure 15

Execution process of an executable test model

Appendix B: Extensions to fUML and PSSM

To facilitate executable model-based testing, we made several extensions to fUML and PSSM, and they are given in Table 13.

Table 13 Summary of the extensions to fUML and PSSM

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ma, T., Ali, S. & Yue, T. Modeling foundations for executable model-based testing of self-healing cyber-physical systems. Softw Syst Model 18, 2843–2873 (2019). https://doi.org/10.1007/s10270-018-00703-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-018-00703-y

Keywords

Navigation