on a robot etc.) were hand coded and took much
longer.
Comparing to a case of Ubiq Mobile described
earlier this case can be considered much more
successful because of much more narrow scope of
the DSM solution. We did not need to create
arbitrary programs and try to visualize general-
purpose language, we restricted ourselves to simple
sequential programs consisting of simple commands
to a robot or program control statements, and all of
these blocks are clearly defined. Here we used
embedded textual language too, but only to specify
mathematical expressions, so it has no specific
syntax which user has to know before he or she can
use it. Of course, there are problems like in Ubiq
Mobile case – since expressions are specified in
textual language, we cannot properly visualize data
dependencies between blocks, so if someone uses a
variable before initializing it, it will not be clear
from a diagram. But such problems are considered
minor because diagrams tend to be small and
manageable. Created visual language has proven
itself to be very adequate for educational purposes.
5 CONCLUSIONS
Metamodel-based language specification and
automatic generation of visual editors based on
metamodels has proven to be an efficient technique
of developing languages and tool support for them.
As creation of new visual language can be done very
quickly it is possible to experiment with different
languages and try to create DSLs for domains where
the use of language-oriented methods was not
feasible before. QReal technology has already drawn
some interest not only in schools where there is a
need for a good robot programming tool, but also in
the industry. One of the recent applications ideas is
to create a visual language for specifying image
processing algorithms for computer vision. Earlier
QReal was successfully used in a computer vision
field to specify and generate various state machines.
Further research is needed to make possible not
only generation of visual editors but full tool support
for new languages, including generators, run-time
emulators etc. Also it is crucial to fully support
language development as first-class development
process, with language versioning and automatic
model migration, language metamodel component
libraries, browsers, various interconnections
between editors and generators, etc. As shown by
the robots DSL example, a domain-specific
modeling methodology opens possibilities which
otherwise are prohibitively costly.
REFERENCES
Lionel Briand, Davide Falessi, Shiva Nejati, Mehrdad
Sabetzadeh, Tao Yue. Research-Based Innovation: A
Tale of Three Projects in Model-Driven Engineering.
Model Driven Engineering Languages and Systems,
Lecture Notes in Computer Science, Volume 7590,
2012, pp 793-809
Tony Clark, Pierre-Alain Muller. Exploiting model driven
technology: a tale of two startups. Software & Systems
Modeling, October 2012, Volume 11, Issue 4, pp 481-
493
Parastoo Mohagheghi, Wasif Gilani, Alin Stefanescu,
Miguel A. Fernandez. An empirical study of the state
of the practice and acceptance of model-driven
engineering in four industrial cases. Empirical
Software Engineering, February 2013, Volume 18,
Issue 1, pp 89-116
Kelly, S., Tolvanen, J. Domain-Specific Modeling:
Enabling Full Code Generation // Wiley-IEEE
Computer Society Press. 2008. 448 pp.
Kieburtz, R., et al. A software engineering experiment in
software component generation, Proceedings of 18th
International Conference on Software Engineering,
Berlin, IEEE Computer Society Press, March, 1996.
Steven Kelly, Kalle Lyytinen, Matti Rossi, MetaEdit+: A
Fully Configurable Multi-User and Multi-Tool CASE
and CAME Environment // Proceedings of the 8th
International Conference on Advances Information
System Engineering, pp. 1-21, 1996.
Daniel Amyot, Hanna Farah, Jean-François Roy.
Evaluation of Development Tools for Domain-
Specific Modeling Languages. System Analysis and
Modeling: Language Profiles. Lecture Notes in
Computer Science, Volume 4320, 2006, pp 183-197
Jan P. Nytun, Andreas Prinz, Merete S. Tveit. Automatic
Generation of Modelling Tools. Model Driven
Architecture – Foundations and Applications. Lecture
Notes in Computer Science, Volume 4066, 2006, pp
268-283
Терехов А.Н., Романовский К.Ю., Кознов Д.В., Долгов
П.С., Иванов А.Н., REAL: методология и CASE-
средство для разработки систем реального времени
и информационных cистем, Программирование,
1999, № 5. C. 44-52. (in Russian).
Karagiannis, D.; Kühn, H.: Metamodelling Platforms.
LNCS 2455, Springer-Verlag, 2002, p. 182.
G. Rozenberg (ed.). Handbook of Graph Grammars and
Computing by Graph Transformation. Volume 1:
Foundations. World Scientific, 1997.
Hausmann J. Dynamic Meta Modeling: A Semantics
Description Technique for Visual Modeling
Languages. PhD Thesis, 2005, Paderborn, Faculty of
Computer Science, Electrical Engineering, and
Mathematics of the University of Paderborn. 326 p.
ENASE2013-8thInternationalConferenceonEvaluationofNovelSoftwareApproachestoSoftwareEngineering
210