Executing Underspecified OCL Operation Contracts with a SAT Solver

Matthias P. Krieger, Alexander Knapp

Abstract


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 satisfiability (SAT) solver. The operation contract is translated to an arithmetic formula with bounded quantifiers and later to a satisfiability problem. Based on the system state in which the operation is called and the arguments to the operation, an off-the-shelf SAT solver computes a new state that satisfies the postconditions of the operation. An effort is made to keep the changes to the system state as small as possible. We present a tool for generating Java method bodies for operations specified with OCL. The efficiency of our method is confirmed by a comparison with existing approaches.

Full Text:

PDF


DOI: http://dx.doi.org/10.14279/tuj.eceasst.15.176

DOI (PDF): http://dx.doi.org/10.14279/tuj.eceasst.15.176.173

Hosted By Universitätsbibliothek TU Berlin.