Abstract :
[en] A common practice to specify constraints on the Unified Modeling Language (UML) models is
using the Object Constraint Language (OCL). Such constraints serve various purposes, ranging
from simply providing precise meaning to the models to supporting complex verification and
validation activities. In many applications, these constraints have to be solved to obtain values
satisfying the constraints, for example, in the case of modelbased
testing (MBT) to generate
test data for the purpose of generating executable test cases. In our previous work, we proposed
novel heuristics for various OCL constructs to efficiently solve them using search algorithms.
These heuristics are enhanced in this paper to further improve the performance of OCL
constraint solving. We performed an empirical evaluation comprising of three case studies
using three search algorithms: Alternating Variable Method (AVM), (1+1) Evolutionary
Algorithm (EA), and a Genetic Algorithm (GA) and in addition Random Search (RS) was used
as a comparison baseline. In the first case study, we evaluated each heuristics using carefully
designed artificial problems. In the second case study, we evaluated the heuristics on various
constraints of Cisco’s Video Conferencing Systems defined to support MBT. Finally, the third
case study is about EURent
Car Rental specification and is obtained from the literature. The
results of the empirical evaluation showed that (1+1) EA and AVM with the improved
heuristics significantly outperform the rest of the algorithms.
Scopus citations®
without self-citations
11