M. Wimmer, A. Schauerhuber, G. Kramler: From Document Type Definitions to Metamodels: The WebML Case Study, Bericht für Vienna University of Technology, 2006, pages 27. pdf
Metamodels are a prerequisite for model-driven engineering (MDE). In the past, DTDs have also been deployed for language definitions. MDE techniques and tools can not be reused for such languages, however. The WebML web modeling language for modeling web applications is one example that does not yet rely on an explicit metamodel. Instead it is implicitly defined within the methodology´s accompanying WebRatio tool in terms of a DTD, i.e., a grammar-like textual definition for specifying the structure of XML documents. Code generation then has to rely on XSLT-based model-to-code transformations. In this paper, we propose a semi-automatic approach for generating metamodels from DTDs. We introduce a set of transformation rules and heuristics for automatically generating MOF-based metamodels from DTD definitions and suggest manual refactorings for the semantic enrichment of the metamodels. We incorporate the transformation rules and heuristics in a MetaModelGenerator (MMG) prototype implementation, and provide results on applying our approach to the WebML DTD. The benefits from our work are: (1) visualization of DTD-based languages in terms of MOF-based metamodels enhances understanding of the language, (2) employment of metamodels enables further steps towards model-driven engineering such as model transformations or language extensions through profiles, (3) tool interoperability with other MDE tools is ensured, (4) a proposal for a WebML metamodel has been generated in a semi-automatic way.