Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
Klasse Objecten, Octopus: OCL Tool for Precise Uml Specifications. http://octopus.sourceforge.net/
Emfatic Language for EMF. http://www.alphaworks.ibm.com/tech/emfatic
Damus, C.W.: Implementing Model Integrity in EMF with EMFT OCL. IBM developerWorks (August 2006), http://www.eclipse.org/articles/Article-EMF-Codegen-with-OCL/article.html
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)
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)
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)
SQL 99/2003 Metamodel. http://www.eclipse.org/datatools/project_modelbase/
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)
Lamport, L.: Specifying Systems: The TLA + Language and Tools for Hardware and Software Engineers. Addison-Wesley, Reading (2002)
Lamport, L.: The <Superscript> + </Superscript>Cal Algorithm Language (Submitted for publication, 2006), http://research.microsoft.com/users/lamport/pubs/pluscal.pdf
EJB3QL Metamodel and accompanying software artifacts. http://www.sts.tu-harburg.de/~mi.garcia/pubs/atem06
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Garcia, M. (2007). Formalizing the Well-Formedness Rules of EJB3QL in UML + OCL. In: Kühne, T. (eds) Models in Software Engineering. MODELS 2006. Lecture Notes in Computer Science, vol 4364. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69489-2_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-69489-2_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69488-5
Online ISBN: 978-3-540-69489-2
eBook Packages: Computer ScienceComputer Science (R0)