model qualities like traceability, the degree to which
pre- and post-conditions are being addressed and so
on, whilst the work of (Cabot et al., 2008) focuses on
internal consistency of the model including any M1-
level constraints specified against the model.
(Lange and Chaudron, 2005) considered different
model uses in order to develop a quality model for
UML models as well as a model quality visualization
tool. Of the model qualities included in their quality
model, traceability, consistency and completeness are
included within our model quality verification tool.
Others like aesthetics and conciseness are qualities of
a concrete syntax and are not the topic of this paper.
Correspondence (that model qualities directly corre-
spond with system elements) is not a desirable for
an URDAD model as it represents a technology and
architecture neutral application model.
(Berkenk¨otter, 2006) developed a UML profile
containing railway-specific concepts and constraints.
The constraints were specified in the OCL and were
validated by the Eclipse OCL Engine. However, due
to the complexity and weak sematics of the UML, de-
signers are typically required to use a specific subset
of the language in a specific way and a large and com-
plex set of constraints is required to validate model
quality. The URDAD DSL which was developed to
reduce language complexity and improve language
semantics requires comparatively a much smaller set
of model quality constraints.
Mappings onto formal process specification lan-
guages have been performed for UML sequence di-
agrams (Dan, 2010), activity diagrams (Elmansouri
et al., 2011) and state charts (Ng and Butler, 2003;
Delmas, R. et al., 2013). The formal process specifi-
cations are then verified by a model checker to con-
firm the absence of a set of process design flaws.
Model verification has also been applied to OWL-S
(Zhi-Jun et al., 2005) used for semantic markup for
web service composition (Xia and Li, 2009).
URDAD is itself a service-oriented method which
is used to specify service contracts and process spec-
ifications across levels of granularity. We are busy
mapping URDAD process specifications onto a for-
mal specification language for formal process specifi-
cation, but this is not the topic of this paper.
6 CONCLUSIONS AND FUTURE
WORK
Within model-driven engineering models are the pri-
mary artifacts and model quality is critical. It is de-
termined by the semantic quality of the modeling lan-
guage, qualities of the concrete syntax used and qual-
ities of the actual instance models. The latter includes
syntactic quality which can be assessed by verify-
ing conformance to the meta-model (language confor-
mance), qualities of the model structure and qualities
of the dynamics (i.e. the processes) specified in the
model.
In this paper we investigated the extend to which
we were able to specify completeness (including
traceability), consistency and simplicity constraints
against the URDAD meta-model in order to verify
these qualities within URDAD models. The resultant
set of OCL constraints was tested using a set of test
models. A model verification tool enables us to verify
URDAD model quality. The OCL constraints are also
used by the URDAD model editor to verify models as
they are being developed.
Whilst our approach does verify aspects of model
consistency, the consistency of constraints specified
against the instance model are not currently verified.
Future work will look at mapping URDAD instance
models onto a Constraint Satisfaction Problem (Cabot
et al., 2008) in order to increase the level of consis-
tency checking. Also, the quality of processes speci-
fied within URDAD models is currently not verified.
REFERENCES
Aggoun, A. e. a. (2006). The ecl
i
p
e
user manual.
http://eclipseclp.org/doc/userman/umsroot.html.
Berkenk¨otter, K. (2006). Ocl-based validation of a railway
domain profile. In Proceedings of the 2006 Interna-
tional Conference on Models in Software Engineer-
ing, MoDELS’06, pages 159–168, Berlin, Heidelberg.
Springer-Verlag.
Brambilla, M., Cabot, J., and Wimmer, M. (2012). Model-
Driven Software Engineering in Practice. Morgan &
Claypool Publishers, 1st edition.
Cabot, J., Clariso, R., and Riera, D. (2008). Verification of
uml/ocl class diagrams using constraint programming.
In Software Testing Verification and Validation Work-
shop, 2008. ICSTW ’08. IEEE International Confer-
ence on, pages 73–80.
Cohen, J. (1996). Logic programming and constraint logic
programming. ACM Comput. Surv., 28(1):257–259.
Dan, L. (2010). QVT Based Model Transformation from
Sequence Diagram to CSP. In Engineering of Com-
plex Computer Systems (ICECCS), 2010 15th IEEE
International Conference on, pages 349–354.
Delmas, R., Pires, A. F., and Polacsek, T. (2013). A verifica-
tion and validation process for model-driven engineer-
ing. In Array, editor, EUCASS Proceedings Series Ad-
vances in AeroSpace Sciences, volume 6, pages 455–
468.
Elmansouri, R., Hamrouche, H., and Chaoui, A. (2011).
From UML Activity Diagrams to CSP Expressions: A
Graph Transformation Approach using Atom3 Tool.