Formalizing the Well-Formedness Rules of EJB3QL in UML + OCL

  • Miguel Garcia
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4364)


This paper reports the application of language metamodeling techniques to EJB3QL, the object-oriented query language for Java Persistence recently standardized in JSR-220. Five years from now, today’s EJB3 applications will be legacy. We see our metamodel as an enabler for increasing the efficiency of reverse engineering activities. It has already proven useful in uncovering spots where the EJB3QL spec is vague. The case study reported in this paper involved (a) expressing the abstract syntax and well-formedness rules of EJB3QL in UML and OCL respectively; (b) deriving from that metamodel software artifacts required for several language-processing tasks, targeting two modeling platforms (Eclipse EMF and Octopus); and (c) comparing the generated artifacts with their counterparts in the reference implementation of EJB3 (which was not developed following a language-metamodeling approach). The metamodel of EJB3QL constitutes the basis for applying model-checkers to aid in assuring conformance of tools claiming to support the specification.


Metamodel OCL Static semantics EJB3QL 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Klint, P., Lämmel, R., Verhoef, C.: Towards an Engineering Discipline for Grammarware. ACM Transactions on Software Engineering and Methodology 14(3), 331–380 (2005)CrossRefGoogle Scholar
  2. 2.
    Huang, S.S., Zook, D., Smaragdakis, Y.: Statically Safe Program Generation with SafeGen. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 309–326. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Wang, J., Kim, S-K., Carrington, D.: Verifying Metamodel Coverage of Model Transformations. In: Australian Software Engineering Conference (ASWEC’06), Sydney, Australia, April 2006, pp. 270–282 (2006)Google Scholar
  4. 4.
    Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the Specification of Textual Concrete Syntaxes in Model Engineering. To appear in Proc. of the 5th Intnl. Conf. on Generative programming and Component Engineering, Portland, Oregon, October 2006 (2006)Google Scholar
  5. 5.
    Muller, P-A., et al.: Model-Driven Analysis and Synthesis of Concrete Syntax. To appear in Proc. of the MoDELS/UML 2006, Genoa, Italy, October 2006 (2006)Google Scholar
  6. 6.
    Klasse Objecten, Octopus: OCL Tool for Precise Uml Specifications.
  7. 7.
  8. 8.
    Damus, C.W.: Implementing Model Integrity in EMF with EMFT OCL. IBM developerWorks (August 2006),
  9. 9.
    Alanen, M., Porres, I.: A Relation Between Context-Free Grammars and Meta Object Facility Metamodels. Tech. Rep. No. 606, Turku Centre for Computer Science (March 2003)Google Scholar
  10. 10.
    Jin, D., Cordy, J.R., Dean, T.R.: Where’s the Schema? A Taxonomy of Patterns for Software Exchange. In: 10th International Workshop on Program Comprehension (IWPC’02), pp. 65–74 (2002)Google Scholar
  11. 11.
    Antoniol, G., Di Penta, M., Merlo, E.: YAAB (Yet another AST browser): using OCL to navigate ASTs. In: 11th IEEE International Workshop on Program Comprehension (IWPC ’03), Washington, DC, USA, May 2003, pp. 13–22. IEEE, Los Alamitos (2003)Google Scholar
  12. 12.
  13. 13.
    Demuth, B., Hussmann, H.: Using OCL Constraints for Relational Database Design. In: France, R.B., Rumpe, B. (eds.) «UML» ’99 - The Unified Modeling Language. Beyond the Standard. LNCS, vol. 1723, pp. 598–613. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  14. 14.
    Lamport, L.: Specifying Systems: The TLA +  Language and Tools for Hardware and Software Engineers. Addison-Wesley, Reading (2002)Google Scholar
  15. 15.
    Lamport, L.: The <Superscript> + </Superscript>Cal Algorithm Language (Submitted for publication, 2006),
  16. 16.
    EJB3QL Metamodel and accompanying software artifacts.

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Miguel Garcia
    • 1
  1. 1.Hamburg University of Technology, Hamburg 21073Germany

Personalised recommendations