Abstract
Self-adaptation of complex systems is a very active domain of research with numerous application domains. Component systems are designed as sets of components that may reconfigure themselves according to adaptation policies, which describe needs for reconfiguration. In this context, an adaptation policy is designed as a set of rules that indicate, for a given set of configurations, which reconfiguration operations can be triggered, with fuzzy values representing their utility. The adaptation policy has to be faithfully implemented by the system, especially w.r.t. the utility occurring in the rules, which are generally specified for optimizing some extrafunctional properties (e.g. minimizing resource consumption). In order to validate adaptive systems’ behavior, this paper presents a model-based testing approach, which aims to generate large test suites in order to measure the occurrences of reconfigurations and compare them to their utility values specified in the adaptation rules. This process is based on a usage model of the system used to stimulate the system and provoke reconfigurations. As the system may reconfigure dynamically, this online test generator observes the system responses and evolution in order to decide the next appropriate test step to perform. As a result, the relative frequencies of the reconfigurations can be measured in order to determine whether the adaptation policy is faithfully implemented. To illustrate the approach the paper reports on experiments on the case study of platoons of autonomous vehicles.
Notes
FTPL comes from the fusion between TPL (temporal pattern language) and ‘F’ for first order logic consistency constraints over components.
PLTL, or propositional linear temporal logic.
These two sets are disjoint, as set in Section 2 for reconfiguration operations and reflected in the FTPL grammar.
giving rise to reconfigurations from \(\Theta \), Section 2.2
reconfigurations from \(\mathcal{R}\), Section 2.2
We assume that if no outgoing transition of the current state is labeled by an event, its probability is 0.
which equals to 1 if the predicate holds, and 0 otherwise.
REFERENCES
Alvares, F., Rutten, E., and Seinturier, L., Behavioural model-based control for autonomic software components, IEEE Int. Conf. on Autonomic Computing, Grenoble, France, 2015, IEEE, 2015.https://doi.org/10.1109/ICAC.2015.31
Bauer, A. and Falcone, Y., Decentralised LTL monitoring, FM 2012: Formal Methods, Giannakopoulou, D. and Méry, D., Eds., Lecture Notes in Computer Science, vol. 7436, Berlin: Springer, 2012, pp. 85–100. https://doi.org/10.1007/978-3-642-32759-9_10
Camilli, M., Bellettini, C., Gargantini, A., and Scandurra, P., Online model-based testing under uncertainty, IEEE 29th Int. Symp. on Software Reliability Engineering (ISSRE), Memphis, Tenn., 2018, IEEE, 2018, pp. 36–46. https://doi.org/10.1109/ISSRE.2018.00015
Chauvel, F., Barais, O., Borne, I., and Jezequel, J.-M., Composition of qualitative adaptation policies, 23rd IEEE/ACM Int. Conf. on Automated Software Engineering, L’Aquila, Italy, 2008, IEEE, 2008, pp. 455–458. https://doi.org/10.1109/ASE.2008.72
Chen, B.H.C., Eder, K.I., Gogolla, M., Grunske, L., Litoiu, M., Müller, H.A., Pelliccione, P., Perini, A., Qureshi, N.A., Rumpe, B., Schneider, D., Trollmann, F., and Villegas, N.M., Using models at runtime to address assurance for self-adaptive systems, Models@run.time, Bencomo, N., France, R., Cheng, B.H.C., and Aßmann, U., Eds., Cham: Springer, 2014, pp. 101–136. https://doi.org/10.1007/978-3-319-08915-7_4
Dadeau, F., Gros, J.-P., and Kouchnarenko, O., Testing adaptation policies for software components, Software Qual. J., 2020, vol. 28, pp. 1347–1378. https://doi.org/10.1007/s11219-019-09487-w
De Lemos, R., Garlan, D., Ghezzi, C., Giese, H., Andersson, J., Litoiu, M., Schmerl, B., Weyns, D., Baresi, L., Bencomo, N., Brun, Yu., Camara, J., Calinescu, R., Cohen, M.B., Gorla, A., Grassi, V., Grunske, L., Inverardi, P., Jezequel, J.-M., Malek, S., Mirandola, R., Mori, M., Müller, H.A., Rouvoy, R., Rubira, C.M.F., Rutten, E., Shaw, M., Tamburelli, G., Tamura, G., Villegas, N.M., Vogel, T., and Zambonelli, F., Software engineering for self-adaptive systems: Research challenges in the provision of assurances, Software Engineering for Self-Adaptive Systems III. Assurances, de Lemos, R., Garlan, D., Ghezzi, C., and Giese, H., Eds., Lecture Notes in Computer Science, vol. 9640, Cham: Springer, 2018, pp. 3–30. https://doi.org/10.1007/978-3-319-74183-3_1
De Lemos, R., Giese, H., Müller, H.A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N.M., Vogel, T., Weyns, D., Baresi, L., Becker, B., Bencomo, N., Brun, Yu., Cukic, B., Desmarais, R., Dustdar, S., Gregor, E., Geihs, K., Göschka, K.M., Gorla, A., Grassi, V., Inverardi, P., Karsai, G., Kramer, J., Lopes, A., Magee, J., Malek, S., Mankovskii, S., Mirandola, R., Mylopoulos, J., Nierstrasz, O., Pezzè, M., Prehofer, C., Schäfer, W., Schlichting, R., Smith, D.B., Sousa, J.P., Tahvildari, L., Wong, K., and Wuttke, J., Software engineering for self-adaptive systems: A second research roadmap, Software Engineering for Self-Adaptive Systems II, de Lemos, R., Giese, H., Müller, H.A., and Shaw, M., Eds., Lecture Notes in Computer Science, vol. 7475, Berlin: Springer, 2013, pp. 1–32. https://doi.org/10.1007/978-3-642-35813-5_1
Dormoy, J., Kouchnarenko, O., Lanoix, A., Using temporal logic for dynamic reconfigurations of components, Formal Aspects of Component Software. FACS 2010, Barbosa, L.S. and Lumpe, M., Eds., Lecture Notes in Computer Science, vol. 6921, Berlin: Springer, 2012, pp. 200–217. https://doi.org/10.1007/978-3-642-27269-1_12
Dupong, G., Aït-Ameur, Ya., Pantel, M., and Singh, N.K., Proof-based approach to hybrid systems development: Dynamic logic and Event-B, Abstract State Machines, Alloy, B, TLA, VDM, and Z. ABZ 2018, Butler, M., Raschke, A., Hoang, T., and Reichl, K., Eds., Lecture Notes in Computer Science, vol. 10817, Cham: Springer, 2018, pp. 155–170. https://doi.org/10.1007/978-3-319-91271-4_11
Fredericks, E.M., Ramirez, A.J., and Cheng, B.H.C., Towards run-time testing of dynamic adaptive systems, 8th Int. Symp. on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), San Francisco, 2013, IEEE, 2013, pp. 169–174. https://doi.org/10.1109/SEAMS.2013.6595504
Greiler, M., Gross, H.-G., and van Deursen, A., Evaluation of online testing for services: A case study, PESOS ’10: Proc. 2nd Int. Workshop on Principles of Engineering Service-Oriented Systems, Cape Town, South Africa, 2010, New York: Association for Computing Machinery, 2010, pp. 36–42. https://doi.org/10.1145/1808885.1808893
Gupta, S., Ansari, A., Feng, Sh., and Mahlke, S., Adaptive online testing for efficient hard fault detection, IEEE Int. Conf. on Computer Design, Lake Tahoe, Calif., 2009, IEEE, 2009, pp. 343–349. https://doi.org/10.1109/ICCD.2009.5413132
Helvensteijn, M., Dynamic delta modeling, SPLC ’12: Proc. 16th Int. Software Product Line Conf., Salvador, Brazil, 2012, New York: Association for Computing Machinery, 2012, vol. 2, pp. 127–134. https://doi.org/10.1145/2364412.2364434
Johnson, B. and Larsen, K.G., Specification and refinement of probabilistic processes, Proc. Sixth Ann. IEEE Symp. on Logic in Computer Science, Amsterdam, 1991, IEEE, 1991, pp. 266–277. https://doi.org/10.1109/LICS.1991.151651
Kephart, J.O. and Walsh, W.E., An artificial intelligence perspective on autonomic computing policies, Proc. Fifth IEEE Int. Workshop on Policies for Distributed Systems and Networks. POLICY 2004, Yorktown Heights, N.Y., 2004, IEEE, 2004, pp. 3–12. https://doi.org/10.1109/POLICY.2004.1309145
Kim, M., Lee, I., Sammapun, U., Shin, J., and Sokolsky, O., Monitoring, checking, and steering of real-time systems, Electron. Notes Theor. Comput. Sci., 2002, vol. 70, no. 4, pp. 95–111. https://doi.org/10.1016/S1571-0661(04)80579-6
Kouchnarenko, O. and Weber, J.-F., Adapting component-based systems at runtime via policies with temporal patterns, Formal Aspects of Component Software. FACS 2013, Fiadeiro, J., Liu, Z., Xue, J., Eds., Lecture Notes in Computer Science, vol. 8348, Cham: Springer, 2014, pp. 234–253. https://doi.org/10.1007/978-3-319-07602-7_15
Kouchnarenko, O. and Weber, J.-F., Decentralised evaluation of temporal patterns over component-based systems at runtime, Formal Aspects of Component Software. FACS 2014, Lanese, I. and Madelaine, E., Eds., Lecture Notes in Computer Science, vol. 8997, Cham: Springer, 2015, pp. 108–126. https://doi.org/10.1007/978-3-319-15317-9_7
Kowalski, R. and Sergot, M., A logic-based calculus of events, New Gener. Comput., 1986, vol. 4, pp. 67–85. https://doi.org/10.1007/BF03037383
Larsen, K.G. and Thomsen, B., A modal process logic, Proc. Third Ann. Symp. on Logic in Computer Sci., Edinburgh, 1988, IEEE, 1988, pp. 203–210. https://doi.org/10.1109/LICS.1988.5119
Mahe, E., Gaston, C., and Le Gall, P., Revisiting semantics of interactions for trace validity analysis, Fundamental Approaches to Software Engineering. FASE 2020, Wehrheim, H. and Cabot, J., Eds., Lecture Notes in Computer Science, vol. 12076, Cham: Springer, 2020, pp. 482–501. https://doi.org/10.1007/978-3-030-45234-6_24
Miller, R. and Shanahan, M., The event calculus in classical logic—Alternative axiomatisations, Electron. Trans. Artif. Intell., 1999, vol. 3, pp. 77–105.
Milner, R., Communication and Concurrency, PHI Series in Computer Science, Prentice Hall, 1989.
Poladian, V., Garlan, D., Shaw, M., and Satyanarayanan, M., Schmerl, B., and Sousa, J., Leveraging resource prediction for anticipatory dynamic configuration, First Int. Conf. on Self-Adaptive and Self-Organizing Systems (SASO 2007), Cambrdige, Mass., 2007, IEEE, 2007, pp. 214–233. https://doi.org/10.1109/SASO.2007.35
Romero, D., Quinton, C., Duchien, L., Seinturier, L., and Valdez, C., SmartyCo: Managing cyber-physical systems for smart environments, Software Architecture. ECSA 2015, Weyns, D., Mirandola, R., and Crnkovic, I., Eds., Lecture Notes in Computer Science, vol. 9278, Cham: Springer, 2015, pp. 294–302. https://doi.org/10.1007/978-3-319-23727-5_25
Sinclair, A., Algorithms for Random Generation and Counting: A Markov Chain Approach, Progress in Theoretical Computer Science, Boston: Birkhäuser, 1993. https://doi.org/10.1007/978-1-4612-0323-0
Trollman, F., Fähndrich, J., and Albayrak, S., Hybrid adaptation policies: Towards a framework for classification and modelling of different combinations of adaptation policies, SEAMS ’18: Proc. 13th Int. Conf. on Software Engineering for Adaptive and Self-Managing Systems, Gothenburg, Sweden, 2018, New York: Association for Computing Machinery, 2018, pp. 76–86. https://doi.org/10.1145/3194133.3194137
Walton, G.H., Poore, J.H., and Trammell, C.J., Statistical testing of software based on a usage model, Software: Pract. Exper., 1995, vol. 25, no. 1, pp. 97–108. https://doi.org/10.1002/spe.4380250106
Whittaker, J.A. and Thomason, M.G., A Markov chain model for statistical software testing, IEEE Trans. Software Eng., 1994, vol. 20, no. 10, pp. 812–824. https://doi.org/10.1109/32.328991
Author information
Authors and Affiliations
Corresponding authors
Ethics declarations
The authors declare that they have no conflicts of interest.
About this article
Cite this article
Dadeau, F., Gros, JP. & Kouchnarenko, O. Online Testing of Dynamic Reconfigurations w.r.t. Adaptation Policies. Aut. Control Comp. Sci. 56, 606–622 (2022). https://doi.org/10.3103/S0146411622070021
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.3103/S0146411622070021