3 CONCLUSIONS
In this paper we have outlined the concept of the
object query by example solution which serves for
visualising OCL expressions in the VIDE UML-
based action language. Combining OCL with UML
Actions and Activities provides a standard-
compliant and powerful language for processing
object-oriented data structures. Contrary to UML as
a whole however, OCL is known by relatively few
professionals, and may pose a barrier for a broader
adoption of a UML based programming language.
Hence we have proposed a QBE-inspired visual
language that offers a yet higher level of abstraction
compared to OCL. It builds upon UML syntax
metaphors and fits the visual syntax proposed for the
imperative constructs of the language (actions and
activities). The solution includes a concrete syntax
inspired by UML instance diagrams, underlying
metamodel for object examples, the algorithm for
OCL code generation and optimisation by rewriting.
We have also developed a prototype implementation
within the Eclipse framework. The prototype is a
fully-fledged IDE which facilitates designing queries
and running them directly on the target platform. In
the current version we have chosen, designed and
implemented a set of features that is not exhaustive,
but on the other hand, avoids the complexity that
would undermine the intuitiveness of the syntax and
the general usability of the tool.
Several further features have been identified and
are considered for enhancing the next release of the
prototype.
The evaluation workshop conducted with
students during the VIDE project (VIDE 2008)
seems to confirm that the syntax is intuitive for
inexperienced users who have UML background.
We have also observed that OQBE allowed users to
construct the queries whose complexity in textual
OCL and SQL constituted a barrier.
We are currently approaching a more direct
integration of UML-based modelling with our
ODRA platform, with visual expression construction
with OQBE being a part of the environment. Note
that even in case the resulting query code does not
need to be reviewed by an application developer, its
simplicity and clarity is important for performance
reasons. Hence, a work on the optimisation of the
generated queries has been also initiated.
The underlying concept of visual querying is also
more generally applicable. We are going to take
advantage of this fact when designing a generic data
exploration tool (involving navigation, querying and
intermediate results storage (basket)) for a SQL
database which is going to be used for motion data
search. Further important details of our solution
including the semantics, implementation solutions,
intended usage and the design of the diagram-to-
OCL code generator, remaining out the scope of this
short paper, have been described in other works
available at (VIDE 2009).
REFERENCES
Adamus, R., Daczkowski, M., Habela, P., Kaczmarski, K.,
Kowalski, T., Lentner, M., Pieciukiewicz, T., Stencel,
K., Subieta, K., Trzaska, M., Wardziak, T., Wiślicki,
J., 2008. Overview of the Project ODRA. In
Proceedings of the First International Conference on
Object Databases, ICOODB 2008. pp.179-197.
Ambler, S., 2007. A Roadmap for Agile MDA. Ambysoft.
Falda, G., Habela, P., Kaczmarski, K., Stencel, K.,
Subieta, K., 2008. Executable Platform Independent
Models for Data Intensive Applications. In
Computational Science - ICCS 2008, 8th International
Conference, Kraków, Poland, June 23-25, 2008,
Proceedings, Part III. Springer, pp. 301-310.
Falda, G., Habela, P., Kaczmarski, K., Stencel, K.,
Subieta, K., 2007. Platform-independent programming
of data-intensive applications using UML. In 2nd IFIP
Central and East European Conference on Software
Engineering Techniques, CEE-SET 2007, Springer,
pp. 103-115.
Habela, P., Kaczmarski, K., Stencel, K., Subieta, K., 2007.
Implementing OCL as a Database Query Language. In
On the Move to Meaningful Internet Systems: OTM
2007 Proceedings, Part I. Springer, pp. 17-18
Habela, P., Kaczmarski, K., Stencel, K., Subieta, K., 2008.
OCL as the Query Language for UML Model
Execution. In Computational Science - ICCS 2008, 8th
International Conference, Kraków, Poland, June 23-
25, 2008, Proceedings, Part III. Springer, pp. 311-
320.
VIDE, 2008. VIDE Visualize all moDel drivEn
programming. Industrial Use Cases and Examples.
http://www.vide-ist.eu/reflib/usecases.html
VIDE, 2009. VIDE Visualize all moDel drivEn
programming. Project website http://www.vide-ist.eu
WEBIST 2010 - 6th International Conference on Web Information Systems and Technologies
182