Abstract
Operation contracts are a popular description means in behavioral system modeling. Pre- and postconditions are used to describe the effects on model elements (such as attributes, links, etc.) that are enforced by an operation. However, it is usually not clearly stated what model elements may be affected by an operation call and what shall remain unchanged—although this information is essential in order to obtain a comprehensive description. A promising solution to this so-called frame problem is to define additional frame conditions. However, properly defining frame conditions which complete the model description in the intended way can be a non-trivial, tedious, and error-prone task. While in general there are several tools and methods for obtaining formal model descriptions and also a broad variety of approaches for the validation and verification of the generated models, corresponding methods for frame conditions have not received significant attention so far. In this work, we provide a comprehensive overview of recently proposed approaches that close this gap and support the designer in generating and validating frame conditions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
This chapter is an extension of the work previously published at [25].
- 2.
Note that the postconditions might also refer to the pre-state of the operation (\(\sigma _1\)) using the suffix @pre as, e.g., for Turnstile::goThrough() in the running example.
- 3.
- 4.
In addition to limiting the sequence length, all these approaches require further problem bounds in order to limit the search space, i.e., they need to be provided with a fixed number or at least a range of objects that shall be instantiated as well as a finite domain for all data types.
- 5.
Note that, in the following, an abstract description is provided which is sufficient for the purposes of this work. For a more detailed treatment of the respective formulation, we refer to [30].
- 6.
Note that the solver will always conclude at some point due to the finite search space.
References
Ahrendt, W., et al.: The KeY tool. Softw. Syst. Model. 4(1), 32–54 (2005)
Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: a challenging model transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-75209-7_30
Beckert, B., Schmitt, P.H.: Program verification using change information. In: SEFM, p. 91 (2003)
Borgida, A., Mylopoulos, J., Reiter, R.: On the frame problem in procedure specifications. IEEE Trans. Softw. Eng. 21, 785–798 (1995)
Brucker, A.D., Tuong, F., Wolff, B.: Featherweight OCL: a proposal for a machine-checked formal semantics for OCL 2.5. Archive of Formal Proofs (2014)
Brucker, A.D., Wolff, B.: HOL-OCL: a formal proof environment for uml/ocl. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 97–100. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78743-3_8
Cabot, J.: Ambiguity issues in OCL postconditions. In: OCL Workshop, pp. 194–204 (2006)
Cabot, J.: From declarative to imperative UML/OCL operation specifications. In: Parent, C., Schewe, K.-D., Storey, V.C., Thalheim, B. (eds.) ER 2007. LNCS, vol. 4801, pp. 198–213. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-75563-0_15
Cabot, J., Clarisó, R., Riera, D.: Verification of UML/OCL class diagrams using constraint programming. In: ICST, pp. 73–80 (2008)
Cabot, J., Clarisó, R., Riera, D.: Verifying UML/OCL operation contracts. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 40–55. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00255-7_4
Choppy, C., Klai, K., Zidani, H.: Formal verification of UML state diagrams: a Petri net based approach. Softw. Eng. Notes 36(1), 1–8 (2011)
de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24
Demuth, B., Wilke, C.: Model and object verification by using dresden OCL. In: IIT-TP, p. 81. Technical University (2009)
de Dios, M.A.G., Dania, C., Basin, D., Clavel, M.: Model-driven development of a secure ehealth application. In: Heisel, M., Joosen, W., Lopez, J., Martinelli, F. (eds.) Engineering Secure Future Internet Services and Systems. LNCS, vol. 8431, pp. 97–118. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07452-8_4
Gogolla, M., Büttner, F., Richters, M.: USE: a UML-based specification environment for validating UML and OCL. Sci. Comput. Program. 69(1–3), 27–34 (2007)
Gogolla, M., Hamann, L., Hilken, F., Kuhlmann, M., France, R.B.: From application models to filmstrip models: an approach to automatic validation of model dynamics. In: Modellierung, pp. 273–288 (2014)
Gogolla, M., Kuhlmann, M., Hamann, L.: Consistency, independence and consequences in UML and OCL models. In: Dubois, C. (ed.) TAP 2009. LNCS, vol. 5668, pp. 90–104. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02949-3_8
Hilken, F., Niemann, P., Gogolla, M., Wille, R.: Filmstripping and unrolling: a comparison of verification approaches for UML and OCL behavioral models. In: Seidl, M., Tillmann, N. (eds.) TAP 2014. LNCS, vol. 8570, pp. 99–116. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-09099-3_8
Kosiuczenko, P.: Specification of invariability in OCL. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MODELS 2006. LNCS, vol. 4199, pp. 676–691. Springer, Heidelberg (2006). https://doi.org/10.1007/11880240_47
Kosiuczenko, P.: Specification of invariability in OCL - specifying invariable system parts and views. Softw. Syst. Model. 12(2), 415–434 (2013)
Leino, K.R.M.: This is Boogie 2. Technical report (2008). http://research.microsoft.com/apps/pubs/default.aspx?id=147643
Meyer, B.: Applying design by contract. IEEE Comput. 25(10), 40–51 (1992)
Niemann, P., Hilken, F., Gogolla, M., Wille, R.: Assisted generation of frame conditions for formal models. In: DATE, pp. 309–312 (2015)
Niemann, P., Hilken, F., Gogolla, M., Wille, R.: Extracting frame conditions from operation contracts. In: MoDELS, pp. 266–275 (2015)
Niemann, P., Przigoda, N., Wille, R., Drechsler, R.: Analyzing frame conditions in UML/OCL models - consistency equivalence and independence. In: MODELSWARD, pp. 139–151 (2018)
OMG - Object Management Group: Object Constraint Language (2014). http://www.omg.org/spec/OCL/2.4. Version 2.4, February 2014
Przigoda, N., Filho, J.G., Niemann, P., Wille, R., Drechsler, R.: Frame conditions in symbolic representations of UML/OCL models. In: MEMOCODE, pp. 65–70 (2016)
Przigoda, N., Hilken, C., Wille, R., Peleska, J., Drechsler, R.: Checking concurrent behavior in UML/OCL models. In: MoDELS, pp. 176–185 (2015)
Przigoda, N., Niemann, P., Filho, J.G., Wille, R., Drechsler, R.: Frame conditions in the automatic validation and verification of UML/OCL models: a symbolic formulation of modifies only statements. Comput. Lang. Syst. Struct. (2017). https://doi.org/10.1016/j.cl.2017.11.002
Przigoda, N., Soeken, M., Wille, R., Drechsler, R.: Verifying the structure and behavior in UML/OCL models using satisfiability solvers. IET Cyber-Phys. Syst.: Theory Appl. 1(1), 49–59 (2016). https://doi.org/10.1049/iet-cps.2016.0022
Przigoda, N., Stoppe, J., Seiter, J., Wille, R., Drechsler, R.: Verification-driven design across abstraction levels: a case study. In: DSD, pp. 375–382. IEEE Computer Society (2015)
Przigoda, N., Wille, R., Drechsler, R.: Ground setting properties for an efficient translation of OCL in SMT-based model finding. In: MoDELS, pp. 261–271 (2016)
Rumbaugh, J., Jacobson, I., Booch, G. (eds.): The Unified Modeling Language Reference Manual. Addison-Wesley Longman Ltd., Essex (1999)
Soeken, M., Wille, R., Drechsler, R.: Verifying dynamic aspects of UML models. In: DATE, pp. 1077–1082 (2011)
Soeken, M., Wille, R., Kuhlmann, M., Gogolla, M., Drechsler, R.: Verifying UML/OCL models using Boolean satisfiability. In: DATE, pp. 1341–1344 (2010)
Acknowledgments
This work was supported by the German Federal Ministry of Education and Research (BMBF) within the project SELFIE under grant no. 01IW16001 and the Deutsche Forschungsgemeinschaft (German Research Foundation, DFG) within the Reinhart Koselleck project under grant no. DR287/23-1.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Niemann, P., Przigoda, N., Wille, R., Drechsler, R. (2019). Generation and Validation of Frame Conditions in Formal Models. In: Hammoudi, S., Pires, L., Selic, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2018. Communications in Computer and Information Science, vol 991. Springer, Cham. https://doi.org/10.1007/978-3-030-11030-7_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-11030-7_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-11029-1
Online ISBN: 978-3-030-11030-7
eBook Packages: Computer ScienceComputer Science (R0)