Looking at software engineering today, there is a strong emphasis on standards. When advertising for CASE tools, the best thing is to mention as often as possible those magic three letter words: XML, UML, MOF, XMI, XSL, RDF, DOM, SAX etc. So for the moment I will reformulate the title of the paper a bit:
XML Query Languages Like XSL for UML Models Based on XMI.
Four magic words, not bad.
This consciousness for standards is not by accident. Standards make CASE components work together. And there are many different components, that should work together: Design tools, browsers, report generators, reengineering tools and code generators, and all these running on top of a common repository.
Query languages are just another natural extension of this trend. Not only the repository is standardized by XML and XMI, even the method of accessing the repository is standardized on a level much higher than DOM. Since all CASE components rely on the repository, all components can benefit from a powerful, flexible access through a 4th generation language.
This paper tries to employ a XML query language for a typical task in software engineering: code generation. An OCL compiler [FF] generates java code for dynamicly verifying invariants and pre/postconditions, and the query language provides access to the model information needed by the compiler.