Abstract
We introduce a novel framework for runtime enforcement of safe executions in component-based systems with multi-party interactions modeled using BIP. Our technique frames runtime enforcement as a sequential decision making problem and presents two alternatives for learning optimal strategies that ensure fairness between correct traces. We target both finite and infinite state-spaces. In the finite case, we guarantee that the system avoids bad-states by casting the learning process as a one of determining a fixed point solution that converges to the optimal strategy. Though successful, this technique fails to generalize to the infinite case due to need for building a dictionary, which quantifies the performance of each state-interaction pair. As such, we further contribute by generalizing our framework to support the infinite setting. Here, we adapt ideas from function approximators and machine learning to encode each state-interaction pairs’ performance. In essence, we autonomously learn to abstract similar performing states in a relevant continuous space through the usage of deep learning. We assess our method empirically by presenting a fully implemented tool, so called RERL. Particularly, we use RERL to: (1) enforce deadlock freedom on a dining philosophers benchmark, and (2) allow for pair-wise synchronized robots to autonomously achieve consensus within a cooperative multi-agent setting.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In practice, a bias term is added to increase the expressiveness of the functions learnt by the NN.
- 2.
Note that \(\mathbb {P}\) is indexed by \({\varvec{\varTheta }}\) as its output depends on \({\varvec{\varTheta }}\).
- 3.
One epoch consists of one full training cycle on the training set.
- 4.
We use fine-tuning technique to select these parameters.
References
Basu, A., Bensalem, S., Bozga, M., Combaz, J., Jaber, M., Nguyen, T., Sifakis, J.: Rigorous component-based system design using the BIP framework. IEEE Softw. 28(3), 41–48 (2011)
Bensalem, S., Bozga, M., Nguyen, T.-H., Sifakis, J.: D-Finder: a tool for compositional deadlock detection and verification. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 614–619. Springer, Heidelberg (2009). doi:10.1007/978-3-642-02658-4_45
Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: A framework for automated distributed implementation of component-based models. Distrib. Comput. 25(5), 383–409 (2012)
Charafeddine, H., El-Harake, K., Falcone, Y., Jaber, M.: Runtime enforcement for component-based systems. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, Spain, pp. 1789–1796, 13–17 April 2015
Clarke, E.M.: My 27-year quest to overcome the state explosion problem. In: Proceedings of the 24th Annual IEEE Symposium on Logic in Computer Science, LICS 2009, Los Angeles, CA, USA, p. 3, 11–14 August 2009
Clarke, E.M., Klieber, W., Novácek, M., Zuliani, P.: Model checking and the state explosion problem. In: Tools for Practical Software Verification, LASER, International Summer School, Elba Island, Italy, Revised Tutorial, pp. 1–30 (2011)
Falcone, Y., Jaber, M., Nguyen, T., Bozga, M., Bensalem, S.: Runtime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentation. Softw. Syst. Model. 14(1), 173–199 (2015)
Falcone, Y., Zuck, L.D.: Runtime verification: the application perspective. STTT 17(2), 121–123 (2015)
Flanagan, C., Qadeer, S.: Predicate abstraction for software verification. In: Conference Record of POPL 2002: The 29th Symposium on Principles of Programming Languages, Portland, OR, USA, pp. 191–202, 16–18 January 2002
Huang, C., Peled, D.A., Schewe, S., Wang, F.: A game-theoretic foundation for the maximum software resilience against dense errors. IEEE Trans. Softw. Eng. 42(7), 605–622 (2016)
Katz, G., Peled, D.A.: Synthesizing, correcting and improving code, using model checking-based genetic programming. In: Hardware and Software: Verification and Testing - Proceedings of the 9th International Haifa Verification Conference, HVC 2013, Haifa, Israel, pp. 246–261, 5–7 November 2013
Lin, L.J.: Reinforcement Learning for Robots Using Neural Networks. Ph.D. thesis, Pittsburgh, PA, USA (1992). uMI Order No. GAX93-22750
Peled, D.: Automatic synthesis of code using genetic programming. In: Margaria, T., Steffen, B. (eds.) ISoLA 2016, Part I. LNCS, vol. 9952, pp. 182–187. Springer, Cham (2016). doi:10.1007/978-3-319-47166-2_12
Peled, D.: Using genetic programming for software reliability. In: Falcone, Y., Sánchez, C. (eds.) RV 2016. LNCS, vol. 10012, pp. 116–131. Springer, Cham (2016). doi:10.1007/978-3-319-46982-9_8
Pinisetty, S., Preoteasa, V., Tripakis, S., Jéron, T., Falcone, Y., Marchand, H.: Predictive runtime enforcement. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, Pisa, Italy, pp. 1628–1633, 4–8 April 2016
Pinisetty, S., Tripakis, S.: Compositional runtime enforcement. In: Rayadurgam, S., Tkachuk, O. (eds.) NFM 2016. LNCS, vol. 9690, pp. 82–99. Springer, Cham (2016). doi:10.1007/978-3-319-40648-0_7
Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, Texas, USA, pp. 179–190, 11–13 January 1989
Pnueli, A., Rosner, R.: Distributed reactive systems are hard to synthesize. In: 31st Annual Symposium on Foundations of Computer Science, St. Louis, Missouri, USA, vol. II, pp. 746–757, 22–24 October 1990
Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137, pp. 337–351. Springer, Heidelberg (1982). doi:10.1007/3-540-11494-7_22
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Bou-Ammar, H., Jaber, M., Nassar, M. (2017). Correctness-by-Learning of Infinite-State Component-Based Systems. In: Proença, J., Lumpe, M. (eds) Formal Aspects of Component Software. FACS 2017. Lecture Notes in Computer Science(), vol 10487. Springer, Cham. https://doi.org/10.1007/978-3-319-68034-7_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-68034-7_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-68033-0
Online ISBN: 978-3-319-68034-7
eBook Packages: Computer ScienceComputer Science (R0)