Abstract
Software Product Line Engineering (SPLE) promotes extensive reuse of common aspects in developing new software components. Supervisory Control Theory (SCT) is a methodology to automatically synthesise a controller enforcing given safety requirements. The interplay between SPLE and SCT has recently received attention in the research community. This paper formally tackles the problem of synthesising a most permissive controller (mpc) enforcing a given requirement for a software product line (SPL). Generally, the number of products of an SPL can be exponential in the number of features, and an mpc should be synthesised for every product. To overcome this problem, the product line structure is exploited to synthesise, in the best case, a number of controllers that are linear in the number of features of the SPL. The SPL is formalised as a (Priced) Featured Automaton ((P)FA), whilst the mpc synthesis is formalised by modelling both the plant and the requirement as Extended Finite-state Automata (EFA), where quantitative aspects can be seamlessly integrated. The contributions are: (i) a formal mapping from FA to EFA; (ii) a mapping of energy problems onto synthesis of EFA; (iii) three-valued logic and partial-order reduction are used to greatly reduce the number of mpcs required. Contribution (iii) holds for a wide range of other objectives, not only energy problems. Both EFA and PFA are endowed with tools implementing algorithms that have been studied for more than a decade and both are adopted in industry. These results pave the way to reuse algorithms and tools that have been separately developed in SPLE and SCT research areas.
Similar content being viewed by others
References
Asarin, E., Maler, O., Pnueli, A., Sifakis, J.: Controller synthesis for timed automata. IFAC Proc. Vols. 31(18), 447–452 (1998). https://doi.org/10.1016/S1474-6670(17)42032-5
Basile, D., ter Beek, M., Di Giandomenico, F., Gnesi, S.: Orchestration of dynamic service product lines with featured modal contract automata. In: SPLC, pp. 117–122. ACM (2017). https://doi.org/10.1145/3109729.3109741
Basile, D., ter Beek, M.H., Legay, A., Traonouez, L.: Orchestration synthesis for real-time service contracts. In: Verification and Evaluation of Computer and Communication Systems—12th International Conference, VECoS 2018, Grenoble, France, September 26–28, 2018, Proceedings, pp. 31–47 (2018)
Basile, D., Beek, M.H.T., Gnesi, S.: Modelling and analysis with featured modal contract automata. In: Proceedings of the 22nd International Systems and Software Product Line Conference—Volume 2, SPLC’18, pp. 11–16. ACM, New York (2018)
Basile, D., Degano, P., Ferrari, G.: Automata for specifying and orchestrating service contracts. Log. Methods Comput. Sci. 12(4:6), 1–51 (2016). https://doi.org/10.2168/LMCS-12(4:6)2016
Basile, D., Di Giandomenico, F., Gnesi, S.: FMCAT: supporting dynamic service-based product lines. In: SPLC, pp. 3–8. ACM (2017). https://doi.org/10.1145/3109729.3109760
Batory, D.: Feature models, grammars, and propositional formulas. In: Obbink, J., Pohl, K. (eds.) Proceedings 9th International Software Product Lines Conference (SPLC’05), LNCS, vol. 3714, pp. 7–20. Springer (2005). https://doi.org/10.1007/11554844_3
Benavides, D., Segura, S., Ruiz-Cortes, A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010). https://doi.org/10.1016/j.is.2010.01.001. http://www.sciencedirect.com/science/article/pii/S0306437910000025
Bouyer, P., Fahrenberg, U., Larsen, K.G., Markey, N., Srba, J.: Infinite runs in weighted timed automata with energy constraints. In: Cassez, F., Jard, C. (eds.) Formal Modeling and Analysis of Timed Systems, pp. 33–47. Springer, Berlin (2008)
Cassandras, C., Lafortune, S.: Introduction to Discrete Event Systems. Springer, New York (2006). https://doi.org/10.1007/978-0-387-68612-7
Chatterjee, K., Doyen, L.: Energy parity games. In: Abramsky, S., Gavoille, C., Kirchner, C., Meyer auf der Heide, F., Spirakis, P.G. (eds.) Automata, Languages and Programming, pp. 599–610. Springer, Berlin (2010)
Chen, Y., Lin, F.: Modeling of discrete event systems using finite state machines with parameters. In: Proceedings of the 2000 IEEE International Conference on Control Applications, pp. 941–946. IEEE (2000)
Classen, A., Cordy, M., Schobbens, P.Y., Heymans, P., Legay, A., Raskin, J.F.: Featured transition systems: foundations for verifying variability-intensive systems and their application to LTL model checking. IEEE Trans. Softw. Eng. 39(8), 1069–1089 (2013). https://doi.org/10.1109/TSE.2012.86
Classen, A., Heymans, P., Schobbens, P., Legay, A.: Symbolic model checking of software product lines. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE’11, pp. 321–330. ACM, New York (2011). https://doi.org/10.1145/1985793.1985838
Classen, A., Heymans, P., Schobbens, P., Legay, A., Raskin, J.: Model checking lots of systems: efficient verification of temporal properties in software product lines. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering—Volume 1, ICSE’10, pp. 335–344. ACM, New York (2010). https://doi.org/10.1145/1806799.1806850
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2001)
Cordy, M., Classen, A., Heymans, P., Schobbens, P., Legay, A.: Provelines: A product line of verifiers for software product lines. In: Proceedings of the 17th International Software Product Line Conference Co-located Workshops, pp. 141–146. ACM (2013)
Cordy, M., Davril, J., Greenyer, J., Gressi, E., Heymans, P.: All-at-once-synthesis of controllers from scenario-based product line specifications. In: Proceedings of the 19th International Conference on Software Product Line, pp. 26–35. ACM (2015)
Fahrenberg, U., Legay, A.: Featured weighted automata. In: 5th IEEE/ACM International FME Workshop on Formal Methods in Software Engineering, FormaliSE@ICSE 2017, Buenos Aires, Argentina, May 27, 2017, pp. 51–57 (2017). https://doi.org/10.1109/FormaliSE.2017.2
Mannion, M.: Using first-order logic for product line model validation. In: G. Chastek (ed.) Proceedings 2nd International Software Product Lines Conference (SPLC’02), LNCS, vol. 2379, pp. 176–187. Springer (2002). https://doi.org/10.1007/3-540-45652-X_11
Meinicke, J., Thüm, T., Schröter, R., Benduhn, F., Leich, T., Saake, G.: Mastering Software Variability with FeatureIDE. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-61443-4
Olaechea, R., Fahrenberg, U., Atlee, J.M., Legay, A.: Long-term average cost in featured transition systems. In: Proceedings of the 20th International Systems and Software Product Line Conference, SPLC’16, pp. 109–118. ACM, New York (2016). https://doi.org/10.1145/2934466.2934473
Ouedraogo, L., Kumar, R., Malik, R., Akesson, K.: Nonblocking and safe control of discrete-event systems modeled as extended finite automata. IEEE Trans. Autom. Sci. Eng. 8(3), 560–569 (2011)
Parnas, D.L.: On the design and development of program families. IEEE Trans. Softw. Eng. SE–2(1), 1–9 (1976). https://doi.org/10.1109/TSE.1976.233797
Pnueli, O.M.A., Sifakis, J.: On the synthesis of discrete controllers for timed systems. In: Mayr, E., Puech, C. (eds.) Proceedings 12th Annual Symposium on Theoretical Aspects of Computer Science (STACS’95), LNCS, vol. 900, pp. 229–242. Springer (1995). https://doi.org/10.1007/3-540-59042-0_76
Ramadge, P., Wonham, W.: Supervisory control of a class of discrete event processes. SIAM J. Control Optim. 25(1), 206–230 (1987). https://doi.org/10.1137/0325013
Skoldstam, M., Akesson, K., Fabian, M.: Modeling of discrete event systems using finite automata with variables. In: 46th IEEE Conference on Decision and Control, 2007, pp. 3387–3392. IEEE (2007)
ter Beek, M., Fantechi, A., Gnesi, S., Mazzanti, F.: Modelling and analysing variability in product families: model checking of modal transition systems with variability constraints. J. Log. Algebr. Methods Program. 85(2), 287–315 (2016). https://doi.org/10.1016/j.jlamp.2015.11.006
ter Beek, M., Reniers, M., de Vink, E.: Supervisory controller synthesis for product lines using CIF 3. In: Margaria, T., Steffen, B. (eds.) Proceedings 7th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques (ISoLA’16), LNCS, vol. 9952, pp. 856–873. Springer (2016). https://doi.org/10.1007/978-3-319-47166-2_59
ter Beek, M.H., Legay, A., Lluch Lafuente, A., Vandin, A.: A framework for quantitative modeling and analysis of highly (re)configurable systems. IEEE Trans. Softw. Eng. (2018). https://doi.org/10.1109/TSE.2018.2853726
ter Beek, M.H., de Vink, E.P., Willemse, T.A.C.: Family-based model checking with mCRL2. In: International Conference on Fundamental Approaches to Software Engineering, pp. 387–405. Springer (2017)
van Beek, D., Fokkink, W., Hendriks, D., Hofkamp, A., Markovski, J., van de Mortel-Fronczak, J., Reniers, M.: CIF 3: model-based engineering of supervisory controllers. In: Ábrahám, E., Havelund, K. (eds.) Proceedings 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14), LNCS, vol. 8413, pp. 575–580. Springer (2014). https://doi.org/10.1007/978-3-642-54862-8_48
Acknowledgements
The author would like to thank Maurice ter Beek for many useful discussions and the unknown reviewers for the useful comments.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Basile, D. Applying supervisory control synthesis to priced featured automata and energy problems. Int J Softw Tools Technol Transfer 21, 679–689 (2019). https://doi.org/10.1007/s10009-019-00533-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-019-00533-3