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