Lightweight mechanism to reason on String values
Our paper Lightweight String Reasoning in Model Finding by Fabian Büttner and myself has been accepted for publication in the Journal of Systems and Software Modeling (SoSyM).
The full paper (preprint version) is freely available here. The abstract is the following:
Models play a key role in assuring software quality in the model-driven
approach. Precise models usually require the deﬁnition of well-formedness rules
to specify constraints that cannot be expressed graphically. The Object Constraint
Language (OCL) is a de-facto standard to deﬁne such rules. Techniques that check
the satisﬁability of such models and ﬁnd corresponding instances of them are important in various activities, such as model-based testing and validation. Several
tools for these activities have been developed, but to our knowledge, none of them
supports OCL string operations on scale that is sufﬁcient for, e.g., model-based
testing. As, in contrast, many industrial models do contain such operations, there
is evidently a gap. We present a lightweight solver that is speciﬁcally tailored to
generate large solutions for tractable string constraints in model ﬁnding, and that
is suitable for directly express the main operations of the OCL datatype String.
It is based on constraint logic programming (CLP) and constraint handling rules
(CHR), and can be seamlessly combined with other constraint solvers in CLP. We
have integrated our solver into the EMFtoCSP model ﬁnder, and we show that
our implementation efﬁciently solves several common string constraints on a large
A better introduction is also available in this previous post describing the conference version of the same paper.
If you liked this post, you should subscribe to the blog feed , mailing list , or facebook page and follow my thoughts on twitter about software development or web design and social media . Check also my book on model-driven engineering .
Be sociable, share!