skip to main content
research-article

Automatic Synthesis of FSMs for Enforcing Non-functional Requirements on MPSoCs Using Multi-objective Evolutionary Algorithms

Published:16 October 2023Publication History
Skip Abstract Section

Abstract

Embedded system applications often require guarantees regarding non-functional properties when executed on a given MPSoC platform. Examples of such requirements include real-time, energy, or safety properties on corresponding programs. One option to implement the enforcement of such requirements is by a reactive control loop, where an enforcer decides based on a system response (feedback) how to control the system, e.g., by adapting the number of cores allocated to a program or by scaling the voltage/frequency mode of involved processors.

Typically, a violation of a requirement must either never happen in case of strict enforcement, or only happen temporally (in case of so-called loose enforcement). However, it is a challenge to design enforcers for which it is possible to give formal guarantees with respect to requirements, especially in the presence of typically largely varying environmental input (workload) per execution. Technically, an enforcement strategy can be formally modeled by a finite state machine (FSM) and the uncertain environment determining the workload by a discrete-time Markov chain. It has been shown in previous work that this formalization allows the formal verification of temporal properties (verification goals) regarding the fulfillment of requirements for a given enforcement strategy.

In this article, we consider the so-far-unsolved problem of design space exploration and automatic synthesis of enforcement automata that maximize a number of deterministic and probabilistic verification goals formulated on a given set of non-functional requirements. For the design space exploration (DSE), an approach based on multi-objective evolutionary algorithms is proposed in which enforcement automata are encoded as genes of states and state transition conditions. For each individual, the verification goals are evaluated using probabilistic model checking. At the end, the DSE returns a set of efficient FSMs in terms of probabilities of meeting given requirements. As experimental results, we present three use cases while considering requirements on latency and energy consumption.

REFERENCES

  1. [1] Anantharajaiah Nidhi, Asfour Tamim, Bader Michael, Bauer Lars, Becker Jürgen, Bischof Simon, Brand Marcel, Bungartz Hans-Joachim, Eichler Christian, Esper Khalil, Falk Joachim, Fasfous Nael, Freiling Felix, Fried Andreas, Gerndt Michael, Glaß Michael, Gonzalez Jeferson, Hannig Frank, Heidorn Christian, Henkel Jörg, Herkersdorf Andreas, Herzog Benedict, John Jophin, Hönig Timo, Hundhausen Felix, Khdr Heba, Langer Tobias, Lenke Oliver, Lesniak Fabian, Lindermayr Alexander, Listl Alexandra, Maier Sebastian, Megow Nicole, Mettler Marcel, Müller-Gritschneder Daniel, Nassar Hassan, Paus Fabian, Pöppl Alexander, Pourmohseni Behnaz, Rabenstein Jonas, Raffeck Phillip, Rapp Martin, Rivas Santiago Narváez, Sagi Mark, Schirrmacher Franziska, Schlichtmann Ulf, Schmaus Florian, Schröder-Preikschat Wolfgang, Schwarzer Tobias, Sikal Mohammed Bakr, Simon Bertrand, Snelting Gregor, Spieck Jan, Srivatsa Akshay, Stechele Walter, Teich Jürgen, Ureña Isaías A. Comprés, Verbauwhede Ingrid, Walter Dominik, Wild Thomas, Wildermann Stefan, Wille Mario, Witterauf Michael, and Zhang Li. 2022. Invasive Computing. FAU University Press. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  2. [2] Baier Christel, Haverkort Boudewijn R., Hermanns Holger, and Katoen Joost-Pieter. 2000. On the logical characterisation of performability properties. In 27th International Colloquium on Automata, Languages and Programming(Lecture Notes in Computer Science, Vol. 1853). Springer, 780792.Google ScholarGoogle Scholar
  3. [3] Baier Christel, Katoen Joost-Pieter, and Hermanns Holger. 1999. Approximate symbolic model checking of continuous-time Markov chains. In 10th International Conference on Concurrency Theory(Lecture Notes in Computer Science, Vol. 1664). Springer, 146161. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  4. [4] Biswas Dwaipayan, Balagopal Vibishna, Shafik Rishad A., Al-Hashimi Bashir M., and Merrett Geoff V.. 2017. Machine learning for run-time energy optimisation in many-core systems. In Design, Automation & Test in Europe Conference & Exhibition, Atienza David and Natale Giorgio Di (Eds.). IEEE, 15881592. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  5. [5] Bloem Roderick, Könighofer Bettina, Könighofer Robert, and Wang Chao. 2015. Shield synthesis: Runtime enforcement for reactive systems. In Tools and Algorithms for the Construction and Analysis of Systems(Lecture Notes in Computer Science, Vol. 9035). Springer, 533548.Google ScholarGoogle Scholar
  6. [6] Bonhoure François, Dallery Yves, and Stewart William J.. 1994. On the use of periodicity properties for the efficient numerical solution of certain Markov chains. Numer. Linear Algeb. Appl. 1, 3 (1994), 265286. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  7. [7] Browne Michael C., Clarke Edmund M., and Grumberg Orna. 1988. Characterizing finite Kripke structures in propositional temporal logic. Theor. Comput. Sci. 59 (1988), 115131. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] Calinescu Radu, Grunske Lars, Kwiatkowska Marta Z., Mirandola Raffaela, and Tamburrelli Giordano. 2011. Dynamic QoS management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37, 3 (2011), 387409.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Calinescu Radu and Kwiatkowska Marta Z.. 2009. Using quantitative analysis to implement autonomic IT systems. In 31st International Conference on Software Engineering. IEEE, 100110.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] Clarke Edmund M. and Emerson E. Allen. 1981. Design and synthesis of synchronization skeletons using branching-time temporal logic. In Logics of Programs, Workshop (Lecture Notes in Computer Science), Kozen Dexter (Ed.), Vol. 131. Springer, 5271. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Das Anup, Kumar Akash, Veeravalli Bharadwaj, Bolchini Cristiana, and Miele Antonio. 2014. Combined DVFS and mapping exploration for lifetime and soft-error susceptibility improvement in MPSoCs. In Design, Automation & Test in Europe Conference & Exhibition, Fettweis Gerhard P. and Nebel Wolfgang (Eds.). European Design and Automation Association, 16. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  12. [12] Deb Kalyanmoy, Agrawal Samir, Pratap Amrit, and Meyarivan T.. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6, 2 (2002), 182197. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. [13] Deng Qingyuan, Meisner David, Bhattacharjee Abhishek, Wenisch Thomas F., and Bianchini Ricardo. 2012. CoScale: Coordinating CPU and memory system DVFS in server systems. In 45th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society, 143154. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] Esper Khalil, Spieck Jan, Sixdenier Pierre-Louis, Wildermann Stefan, and Teich Jürgen. 2023. RAVEN: Reinforcement learning for generating verifiable run-time requirement enforcers for MPSoCs. In 4th Workshop on Next Generation Real-Time Embedded Systems (OASIcs), Terraneo Federico and Cattaneo Daniele (Eds.), Vol. 108. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 7:1–7:16. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  15. [15] Esper Khalil, Wildermann Stefan, and Teich Jürgen. 2021. Enforcement FSMs: Specification and verification of non-functional properties of program executions on MPSoCs. In 19th ACM-IEEE International Conference on Formal Methods and Models for System Design. ACM, 2131. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Esper Khalil, Wildermann Stefan, and Teich Jürgen. 2022. Multi-requirement enforcement of non-functional properties on MPSoCs using enforcement FSMs—A case study. In 3rd Workshop on Next Generation Real-Time Embedded Systems(OASIcs, Vol. 98). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2:1–2:13. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  17. [17] Falcone Yliès, Mounier Laurent, Fernandez Jean-Claude, and Richier Jean-Luc. 2011. Runtime enforcement monitors: Composition, synthesis, and enforcement abilities. Formal Meth. Syst. Des. 38, 3 (2011), 223262.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Gerasimou Simos, Calinescu Radu, and Tamburrelli Giordano. 2018. Synthesis of probabilistic models for quality-of-service software engineering. Autom. Softw. Eng. 25, 4 (2018), 785831. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  19. [19] Gerasimou Simos, Tamburrelli Giordano, and Calinescu Radu. 2015. Search-based synthesis of probabilistic models for quality-of-service software engineering. In 30th IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, 319330. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Hansson Hans and Jonsson Bengt. 1994. A logic for reasoning about time and reliability. Form. Asp. Comput. 6, 5 (1994), 512535.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. [21] Imes Connor, Kim David H. K., Maggio Martina, and Hoffmann Henry. 2015. POET: A portable approach to minimizing energy under soft real-time constraints. In 21st IEEE Real-Time and Embedded Technology and Applications Symposium. IEEE Computer Society, 7586.Google ScholarGoogle ScholarCross RefCross Ref
  22. [22] Iqbal Syed Muhammad Zeeshan, Liang Yuchen, and Grahn Håkan. 2010. ParMiBench—An open-source benchmark for embedded multiprocessor systems. IEEE Comput. Archit. Lett. 9, 2 (2010), 4548. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Jiang Zhihao, Pajic Miroslav, Moarref Salar, Alur Rajeev, and Mangharam Rahul. 2012. Modeling and verification of a dual chamber implantable pacemaker. In 18th International Conference on Tools and Algorithms for the Construction and Analysis of Systems(Lecture Notes in Computer Science, Vol. 7214). Springer, 188203. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Johnson Colin G.. 2007. Genetic programming with fitness based on model checking. In 10th European Conference on Genetic Programming(Lecture Notes in Computer Science, Vol. 4445). Springer, 114124. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  25. [25] Kim David H. K., Imes Connor, and Hoffmann Henry. 2015. Racing and pacing to idle: Theoretical and empirical analysis of energy optimization heuristics. In IEEE 3rd International Conference on Cyber-Physical Systems, Networks, and Applications. IEEE Computer Society, 7885. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. [26] Kwiatkowska Marta Z., Norman Gethin, and Parker David. 2007. Stochastic model checking. In 7th International School on Formal Methods for the Design of Computer, Communication, and Software Systems: Formal Methods for Performance Evaluation(Lecture Notes in Computer Science, Vol. 4486). Springer, 220270. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  27. [27] Kwiatkowska Marta Z., Norman Gethin, and Parker David. 2011. PRISM 4.0: Verification of probabilistic real-time systems. In 23rd International Conference on Computer Aided Verification(Lecture Notes in Computer Science, Vol. 6806). Springer, 585591.Google ScholarGoogle ScholarCross RefCross Ref
  28. [28] Lefticaru Raluca, Ipate Florentin, and Tudose Cristina. 2009. Automated model design using genetic algorithms and model checking. In 4th Balkan Conference in Informatics. IEEE Computer Society, 7984. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Liao Yiyi, Xie Jun, and Geiger Andreas. 2021. KITTI-360: A novel dataset and benchmarks for urban scene understanding in 2D and 3D. CoRR abs/2109.13410 (2021).Google ScholarGoogle Scholar
  30. [30] Ligatti Jay, Bauer Lujo, and Walker David. 2009. Run-time enforcement of nonsafety policies. ACM Trans. Inf. Syst. Secur. 12, 3 (2009), 19:1–19:41.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Lowe David G.. 1999. Object recognition from local scale-invariant features. In 7th IEEE International Conference on Computer Vision. IEEE, 11501157.Google ScholarGoogle ScholarCross RefCross Ref
  32. [32] Lukasiewycz Martin, Glaß Michael, Reimann Felix, and Teich Jürgen. 2011. Opt4J: A modular framework for meta-heuristic optimization. In 13th Annual Conference on Genetic and Evolutionary Computation. 17231730.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Mandal Sumit K., Bhat Ganapati, Doppa Janardhan Rao, Pande Partha Pratim, and Ogras Ümit Y.. 2020. An energy-aware online learning framework for resource management in heterogeneous platforms. ACM Trans. Des. Autom. Electron. Syst. 25, 3 (2020), 28:1–28:26.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Mandal Sumit K., Bhat Ganapati, Patil Chetan Arvind, Doppa Janardhan Rao, Pande Partha Pratim, and Ogras Ümit Y.. 2019. Dynamic resource management of heterogeneous mobile platforms via imitation learning. IEEE Trans. Very Large Scale Integr. Syst. 27, 12 (2019), 28422854. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  35. [35] Mirka Maxime, Sassatelli Gilles, and Gamatié Abdoulaye. 2020. Online learning for dynamic control of OpenMP workloads. In 9th International Conference on Modern Circuits and Systems Technologies. IEEE, 16. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  36. [36] Mukherjee Anway and Chantem Thidapat. 2018. Energy management of applications with varying resource usage on smartphones. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 37, 11 (2018), 24162427. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  37. [37] Muthukaruppan Thannirmalai Somu, Pricopi Mihai, Venkataramani Vanchinathan, Mitra Tulika, and Vishin Sanjay. 2013. Hierarchical power management for asymmetric multi-core in dark silicon era. In 50th Annual Design Automation Conference. ACM, 174:1–174:9. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. [38] Petrucci Vinicius, Loques Orlando, Mossé Daniel, Melhem Rami G., Gazala Neven Abou, and Gobriel Sameh. 2015. Energy-efficient thread assignment optimization for heterogeneous multicore systems. ACM Trans. Embed. Comput. Syst. 14, 1 (2015), 15:1–15:26. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. [39] Pinisetty Srinivas, Roop Partha S., Smyth Steven, Allen Nathan, Tripakis Stavros, and Hanxleden Reinhard von. 2017. Runtime enforcement of cyber-physical systems. ACM Trans. Embed. Comput. Syst. 16, 5s (2017), 178:1–178:25.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. [40] Roloff Sascha, Hannig Frank, and Teich Jürgen. 2019. Modeling and Simulation of Invasive Applications and Architectures. Springer. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  41. [41] Schneider Fred B.. 2000. Enforceable security policies. ACM Trans. Inf. Syst. Secur. 3, 1 (2000), 3050.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. [42] Teich Jürgen, Glaß Michael, Roloff Sascha, Schröder-Preikschat Wolfgang, Snelting Gregor, Weichslgartner Andreas, and Wildermann Stefan. 2016. Language and compilation of parallel programs for *-predictable MPSoC execution using invasive computing. In 10th IEEE International Symposium on Embedded Multicore/Many-core Systems-on-Chip. IEEE Computer Society, 313320.Google ScholarGoogle Scholar
  43. [43] Teich Jürgen, Henkel Jörg, Herkersdorf Andreas, Schmitt-Landsiedel Doris, Schröder-Preikschat Wolfgang, and Snelting Gregor. 2011. Invasive computing: An overview. In Multiprocessor System-on-Chip: Hardware Design and Tool Integration. Springer, 241268.Google ScholarGoogle ScholarCross RefCross Ref
  44. [44] Teich Jürgen, Mahmoody Pouya, Pourmohseni Behnaz, Roloff Sascha, Schröder-Preikschat Wolfgang, and Wildermann Stefan. 2021. Run-time enforcement of non-functional program properties on MPSoCs. In A Journey of Embedded and Cyber-physical Systems. Springer, 125149.Google ScholarGoogle ScholarCross RefCross Ref
  45. [45] Teich Jürgen, Pourmohseni Behnaz, Keszöcze Oliver, Spieck Jan, and Wildermann Stefan. 2020. Run-time enforcement of non-functional application requirements in heterogeneous many-core systems. In 25th Asia and South Pacific Design Automation Conference. IEEE, 629636.Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. [46] Tsarev Fedor and Egorov Kirill. 2011. Finite state machine induction using genetic algorithm based on testing and model checking. In 13th Annual Genetic and Evolutionary Computation Conference. ACM, 759762. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. [47] Zhou Junlong, Sun Jin, Zhou Xiumin, Wei Tongquan, Chen Mingsong, Hu Shiyan, and Hu Xiaobo Sharon. 2019. Resource management for improving soft-error and lifetime reliability of real-time MPSoCs. IEEE Trans. Comput. Aid. Des. Integr. Circ. Syst. 38, 12 (2019), 22152228. DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automatic Synthesis of FSMs for Enforcing Non-functional Requirements on MPSoCs Using Multi-objective Evolutionary Algorithms

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader

                Full Text

                View this article in Full Text.

                View Full Text