Advertisement

Software & Systems Modeling

, Volume 14, Issue 1, pp 173–199 | Cite as

Runtime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentation

  • Yliès Falcone
  • Mohamad Jaber
  • Thanh-Hung Nguyen
  • Marius Bozga
  • Saddek Bensalem
Special Section Paper

Abstract

Verification of component-based systems still suffers from limitations such as state space explosion since a large number of different components may interact in a heterogeneous environment. These limitations entail the need for complementary verification methods such as runtime verification. Runtime verification is a dynamic analysis technique and is prone to scalability. In this paper, we integrate runtime verification into the BIP (Behavior, Interaction and Priority) framework. BIP is a powerful and expressive component-based framework for the formal construction of heterogeneous systems. Our method augments BIP systems with monitors to check specifications at runtime. This method has been implemented in RV-BIP, a prototype tool that we used to validate the whole approach on a robotic application.

Keywords

Runtime verification Component-based systems Instrumentation Formal methods 

Notes

Acknowledgments

The authors would like to warmly thank the anonymous reviewers for their insightful remarks.

References

  1. 1.
    Bliudze, S., Sifakis, J.: A notion of glue expressiveness for component-based systems. In: van Breugel, F., Chechik, M. (eds.) Proceedings of the 19th International Conference on Concurrency Theory, CONCUR: Volume 5201 of Lecture Notes in Computer Science, pp. 508–522. Springer, New York (2008)Google Scholar
  2. 2.
    Runtime Verification. http://www.runtime-verification.org (2001–2012)
  3. 3.
    Bauer, A., Leucker, M., Schallhart, C.: Comparing LTL semantics for runtime verification. J. Logic Comput. 20, 651–674 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Falcone, Y., Fernandez, J.C., Mounier, L.: Runtime verification of safety-progress properties. In: Bensalem, S., Peled, D. (eds.) Proceedings of the 9th International Workshop on Runtime Verification, RV: Selected Papers. Volume 5779 of LNCS, pp. 40–59. Springer, Berlin (2009)Google Scholar
  5. 5.
    Falcone, Y., Jaber, M., Nguyen, T.H., Bozga, M., Bensalem, S.: Runtime verification of component-based systems. In: Barthe, G., Pardo, A., Schneider, G. (eds.) Proceedings of the 9th International Conference on Software Engineering and Formal Methods, SEFM: Volume 7041 of LNCS, pp. 204–220. Springer, Berlin (2011)Google Scholar
  6. 6.
    Francalanza, A., Gauci, A., Pace, G.J.: Distributed system contract monitoring. In: Pimentel, E., Valero, V. (eds.) Proceedings of the Fifth Workshop on Formal Languages and Analysis of Contract-Oriented Software (FLACOS 2011). Volume 68 of EPTCS, pp. 23–37 (2011)Google Scholar
  7. 7.
    Bauer, A.K., Falcone, Y.: Decentralised LTL monitoring. In: Giannakopoulou, D., Méry, D. (eds.) Proceedings of the 18th International Symposium on Formal Methods, FM: Volume 7436 of LNCS, pp. 85–100. Springer, Berlin (2012)Google Scholar
  8. 8.
    Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: From high-level component-based models to distributed implementations. In Carloni, L.P., Tripakis, S. (eds.) Proceedings of the 10th International conference on Embedded software (EMSOFT 2010), pp. 209–218. ACM (2010)Google Scholar
  9. 9.
    Bozga, M., Jaber, M., Sifakis, J.: Source-to-source architecture transformation for performance optimization in BIP. In Carloni, L., Thiele, L. (eds.) Proceedings of the IEEE 4th International Symposium on Industrial Embedded Systems (SIES 2009), pp. 152–160. IEEE (2009)Google Scholar
  10. 10.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in BIP. In: Pandya, P., Hung, D.V. (eds.) Proceedings of the 4th IEEE International Conference on Software Engineering and Formal Methods (SEFM 2006), pp. 3–12. IEEE Computer Society (2006)Google Scholar
  11. 11.
    Bliudze, S., Sifakis, J.: The algebra of connectors—structuring interaction in BIP. IEEE Trans. Comput. 57, 1315–1330 (2008)CrossRefMathSciNetGoogle Scholar
  12. 12.
    d’Amorim, M., Roşu, G.: Efficient monitoring of \(\omega \)-languages. In: Etessami, K., Rajamani, S.K. (eds.) Proceedings of 17th International Conference on Computer-aided Verification (CAV’05). Volume 3576 of LNCS, pp. 364–378. Springer, Berlin (2005)Google Scholar
  13. 13.
    Stolz, V.: Temporal assertions with parametrised propositions. In: Sokolsky, O., Tasiran, S. (eds.) 7th International Workshop on Runtime Verification, RV: Revised Selected Papers. Volume 4839 of LNCS, pp. 176–187. Springer, Berlin (2007)Google Scholar
  14. 14.
    Barringer, H., Rydeheard, D., Havelund, K.: Rule systems for run-time monitoring: from EAGLE to RuleR. J. Logic Comput. 20, 675–706 (2010)CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    Meredith, P., Jin, D., Griffith, D., Chen, F., Roşu, G.: An overview of the MOP runtime verification framework. Int. J. Softw. Tools Technol. Transf. (STTT) (2011), 1–41. doi: 10.1007/s10009-011-0198-6
  16. 16.
    Pnueli, A., Zaks, A.: PSL model checking and run-time verification via testers. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) Proceedings of the 14th International Symposium on Formal Methods, FM: Volume 4085 of LNCS, pp. 573–586. Springer, Berlin (2006)Google Scholar
  17. 17.
    Falcone, Y., Fernandez, J.C., Mounier, L.: What can you verify and enforce at runtime? Softw. Tools Technol. Transf. 14, 349–382 (2012)CrossRefGoogle Scholar
  18. 18.
    Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20, 14 (2011)CrossRefGoogle Scholar
  19. 19.
    Havelund, K.: Runtime verification of C programs. In: Suzuki, K., Higashino, T., Ulrich, A., Hasegawa, T. (eds.) Proceedings of the 20th IFIP TC 6/WG 6.1 International Conference on Testing of Software and Communicating Systems, TestCom: and 8th International Workshop on Formal Aspects of TESting (TestCom/FATES 2008). Volume 5047 of LNCS, pp. 7–22. Springer, Berlin (2008)Google Scholar
  20. 20.
    Fleury, S., Herrb, M., Chatila, R.: GenoM: A tool for the specification and the implementation of operating modules in a distributed robot architecture. In: Electrical, I., Engineer, E. (eds.) Proceedings of Intelligent Robots and Systems (IROS 97), pp. 842–848. IEEE (1997)Google Scholar
  21. 21.
    Bensalem, S., Gallien, M., Ingrand, F., Kahloul, I., Nguyen, T.H.: Toward a more dependable software architecture for autonomous robots. IEEE Robot. Autom. Mag. Spec. Issue Soft. Eng. Robot. 16, 67–77 (2008)Google Scholar
  22. 22.
    Umrigar, Z.D., Pitchumani, V.: Formal verification of a real-time hardware design. In: Radke, C.E. (ed.) Proceedings of the 20th Design Automation Conference (DAC ’83), pp. 221–227. IEEE Press, Piscataway (1983)Google Scholar
  23. 23.
    Queille, J.P., Sifakis, J.: Specification and verification of concurrent systems in CESAR. In Dezani-Ciancaglini, M., Montanari, U. (eds.) Proceedings of the 5th International Symposium on Programming. Volume 137 of LNCS, pp. 337–351 (1982)Google Scholar
  24. 24.
    Clarke, E.M., Emerson, E.A.: Synthesis of synchronisation skeletons for branching time temporal logic. In: Kozen, D. (ed.) Logic of Programs: Workshop. Volume 131 of LNCS (1981)Google Scholar
  25. 25.
    Clarke, E.M., Long, D.E., McMillan, K.L.: Compositional model checking. In: Parikh, R. (ed.) Proceedings of the Fourth Annual Symposium on Logic in Computer Science, pp. 353–362. IEEE Computer Society Press (1989)Google Scholar
  26. 26.
    Chang, E., Manna, Z., Pnueli, A.: Compositional verification of real-time systems. In: Abramsky, S., (ed.) Symposium on Logic in Computer Science, IEEE (1994)Google Scholar
  27. 27.
    Long, D.E.: Model Checking, Abstraction, and Compositional Reasoning. Ph.D. thesis, Carnegie Mellon (1993)Google Scholar
  28. 28.
    Bensalem, S., Bozga, M., Nguyen, T.H., Sifakis, J.: Compositional verification for component-based systems and application. Softw. J. Spec. Issue Autom. Compos. Verif. 4, 181–193 (2010)Google Scholar
  29. 29.
    Bensalem, S., Bozga, M., Legay, A., Nguyen, T.H., Sifakis, J., Yan, R.: Incremental component-based construction and verification using invariants. In: Bloem, R., Sharygina, N. (eds.) Proceedings of 10th International Conference on Formal Methods in Computer-Aided Design (FMCAD 2010), pp. 257–256. IEEE (2010)Google Scholar
  30. 30.
    Meyer, B.: Applying “design by contract”. Computer 25, 40–51 (1992)CrossRefGoogle Scholar
  31. 31.
    Abadi, M., Lamport, L.: Composing specifications. ACM Trans. Program. Lang. Syst. 15, 73–132 (1993)CrossRefGoogle Scholar
  32. 32.
    Hafaiedh, I.B., Graf, S., Quinton, S.: Reasoning about safety and progress using contracts. In Dong, J.S., Zhu, H., eds.: Proceedings of the 12th International Conference on Formal Engineering Methods, ICFEM: Volume 6447 of LNCS, pp. 436–451. Springer, Berlin (2010)Google Scholar
  33. 33.
    Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Steffen, B., Levi, G. (eds.) Proceedings of the 5th International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI: Volume 2937 of LNCS, pp. 44–57. Springer, Berlin (2004)Google Scholar
  34. 34.
    Barringer, H., Groce, A., Havelund, K., Smith, M.: Formal analysis of log files. J. Aerospace Comput. Inf. Commun (2010)Google Scholar
  35. 35.
    Barringer, H., Havelund, K.: TraceContract: A Scala DSL for trace analysis. In: Butler, M., Schulte, W. (eds.) Proceedings of the 17th International Symposium on Formal Methods, FM: Volume 6664 of LNCS, pp. 57–72. Springer, Berlin (2011)Google Scholar
  36. 36.
    Bacchus, F., Kabanza, F.: Planning for temporally extended goals. In: Clancey, W.J., Weld, D.S. (eds.) AAAI/IAAI, vol. 2, AAAI Press/The MIT Press, pp. 1215–1222 (1996)Google Scholar
  37. 37.
    Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. SIGPLAN Not. 40, 345–364 (2005)CrossRefGoogle Scholar
  38. 38.
    Stolz, V., Bodden, E.: Temporal assertions using AspectJ. In: Havelund, K., Núñez, M., Rosu, G., Wolff, B. (eds.) Proceedings of the First combinned International Workshops on Formal Approaches to Software Testing and Runtime Verification (FATES/RV 06). Volume 4262 of LNCS, pp. 109–124. Springer, Berlin (2006)Google Scholar
  39. 39.
    Colombo, C., Pace, G.J., Schneider, G.: LARVA – safer monitoring of real-time Java programs (tool paper). In: Hung, D.V., Krishnan, P. (eds.) Proceedings of the 7th IEEE International Conference on Software Engineering and Formal Methods (SEFM 2009), pp. 33–37. IEEE Computer Society (2009)Google Scholar
  40. 40.
    Colombo, C., Gauci, A., Pace, G.J.: LarvaStat: Monitoring of statistical properties. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G.J., Rosu, G., Sokolsky, O., Tillmann, N. (eds.) Proceedings of the 1st International Conference on Runtime Verification (RV 10). Volume 6418 of LNCS, pp. 480–484. Springer, Berlin (2010) Google Scholar
  41. 41.
    Rosu, G., Chen, F.: Semantics and algorithms for parametric monitoring. Logic. Methods Comput. Sci. 8 (2012)Google Scholar
  42. 42.
    Kähkönen, K., Lampinen, J., Heljanko, K., Niemelä, I.: The LIME interface specification language and runtime monitoring tool. In: Bensalem, S., Peled, D. (eds.) Proceedings of the 9th International Workshop on Runtime Verification, RV: Selected Papers. Volume 5779 of LNCS, pp. 93–100. Springer, Belrin (2009)Google Scholar
  43. 43.
    Dormoy, J., Kouchnarenko, O., Lanoix, A.: Using temporal logic for dynamic reconfigurations of components. In: Barbosa, L.S., Lumpe, M. (eds.) Proceedings of the 7th International Workshop on Formal Aspects of Component Software, FACS: Volume 6921 of LNCS, pp. 200–217. Springer, Berlin (2010)Google Scholar
  44. 44.
    Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: Automated conflict-free distributed implementation of component-based models. In: Fummi, F., Hsieh, H. (eds.) Proceedings of the IEEE 5th International Symposium on Industrial Embedded Systems (SIES 2010), pp. 108–117. IEEE (2010)Google Scholar
  45. 45.
    Bodden, E., Lam, P., Hendren, L.J.: Clara: A framework for partially evaluating finite-state runtime monitors ahead of time. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G.J., Rosu, G., Sokolsky, O., Tillmann, N. (eds.) Proceedings of the 1st International Conference on Runtime Verification (RV 10). Volume 6418 of LNCS, pp. 183–197. Springer, Berlin (2010)Google Scholar
  46. 46.
    Bozga, M., Jaber, M., Maris, N., Sifakis., J.: Modeling dynamic architectures using Dy-BIP. In: Gschwind, T., Paoli, F.D., Gruhn, V., Book, M. (eds.) Proceedings of the 11th International Conference on Software Composition, SC: Volume 7306 of LNCS, pp. 1–16. Springer, Berlin (2012)Google Scholar
  47. 47.
    Falcone, Y.: You should better enforce than verify. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G.J., Rosu, G., Sokolsky, O., Tillmann, N. (eds.) Proceedings of the 1st International Conference on Runtime Verification (RV 10). Volume 6418 of LNCS, pp. 89–105. Springer, Berlin (2010)Google Scholar
  48. 48.
    Milner, R.: Communication and concurrency. Prentice Hall International (UK) Ltd., Hertfordshire (1995)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Yliès Falcone
    • 1
  • Mohamad Jaber
    • 2
  • Thanh-Hung Nguyen
    • 3
  • Marius Bozga
    • 4
  • Saddek Bensalem
    • 4
  1. 1.Laboratoire d’Informatique de GrenobleUJF, University of Grenoble IGrenobleFrance
  2. 2.American University of BeirutBeirutLebanon
  3. 3.Hanoi University of Sciences and TechnologyHanoiVietnam
  4. 4.Verimag LaboratoryUJF, University of Grenoble IGrenobleFrance

Personalised recommendations