separation of concerns in language definition that in-
cludes high-level declarative meta-languages that in-
cludes constraints (Visser, 2014).
In the second category, Mens, van der Straeten
and d’Hondt cover model consistency checking in
Detecting and resolving model inconsistencies us-
ing transformation dependency analysis (Mens et al.,
2006) with an interesting approach using transforma-
tion rules that have some similarity to the graphical
presentation of LCL, although it has a different goal
from the current issue of constraints enforcement in
language specifications.
The third category includes Jaffar and Mahler’s
Constraint logic programming: a survey that gives
an overview of constraint logic programming, from
which domain-specific constraint languages may find
inspiration (Jaffar and Maher, 1994).
8 SUMMARY AND FUTURE
WORK
A survey of OCL usage in language specifications has
been performed, in order to gain an understanding that
is used to define a new approach for language con-
straints. A solution based on structured object pattern
implications is proposed, that also supports handling
of constraints checking issues like when to check, and
what to do if a constraint is broken. The proposed so-
lution allows language designers to focus on language
features rather than complex logical expressions. It
may be particularly useful for DSL developers be-
cause of its familiar graphical syntax that make con-
straints in LCL both easy to understand and easy to
explain to stakeholders that may be less familiar with
logical expression languages.
There are still open issues left for future work.
A full formal specification of all aspects of the pro-
posed constraints language is needed. A textual con-
crete syntax is being developed as an alternative to
the graphical diagram-based presentation. A pro-
totype implementation of LCL is already ongoing,
adding constraints support to the LanguageLab lan-
guage workbench (Gjøsæter and Prinz, 2012) that will
be tested on Master students studying computer lan-
guage theory and design next year. Based on experi-
ences from this prototype, the approach will be further
refined and adapted to the needs of DSL developers.
REFERENCES
Birgit Demuth and Claas Wilke (2009). Model and Object
Verification by Using Dresden OCL. In Proceedings
of the Russian-German Workshop Innovation Infor-
mation Technologies: Theory and Practice, July 25-
31, Ufa, Russia, 2009, page 81. Ufa State Aviation
Technical University, Ufa, Bashkortostan, Russia.
Erdweg, Sebastian and van der Storm, Tijs and Völter,
Markus and Boersma, Meinte and Bosman, Remi and
Cook, William R and Gerritsen, Albert and Hulshout,
Angelo and Kelly, Steven and Loh, Alex and others
(2013). The state of the art in language workbenches.
In Software Language Engineering, pages 197–217.
Springer.
Gjøsæter, T. and Prinz, A. (2012). Languagelab 1.1 user
manual. Technical report, University of Agder.
ITU-T (1999). SDL - ITU-T Specification and Descrip-
tion Language (SDL-2000). ITU-T Recommendation
Z.100.
ITU-T (2007). Recommendation Z.100 Annex F: SDL For-
mal Semantics Definition. International Telecommu-
nications Union (ITU), Geneva.
Jaffar, J. and Maher, M. J. (1994). Constraint logic program-
ming: a survey. The Journal of Logic Programming,
19–20, Supplement 1(0):503 – 581. Special Issue: Ten
Years of Logic Programming.
Kelly, S. and Tolvanen, J.-P. (2008). Domain-Specific Mod-
eling. Wiley-Interscience.
Mens, T., Van Der Straeten, R., and D’Hondt, M. (2006).
Detecting and resolving model inconsistencies using
transformation dependency analysis. In Model driven
engineering languages and systems, pages 200–214.
Springer.
Nytun, J. P., Prinz, A., and Tveit, M. S. (2006). Auto-
matic generation of modelling tools. In Rensink, A.
and Warmer, J., editors, ECMDA-FA, volume 4066 of
Lecture Notes in Computer Science, pages 268–283.
Springer.
OMG (2005). OCL 2.0 Specification. Object Management
Group. ptc/2005-06-06.
OMG (2007). UML Infrastructure Specification, V2.1.2.
Object Management Group. ptc/06-10-06.
Steinberg, D., Budinsky, F., Paternostro, M., and Merks, E.
(2008). EMF: Eclipse Modeling Framework. Eclipse
Series. Addison-Wesley Professional, second edition.
Visser, E. (2014). Separation of concerns in language def-
inition. In Proceedings of the Companion Publica-
tion of the 13th International Conference on Modular-
ity, MODULARITY ’14, pages 1–2, New York, NY,
USA. ACM.
Willink, E. D. (2012). An extensible ocl virtual machine and
code generator. In Proceedings of the 12th Workshop
on OCL and Textual Modelling, OCL ’12, pages 13–
18, New York, NY, USA. ACM.
LCL-AGraphicalMeta-LanguageforSpecificationofLanguageConstraints
337