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.
Keywords
- Regular Expression
- Monitor State
- Behavioral Type
- Behavioral Description
- Home Automation
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, access via your institution.
Buying options
Preview
Unable to display preview. Download preview PDF.
References
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)
Alliance, O.: Osgi service platform core specification, Version 4.3 (2011)
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
Arbab, F.: Abstract behavior types: a foundation model for components and their composition. Sci. Comput. Program 55, 3–52 (2005)
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)
Lee, E.A., Xiong, Y.: A behavioral type system and its application in ptolemy ii. Formal Asp. Comput. 16, 210–237 (2004)
de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC / SIGSOFT FSE, pp. 109–120 (2001)
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)
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)
Hallé, S., Bultan, T., Hughes, G., Alkhalaf, M., Villemaire, R.: Runtime verification of web service interface contracts. IEEE Computer 43, 59–66 (2010)
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)
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)
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)
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)
Schneider, F.B.: Enforceable security policies. ACM Trans. Inf. Syst. Secur. 3, 30–50 (2000)
Ligatti, J., Bauer, L., Walker, D.: Run-time enforcement of nonsafety policies. ACM Trans. Inf. Syst. Secur. 12 (2009)
Falcone, Y., Fernandez, J.C., Mounier, L.: What can you verify and enforce at runtime? STTT 14, 349–382 (2012)
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)
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)
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)
Eisner, C., Fisman, D.: A Practical Introduction to PSL. Springer (2006)
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)
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)
Blech, J.O., Périn, M.: Generating invariant-based certificates for embedded systems. ACM Transactions on Embedded Computing Systems (accepted for publication, 2012)
Object Management Group: Unified modeling language (uml), Version 2.0 (August 2005)
CEA LIST: Papyrus uml (2012), http://www.papyrusuml.org
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Blech, J.O., Falcone, Y., Rueß, H., Schätz, B. (2012). Behavioral Specification Based Runtime Monitors for OSGi Services. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change. ISoLA 2012. Lecture Notes in Computer Science, vol 7609. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34026-0_30
Download citation
DOI: https://doi.org/10.1007/978-3-642-34026-0_30
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34025-3
Online ISBN: 978-3-642-34026-0
eBook Packages: Computer ScienceComputer Science (R0)