A model-driven approach to semi-structured database design
An imminent activity in software design is to map models, either from one level of detail to another or from different perspectives of an application. It is extremely important that these models are consistent with each other in the semantics they carry for a successful software implementation. With the introduction of a number of CASE tools, this activity has been partially automated with little or no human intervention. Yet, one of the major drawbacks of these tools is that the mapping process sometimes tends to loose the inherent semantics of an application. Also, for some applications, there are no such commercially available tools. In this paper, we focus on XML applications that use a standard structure specified by their corresponding schemas. The output of the design activity for such applications is typically, a generic model that represents the schema in an abstract way. UML being the language of choice for modeling software systems, is often used in modeling XML applications. But, the mapping from UML models to XML schemas is far from perfect. We consider the intricacies involved in both the forward (UML to XML) and reverse (XML to UML) engineering processes and ensure that the application’s structural semantics are maintained in the mapping process. In this paper, we define the complete specifications for forward engineering UML model constructs to their corresponding XML counter parts. We also share our experiences from a tool we have developed that automates the mapping process.