ferent approach is (Oriol and Teniente 2014). The
authors propose a method for efficiently checking
OCL constraints by means of SQL. The core idea
consists in reducing the problem to check the
emptiness of SQL queries. Given an OCL constraint,
it is possible to build an SQL query that returns all
instances that violate it. Hence, the OCL constraint is
satisfied if and only if its corresponding SQL query
returns the empty set. Such queries are computed in an
incremental way by a relational DBMS.
An inspiring work for the design of the CVD meta-
model is (Miliauskaite and Nemuraite, 2005). In this
work, an exhaustive constraints taxonomy is proposed
in order to achieve well-formedness and good quality
of conceptual models. Our CVD meta-model is
slightly different oriented. It does not aim at revealing
types of constraints but at providing suitable
modelling of the data needed for describing
constraints violations, envisioning their later
manifestation or automatic treatment.
It should be remarked that the problem we
address, i.e. the verification of invariants satisfaction,
does not deal with the validation of the domain
formalization (meta-model + constraints) itself. In
this sense, when considering a set of invariants
specified on a domain meta-model, we suppose that
set to be perfectly valid, satisfying the typical
correctness properties: syntactic correctness, no
meta-model over-restriction or under-restriction,
consistency, independence, satisfiability, no
subsumption, no redundancy, etc. See (Delmas et al.,
2013) for a clear distinction between verification of
model instances vs. validation of domain
formalization design. In fact, there exists an important
amount of published research on the topic of
validation, like (Anastasakis et al., 2007; Cabot et al.,
2007; Pérez et al., 2012). However, this dimension is
out of the scope of our work.
3 LAX META-MODELS &
CONSTRAINTS DEFINITION
It is very difficult, almost impossible except for very
simple cases, that a meta-model formulation describes
every semantic detail of the target conceptual domain.
In such an ideal situation, every model instance of the
meta-model would correspond to a valid scenario
within the domain. However, meta-models are usually
formulated by only reflecting the big picture of the
modelled domain, not covering every detail. It leads to
laxities in the meta-models. Under this circumstance,
there can be models that, although compliant to the
lax-formulated meta-model, represent non-valid sce-
narios according to the semantics of the domain.
In addition to the practical impossibility of
describing every semantic detail of the domain, is
quite common to find meta-models formulated with a
degree of accuracy regarding the domain lower than
what could have been reached. This is due to several
reasons, as for example:
Preserving as Simple as Possible the Meta-
model Structure, in order to ease future
extensions and maintenance. If a meta-model is
designed to cover the semantics of the target
domain very deeply, a very complex internal
structure would be required, featured by a large
number of primitive types instead of the usual
ones (int, real, boolean, char, string, etc.) as well
as a very extend hierarchy of class inheritance,
aiming at specializing at maximum the possible
associations and their multiplicities.
Using a Single Meta-model to define models
that, since they participate in different processes,
must satisfy different sets of rules or constraints
depending on the concrete process. For instance,
when different tools in an environment enforce
specific constraints on the models, it may be better
to use a single meta-model according to the core
nature of the described system, enhanced with the
corresponding sets of constraints, instead of
defining a specialized meta-model for each tool.
As an example, Fig. 2 shows an overview of the
MAST environment for the analysis and design of
real-time systems, in which the verification methods
proposed in this work have been applied.
The environment is based on a meta-model, called
MAST-2 (Cuevas et al., 2012), used to describe the
timing behaviour of systems with real-time
requirements to fulfil. Currently, the meta-model
contains 126 classes and is lax-formulated. However,
a set of OCL-formulated constraints ensures that the
models used to describe the targeted real-time systems
correspond to valid scenarios. If the meta-model
would have been defined in order to strictly cover the
target domain, it would require a much more complex
structure with possibly a double number of modelling
classes.
In addition, the MAST environment is equipped
with several analysis and design tools that operate on
the models conforming to the MAST-2 meta-model.
Some of these tools, like the Simulation Tool shown in
Fig. 2, work on models that are simply required to
comply to MAST-2 and to meet its intrinsic
constraints. Other tools, like the Offset-Based
Schedulability Analysis Tool, can only work on
models that satisfy certain additional constraints.
Under a strategy of strict meta-modelling, the environ-