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.














Similar content being viewed by others
Notes
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.
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.
\( M_{\text{Low}} (10) = 1/\left( {1 + e^{{0.1 \cdot \left( {\left| {10} \right| - 10} \right)}} } \right) = 0.5 \).
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.
Include Gauss, generalized bell, triangular, difference between two sigmoid, pi-shaped, sigmoid functions.
Include Poisson, Bernoulli, categorical, logarithmic, discrete uniform, exponential, gamma, normal, triangular, and trapezoidal distributions.
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.
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.
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.
We could not use PeMS and VSS to answer RQ3 as we didn’t have access to their implementations.
One example of the product specifications can be downloaded from:
https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf.
References
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)
Ghosh, D., Sharman, R., Rao, H.R., Upadhyaya, S.: Self-healing systems—survey and synthesis. Decis. Support Syst. 42, 2164–2185 (2007)
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)
Esfahani, N., Malek, S.: Uncertainty in self-adaptive software systems. Software Engineering for Self-Adaptive Systems II, pp. 214–238. Springer, Berlin (2013)
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
Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: The Systems Modeling Language. Morgan Kaufmann, Burlington (2014)
OMG: Profile for modeling and analysis of real-time and embedded systems (MARTE). formal/2011-06-02 (2011)
Bernardi, S., Merseguer, J., Petriu, D.C.: A dependability profile within MARTE. Softw. Syst. Model. 10, 313–336 (2011)
OMG: Profile for modeling quality of service and fault tolerance characteristics and mechanisms. formal/2008-04-05 (2008)
OMG: Semantics Of A Foundational Subset For Executable UML Models V1.2.1. formal/2016-01-05 (2016)
OMG: Precise Semantics Of UML State Machines (PSSM). 1.0 - Beta 1 (2017)
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)
Holub, O., Hanzálek, Z.: Low-cost reconfigurable control system for small UAVs. IEEE Trans. Ind. Electron. 58, 880–889 (2011)
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)
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)
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)
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)
Ma, T., Ali, S., Yue, T.: Modeling Healing Behaviors of Cyber-Physical Systems with Uncertainty to Support Automated Testing. Simula Research Lab (2016)
Blanke, M., Schröder, J.: Diagnosis and Fault-Tolerant Control. Springer, Berlin (2006)
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)
Siripongwutikorn, P., Banerjee, S., Tipper, D.: A survey of adaptive bandwidth control algorithms. IEEE Commun. Surv. Tutor. 5, 14–26 (2003)
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)
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)
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)
Simmonds, J., Ben-David, S., Chechik, M.: Monitoring and Recovery of Web Service Applications. The Smart Internet, pp. 250–288. Springer, Berlin (2010)
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)
Walker, W.E., Lempert, R.J., Kwakkel, J.H.: Deep Uncertainty. Encyclopedia of Operations Research and Management Science, pp. 395–402. Springer, Berlin (2013)
Dubois, D., Prade, H.: Possibility Theory: An Approach to Computerized Processing of Uncertainty. Springer, Berlin (2012)
OMG: UML Testing Profile. ptc/17-09-29 (2017)
OMG: Unified Modeling Language V2.5. formal/15-03-01 (2015)
(OMG), O.M.G.: Concrete Syntax For A UML Action Language: Action Language For Foundational UML (ALF). (2013)
Sivanandam, S., Sumathi, S., Deepa, S.: Introduction to Fuzzy Logic Using MATLAB. Springer, Berlin (2007)
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)
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)
Tatibouet, J.: Moka—A simulation platform for Papyrus based on OMG specifications for executable UML. In: EclipseCon (2016)
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)
Dubois, D., Prade, H., Sandri, S.: On Possibility/Probability Transformations. Fuzzy Logic, pp. 103–112. Springer, Berlin (1993)
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)
Cellier, F.E., Kofman, E.: Continuous System Simulation. Springer, Berlin (2006)
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)
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)
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)
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)
Park, J., Lee, S., Yoon, T., Kim, J.M.: An autonomic control system for high-reliable CPS. Clust. Comput. 18, 587–598 (2015)
Staszesky, D., Craig, D., Befus, C.: Advanced feeder automation is here. IEEE Power Energy Mag. 3, 56–63 (2005)
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)
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)
Yue, T., Ali, S.: Empirically evaluating OCL and Java for specifying constraints on UML models. Softw. Syst. Model. 15, 757–781 (2016)
Veanes, M., Roy, P., Campbell, C.: Online testing with reinforcement learning. In: Formal Approaches to Software Testing and Runtime Verification, pp. 240–253 (2006)
Nelson, V.P.: Fault-tolerant computing: fundamental concepts. Computer 23, 19–25 (1990)
Dunrova, E.: Fault Tolerant Design: An Introduction. Department of Microelectronics and Information Technology, Royal Institute of Technology, Stockholm, Sweden, (2008)
Torres-Pomales, W.: Software Fault Tolerance: a Tutorial. NASA Langley Research Center, Hampton, VA, United States (2000)
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)
Lee, E.A., Seshia, S.A.: Introduction to Embedded Systems: A Cyber-Physical Systems Approach. MIT Press, Cambridge (2011)
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)
Sridhar, S., Hahn, A., Govindarasu, M.: Cyber–physical system security for the electric power grid. Proc. IEEE 100, 210–224 (2012)
Psaier, H., Dustdar, S.: A survey on self-healing systems: approaches and systems. Computing 91, 43–73 (2011)
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)
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)
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)
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)
Derler, P., Lee, E., Vincentelli, A.S.: Modeling cyber–physical systems. Proc. IEEE 100, 13–28 (2012)
Dabney, J.B., Harman, T.L.: Mastering Simulink. Pearson/Prentice Hall, Upper Saddle River (2004)
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)
Black, D.C., Donovan, J., Bunton, B., Keist, A.: SystemC: From the Ground Up. Springer, Berlin (2011)
Fritzson, P., Rouquette, N.F., Schamai, W.: An Overview of the SysML-Modelica Transformation Specification. (2010)
Carter, K.: Executable UML (xUML) (2007)
Mayerhofer, T.: Testing and debugging UML models based on fUML. In: 34th International Conference on Software Engineering (ICSE), 2012, pp. 1579–1582 (2012)
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)
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)
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)
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)
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)
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)
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)
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)
Minnerup, P., Knoll, A.: Testing automated vehicles against actuator inaccuracies in a large state space. IFAC-PapersOnLine 49, 38–43 (2016)
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
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
NSF: Cyber Physical Systems. NSF 14-542 (2014)
Kim, K.-D., Kumar, P.R.: Cyber–physical systems: a perspective at the centennial. Proc. IEEE 100, 1287–1308 (2012)
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)
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)
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
Corresponding author
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).
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.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-018-00703-y