Abstract
Many popular methodologies are influenced by Design by Contract. They recommend to specify the intended behavior of operations in an early phase of the software development life cycle. Formal contract specification languages, however, are still rarely used because their semantics often mismatch the needs of software developers. Restrictive specification languages usually suffer from the ”frame problem”: It is hard to express which parts of the system state should remain unaffected when the specified operation is executed. Constructive specification languages, instead, suffer from the tendency to make specifications deterministic. This paper investigates how a combination of OCL and graph transformations can overcome the frame problem and can make constructive specifications less deterministic. Our new contract specification language is considerably more expressive than both pure OCL and pure graph transformations.
This work was supported by Hasler-Foundation, project DICS-1850.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Meyer, B.: Applying “design by contract”. IEEE Computer 25(10), 40–51 (1992)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)
Ermel, C., Bardohl, R.: Scenario animation for visual behavior models: A generic approach. Software and Systems Modeling (SoSym) 3(2), 164–177 (2004)
Grunske, L., Geiger, L., Zündorf, A., van Eetvelde, N., van Gorp, P., Varró, D.: Model-driven Software Development - Volume II of Research and Practice in Software Engineering. In: Using Graph Transformation for Practical Model Driven Software Engineering. Springer, Heidelberg (2005)
OMG. Revised submission for MOF 2.0, Query/Views/Transformations, version 1.8. OMG Document ad/04-10-11 (December 2004)
Bottoni, P., Koch, M., Parisi-Presicce, F., Taentzer, G.: Consistency checking and visualization of OCL constraints. In: Evans, A., Kent, S., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 294–308. Springer, Heidelberg (2000)
Schürr, A.: Adding graph transformation concepts to UML’s constraint language OCL. In: Proc. of UNIGRA 2001: Uniform Approaches to Graphical Process Specification Techniques. Electronic Notes in Theoretical Computer Science, vol. 44(4) (2001)
OMG. UML 2.0 OCL Specification – OMG Final Adopted Specification. OMG Document ptc/03-10-14 (October 2003)
Rozenberg, G. (ed.): Handbook of Graph Grammars and Computing by Graph Transformations. Foundations, vol. 1. World Scientific, Singapore (1997)
Marković, S., Baar, T.: Refactoring OCL annotated UML class diagrams. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 280–294. Springer, Heidelberg (2005)
Abrial, J.-R.: The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (August 1996)
Baar, T.: Non-deterministic constructs in OCL – what does any() mean. In: Prinz, A., Reed, R., Reed, J. (eds.) SDL 2005. LNCS, vol. 3530, pp. 32–46. Springer, Heidelberg (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Baar, T. (2006). OCL and Graph-Transformations – A Symbiotic Alliance to Alleviate the Frame Problem. In: Bruel, JM. (eds) Satellite Events at the MoDELS 2005 Conference. MODELS 2005. Lecture Notes in Computer Science, vol 3844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11663430_3
Download citation
DOI: https://doi.org/10.1007/11663430_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-31780-7
Online ISBN: 978-3-540-31781-4
eBook Packages: Computer ScienceComputer Science (R0)