Object-oriented software engineering with Eiffel
Object-oriented software engineering with Eiffel
“…And nothing else changes”: the frame problem in procedure specifications
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
An axiomatic basis for computer programming
Communications of the ACM
Design by contract, by example
Design by contract, by example
Nonmonotonic Logic: Context-Dependent Reasoning
Nonmonotonic Logic: Context-Dependent Reasoning
The Object Constraint Language: Getting Your Models Ready for MDA
The Object Constraint Language: Getting Your Models Ready for MDA
A Framework for Representing Knowledge
A Framework for Representing Knowledge
OCL and graph-transformations: a symbiotic alliance to alleviate the frame problem
MoDELS'05 Proceedings of the 2005 international conference on Satellite Events at the MoDELS
From declarative to imperative UML/OCL operation specifications
ER'07 Proceedings of the 26th international conference on Conceptual modeling
Automatic and efficient simulation of operation contracts
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
A method for data-flow analysis of business components
Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering
Extending OCL with null-references: towards a formal semantics for OCL 2.1
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Specifying UML protocol state machines in alloy
IFM'12 Proceedings of the 9th international conference on Integrated Formal Methods
On the Validation of Invariants at Runtime
Fundamenta Informaticae
Hi-index | 0.01 |
The paradigm of contractual specification provides a transparent way of specifying systems. It clearly distinguishes between client and implementer obligations. One of the best known languages used for this purpose is OCL. Nevertheless, OCL does not provide primitives for a compact specification of what remains unchanged when a method is executed. In this paper, problems with specifying invariability are listed and some weaknesses of existing solutions are pointed out. The question of specifying invariability in OCL is studied and a simple but expressive and flexible extension is proposed. It is shown that this extension has a simple OCL based semantics.