Behavioral Specification Based Runtime Monitors for OSGi Services

  • Jan Olaf Blech
  • Yliès Falcone
  • Harald Rueß
  • Bernhard Schätz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7609)

Abstract

Abstract constraint specifications – such as interoperability contracts – of the behavior of a system are frequently stated as requirements during early design phases. During the development process, these abstract specifications get refined until one reaches a deployable implementation. Especially in systems with components being dynamically added or replaced, it is critical that the constraints stated are met by the running system. The size of abstract constraint specifications is typically very small compared to the final implementation.

In this paper, we sketch a process, where abstract constraint specifications are used as a basis for runtime monitors and checks. These monitors and checks ensure that in cases of deviations from the original specification, the system takes compensating actions such as turning the system into a safe state. We particularly focus on systems where components can be exchanged, added or removed during runtime. We discuss a concrete application scenario: The usage of specification-based monitors for OSGi-based services in the domain of home automation.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.: Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 68–84. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  2. 2.
    Alliance, O.: Osgi service platform core specification, Version 4.3 (2011)Google Scholar
  3. 3.
    Tchinda, H.A.M., Stouls, N., Ponge, J.: Spécification et substitution de services osgi. Technical report, Inria (2011), http://hal.inria.fr/inria-00619233
  4. 4.
    Arbab, F.: Abstract behavior types: a foundation model for components and their composition. Sci. Comput. Program 55, 3–52 (2005)MathSciNetMATHCrossRefGoogle Scholar
  5. 5.
    Johnsen, E.B., Hähnle, R., Schäfer, J., Schlatte, R., Steffen, M.: ABS: A Core Language for Abstract Behavioral Specification. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) FMCO 2010. LNCS, vol. 6957, pp. 142–164. Springer, Heidelberg (2011)Google Scholar
  6. 6.
    Lee, E.A., Xiong, Y.: A behavioral type system and its application in ptolemy ii. Formal Asp. Comput. 16, 210–237 (2004)MATHCrossRefGoogle Scholar
  7. 7.
    de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC / SIGSOFT FSE, pp. 109–120 (2001)Google Scholar
  8. 8.
    Chalin, P., Kiniry, J.R., Leavens, G.T., Poll, E.: Beyond Assertions: Advanced Specification and Verification with JML and ESC/Java2. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 342–363. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Colaço, J.L., Pouzet, M.: Clocks as First Class Abstract Types. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 134–155. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Hallé, S., Bultan, T., Hughes, G., Alkhalaf, M., Villemaire, R.: Runtime verification of web service interface contracts. IEEE Computer 43, 59–66 (2010)CrossRefGoogle Scholar
  11. 11.
    Cao, T.D., Phan-Quang, T.T., Félix, P., Castanet, R.: Automated runtime verification for web services. In: ICWS, pp. 76–82. IEEE Computer Society (2010)Google Scholar
  12. 12.
    Gan, Y., Chechik, M., Nejati, S., Bennett, J., O’Farrell, B., Waterhouse, J.: Runtime monitoring of web service conversations. In: Proceedings of the 2007 Conference of the Center for Advanced Studies on Collaborative Research. CASCON 2007, pp. 42–57. ACM, New York (2007)CrossRefGoogle Scholar
  13. 13.
    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.) SEFM 2011. LNCS, vol. 7041, pp. 204–220. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Sifakis, J.: A framework for component-based construction – Extended Abstract. In: Aichernig, B.K., Beckert, B. (eds.) SEFM, pp. 293–300. IEEE Computer Society (2005)Google Scholar
  15. 15.
    Schneider, F.B.: Enforceable security policies. ACM Trans. Inf. Syst. Secur. 3, 30–50 (2000)CrossRefGoogle Scholar
  16. 16.
    Ligatti, J., Bauer, L., Walker, D.: Run-time enforcement of nonsafety policies. ACM Trans. Inf. Syst. Secur. 12 (2009)Google Scholar
  17. 17.
    Falcone, Y., Fernandez, J.C., Mounier, L.: What can you verify and enforce at runtime? STTT 14, 349–382 (2012)CrossRefGoogle Scholar
  18. 18.
    Falcone, Y.: You Should Better Enforce Than Verify. In: Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G., Roşu, G., Sokolsky, O., Tillmann, N. (eds.) RV 2010. LNCS, vol. 6418, pp. 89–105. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  19. 19.
    Falcone, Y., Mounier, L., Fernandez, J.C., Richier, J.L.: Runtime enforcement monitors: composition, synthesis, and enforcement abilities. Formal Methods in System Design 38, 223–262 (2011)MATHCrossRefGoogle Scholar
  20. 20.
    Blech, J.O., Schätz, B.: Towards a formal foundation of behavioral types for UML state-machines. In: Proceedings of the 5th International Workshop UML and Formal Methods (accepted for publication, to appear, 2012) Google Scholar
  21. 21.
    Eisner, C., Fisman, D.: A Practical Introduction to PSL. Springer (2006)Google Scholar
  22. 22.
    Bauer, A., Leucker, M.: The Theory and Practice of SALT. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 13–40. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  23. 23.
    Hamlen, K.W., Morrisett, G., Schneider, F.B.: Certified in-lined reference monitoring on .NET. In: Sreedhar, V.C., Zdancewic, S. (eds.) PLAS, pp. 7–16. ACM (2006)Google Scholar
  24. 24.
    Blech, J.O., Périn, M.: Generating invariant-based certificates for embedded systems. ACM Transactions on Embedded Computing Systems (accepted for publication, 2012)Google Scholar
  25. 25.
    Object Management Group: Unified modeling language (uml), Version 2.0 (August 2005)Google Scholar
  26. 26.
    CEA LIST: Papyrus uml (2012), http://www.papyrusuml.org
  27. 27.
    Blech, J.O., Mou, D., Ratiu, D.: Reusing test-cases on different levels of abstraction in a model based development tool. In: Petrenko, A.K., Schlingloff, H. (eds.) MBT. EPTCS, vol. 80, pp. 13–27 (2012)Google Scholar
  28. 28.
    Koss, D., Sellmayr, F., Bauereiss, S., Bytschkow, D., Gupta, P., Schätz, B.: Establishing a smart grid node architecture and demonstrator in an office environment using the soa approach. In: Proceedings of the First International ICSE Workshop on Software Engineering Challenges for the Smart Grid. IEEE (2012)Google Scholar
  29. 29.
    Cheng, C.-H., Rueß, H., Knoll, A., Buckl, C.: Synthesis of Fault-Tolerant Embedded Systems Using Games: From Theory to Practice. In: Jhala, R., Schmidt, D. (eds.) VMCAI 2011. LNCS, vol. 6538, pp. 118–133. Springer, Heidelberg (2011)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Jan Olaf Blech
    • 1
  • Yliès Falcone
    • 2
  • Harald Rueß
    • 1
  • Bernhard Schätz
    • 1
  1. 1.fortiss GmbHMunichGermany
  2. 2.Laboratoire d’Informatique de GrenobleUniversité Grenoble IGrenobleFrance

Personalised recommendations