Date Added: Dec 2009
Nowadays, modeling languages like UML are essential in the design of complex software systems and also start to enter the domain of hardware and hardware/software codesign. Due to shortening time-to-market demands, "First time right" requirements have thereby to be satisfied. This paper proposes an approach that makes use of Boolean satisfiability for verifying UML/OCL models. The paper describes how the respective components of a verification problem, namely system states of a UML model, OCL constraints, and the actual verification task, can be encoded and afterwards automatically solved using an off-the-shelf SAT solver. Experiments show that the approach can solve verification tasks significantly faster than previous methods while still supporting a large variety of UML/OCL constructs.