Extending OCL Operation Contracts with Objective Functions
نویسندگان
چکیده
We explore the potential of adding objective functions to OCL operation contracts. If an operation contract includes an objective function, the operation has the obligation to yield results that make the objective function assume an optimal value. Thus, an objective function expresses a preference among the possible operation results that conform to the postconditions of the operation contract and any class invariants. Objective functions strictly increase the expressiveness of OCL operation contracts. While objective functions arise naturally in application domains like operations research, we argue that objective functions are a useful general-purpose specification instrument and discuss several application examples. As tool support for operation contracts with objective functions, we present an animator for OCL operation contracts with optimization capabilities. We ensure tool interoperability by specifying objective functions in a UML profile.
منابع مشابه
Executing Underspecified OCL Operation Contracts with a SAT Solver
Executing formal operation contracts is an important technique for requirements validation and rapid prototyping. Current approaches require additional guidance from the user or exhibit poor performance for underspecified contracts that describe the operation results non-constructively. We present an efficient and fully automatic approach to executing OCL operation contracts which uses a satisf...
متن کاملExtending OCL with Null-References: Towards a Formal Semantics for OCL 2.1
From its beginnings, OCL is based on a strict semantics for undefinedness, with the exception of the logical connectives of type Boolean that constitute a three-valued propositional logic. Recent versions of the OCL standard added a second exception element, which, similar to the null references in object-oriented programming languages, is given a non-strict semantics. Unfortunately, this exten...
متن کاملSemantics of OCL Operation Specifications
The semantics of OCL operation specifications is discussed from a model theoretic perspective. It is argued that the semantics of operation specifications as defined in the OCL 2.0 proposal is not compatible with the view of operation specifications as contracts between a client and a supplier. As a solution, a semantics of OCL operation specifications based on standard model theory is presente...
متن کاملVerifying UML/OCL Operation Contracts
In current model-driven development approaches, software models are the primary artifacts of the development process. Therefore, assessment of their correctness is a key issue to ensure the quality of the final application. Research on model consistency has focused mostly on the models’ static aspects. Instead, this paper addresses the verification of their dynamic aspects, expressed as a set o...
متن کاملModular Embedding of the Object Constraint Language into a Programming Language
The Object Constraint Language (OCL) is a well-accepted ingredient in model-driven engineering and accompanying modeling languages like UML (Unified Modeling Language) or EMF (Eclipse Modeling Framework) which support object-oriented software development. Among various possibilities, OCL offers the formulation of state invariants and operation contracts in form of preand postconditions. With OC...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- ECEASST
دوره 44 شماره
صفحات -
تاریخ انتشار 2011