## A Proposal for a Formal OCL Semantics in Isabelle/HOL (2002)

### Cached

### Download Links

- [www.brucker.ch]
- [www.infsec.ethz.ch]
- [wailoa.informatik.uni-freiburg.de]
- [www.brucker.ch]
- [www.brucker.ch]
- [www.brucker.ch]
- [www.brucker.ch]
- [www.brucker.ch]
- DBLP

### Other Repositories/Bibliography

Venue: | THEOREM PROVING IN HIGHER ORDER LOGICS, LNCS 2410 |

Citations: | 21 - 7 self |

### BibTeX

@INPROCEEDINGS{Brucker02aproposal,

author = {Achim D. Brucker and Burkhart Wolff},

title = {A Proposal for a Formal OCL Semantics in Isabelle/HOL},

booktitle = {THEOREM PROVING IN HIGHER ORDER LOGICS, LNCS 2410},

year = {2002},

pages = {99--114},

publisher = {Springer}

}

### Years of Citing Articles

### OpenURL

### Abstract

We present a formal semantics as a conservative shallow embedding of the Object Constraint Language (OCL). OCL is currently under development within an open standardization process within the OMG; our work is an attempt to accompany this process by a proposal solving open questions in a consistent way and exploring alternatives of the language design. Moreover, our encoding gives the foundation for tool supported reasoning over OCL specifications, for example as basis for test case generation.

### Citations

1104 |
The Z Notation: A reference manual
- Spivey
- 1992
(Show Context)
Citation Context ...cess model that stood the test of time. The Object Constraint Language (OCL) [3, 4, 5] is a textual extension of the UML. OCL is in the tradition of dataoriented formal specification languages like Z =-=[6]-=- or VDM [7]. For short, OCL is a three-valued Kleene-Logic with equality that allows for specifying constraints on graphs of object instances whose structure is described by UML class diagrams. In ord... |

639 |
Systematic Software Development using VDM
- Jones
- 1990
(Show Context)
Citation Context ...that stood the test of time. The Object Constraint Language (OCL) [3, 4, 5] is a textual extension of the UML. OCL is in the tradition of dataoriented formal specification languages like Z [6] or VDM =-=[7]-=-. For short, OCL is a three-valued Kleene-Logic with equality that allows for specifying constraints on graphs of object instances whose structure is described by UML class diagrams. In order to achie... |

239 |
The Formal Semantics of Programming Languages
- Winskel
- 1993
(Show Context)
Citation Context ...se x of⌊k⌋ ⇒ f k | ⊥ ⇒ c. Note that the definition of lifted types leads to the usual construction of flat cpo’s well known from the theory of complete partial orders (cpo) and denotational semantics =-=[11]-=-. For the sake of simplification, we avoid a full-blown cpostructure here (while maintaining our semantics “cpo-ready”) and define only a tiny fragment of it that provides concepts such as definedness... |

185 |
Automating the generation and sequencing of test cases from model-based specifications
- Dick, Faivre
- 1993
(Show Context)
Citation Context ...mplementation” fulfilling our specification: triangle : [Integer α, Integer α, Integer α] ⇒ Triangle ⊥ triangle s0 s1 s2 ≡ @result• � triangle_spec result s0 s1 s2 We follow the approach presented in =-=[13]-=- using a disjunctive normal form (DNF) for partition analysis of the specification and as a basis for the test case generation. In our setting this leads to the following main steps: 1. Eliminate logi... |

63 | On Formalizing the UML Object Constraint Language OCL
- Richters, Gogolla
- 1998
(Show Context)
Citation Context ...tion process of OCL. We have shown the potential for semantic based tools for OCL using automated reasoning by an exemplary test-case generation. 6.2 Related Work Previous semantic definitions of OCL =-=[14, 15, 5]-=- are based on “mathematical notation” in the style of “naive set theory”, which is in our view quite inadequate to cover so subtle subjects such as inheritance. Moreover, the development of proof calc... |

39 |
µJava: Embedding a programming language in a theorem prover
- Nipkow, Oheimb, et al.
- 2000
(Show Context)
Citation Context ...ch comes handy when generating code for assertions or when animating specifications. Object-oriented languages represent a particular challenge for the “art of embedding languages in theorem provers” =-=[8]-=-. This holds even more for a shallow embedding, which we chose since we aim at reasoning in OCL specifications and not at meta-theoretic properties of our OCL representation. In a shallow embedding, t... |

38 | Object-oriented verification based on record subtyping in higher-order logic
- Naraschewski, Wenzel
- 1998
(Show Context)
Citation Context ... for an object oriented language is still a challenge. While the basic concepts in our approach of representing subtyping by the subsumption relation on polymorphic types is not new (c.f. for example =-=[17, 18]-=-), we have included concepts such as undefinedness, mutual recursion between object instances, dynamic types, recursive method invocation and extensible class hierarchies that pushes the limits of the... |

37 |
Automated Deduction in Multiple-valued Logics
- Hähnle
- 1993
(Show Context)
Citation Context ...lready quite powerful, it is neither efficient nor complete (but should be for a fragment corresponding to propositional logic extended by definedness). More research is necessary (multivalued logics =-=[19]-=-, Decision Diagrams). – Since HOL-OCL is intended to be used over several stages of a software development cycle, a refinement calculus that formally supports this activity may be of particular releva... |

36 | The Requirement and Design Specification Language Spectrum: an Informal Introduction
- Broy, Facchi, et al.
- 1993
(Show Context)
Citation Context ...ctness of all operations (the logical operators are explicit exceptions) and rules out a modeling of undefinedness via underspecification. Thus, the language has a similar flavor than LCF or Spectrum =-=[10]-=- and represents a particular challenge for automated reasoning.A Proposal for a Formal OCL Semantics in Isabelle/HOL 103 In order to handle undefinedness, we introduce for each type τ a lifted type τ... |

13 | JlJava: Embedding a Programming Language in a Theorem Prover - Nipkow, Oheimb, et al. - 2000 |

9 | A formal semantics for ocl 1.4
- Cengarle, Knapp
- 2001
(Show Context)
Citation Context ...tion process of OCL. We have shown the potential for semantic based tools for OCL using automated reasoning by an exemplary test-case generation. 6.2 Related Work Previous semantic definitions of OCL =-=[14, 15, 5]-=- are based on “mathematical notation” in the style of “naive set theory”, which is in our view quite inadequate to cover so subtle subjects such as inheritance. Moreover, the development of proof calc... |

8 |
Will UML 2.0 be agile or awkward
- Kobryn
- 2002
(Show Context)
Citation Context ...e, OCL, UML, shallow embedding, testing 1 Introduction The Unified Modeling Language (UML) [1] has been widely accepted throughout the software industry and is successfully applied to diverse domains =-=[2]-=-. UML is supported by major CASE tools and integrated into a software development process model that stood the test of time. The Object Constraint Language (OCL) [3, 4, 5] is a textual extension of th... |

8 |
The Object Contraint Language: Precise Modelling with UML
- Warmer, Kleppe
- 1999
(Show Context)
Citation Context ...ssfully applied to diverse domains [2]. UML is supported by major CASE tools and integrated into a software development process model that stood the test of time. The Object Constraint Language (OCL) =-=[3, 4, 5]-=- is a textual extension of the UML. OCL is in the tradition of dataoriented formal specification languages like Z [6] or VDM [7]. For short, OCL is a three-valued Kleene-Logic with equality that allow... |

5 |
Response to the UML 2.0 OCL RfP
- Warmer, Kleppe, et al.
(Show Context)
Citation Context ...ssfully applied to diverse domains [2]. UML is supported by major CASE tools and integrated into a software development process model that stood the test of time. The Object Constraint Language (OCL) =-=[3, 4, 5]-=- is a textual extension of the UML. OCL is in the tradition of dataoriented formal specification languages like Z [6] or VDM [7]. For short, OCL is a three-valued Kleene-Logic with equality that allow... |

5 |
Automatic test generation for the triangle problem
- North
- 1990
(Show Context)
Citation Context ...lifting theorems, many standard properties were proven automatically in the library. 5 Application: Test Case Generation A prominent example for automatic test case generation is the triangle problem =-=[12]-=-: Given three integers representing the lengths of the sides of a triangle, a small algorithm has to check, whether these integers describe invalid input or an equilateral, isosceles, or scalene trian... |

5 |
A Mechanized Logical Model of Z and Object-Oriented Specification
- Santen
- 1999
(Show Context)
Citation Context ... for an object oriented language is still a challenge. While the basic concepts in our approach of representing subtyping by the subsumption relation on polymorphic types is not new (c.f. for example =-=[17, 18]-=-), we have included concepts such as undefinedness, mutual recursion between object instances, dynamic types, recursive method invocation and extensible class hierarchies that pushes the limits of the... |

1 |
B.: A note on design decisions of a formalization of the OCL
- Brucker, Wolff
- 2002
(Show Context)
Citation Context ...dence of certain language features (method recursion, executability, strictness, smashing, flattening etc.) in order to provide insight into the possible design choices for the current design process =-=[9]-=-. We extend known techniques for the shallow representation of object orientation and automated proof techniques to lift lemmas from the HOL-library to the OCL level. As a result, we provide a first c... |

1 |
M.V.: On the expressive power of OCL. FM’99
- Mandel, Cengarle
- 1999
(Show Context)
Citation Context ...her with a formal type system for OCL 1.4 was presented. The authors focus on the issue of subject reduction, but do not define the semantic function for expressions whose evaluation may diverges. In =-=[16]-=-, it is claimed that a similar OCL semantics is Turing complete. In contrast, our version of OCL admits an infinite state which turns allInstances into an unbounded universal quantifier; when adding l... |

1 | R.: Automated Deduction in Multiple-valued Logics - ahnle - 1994 |