Representing XML Schema in UML A Comparison of Approaches



Similar documents
Rule-Based Generation of XML DTDs from UML Class Diagrams

UML Representation Proposal for XTT Rule Design Method

Generating Aspect Code from UML Models

Clarifying a vision on certification of MDA tools

INNOVATOR. The integrated tool suite for business process and software engineering

Tool Support for Model Checking of Web application designs *

Chapter 8 The Enhanced Entity- Relationship (EER) Model

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Foundations of Model-Driven Software Engineering

UML Modelling of Automated Business Processes with a Mapping to BPEL4WS

Data Modeling Basics

Using UML for Knowledge Engineering A Critical Overview

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model-Driven Data Warehousing

7. Classification. Business value. Structuring (repetition) Automation. Classification (after Leymann/Roller) Automation.

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Modeling the User Interface of Web Applications with UML

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

Business Model Interoperability using Enterprise Model Integration

A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development

A terminology model approach for defining and managing statistical metadata

Roles in Software Development using Domain Specific Modelling Languages

Verification of Good Design Style of UML Models

Development of Tool Extensions with MOFLON

The BPM to UML activity diagram transformation using XSLT

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

UML-based Test Generation and Execution

Towards Integrating Modeling and Programming Languages: The Case of UML and Java

80/IRU;0/6FKHPD0DSSLQJ 6SHFLILFDWLRQ

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

MDA Transformations Applied to Web Application Development 1

How To Understand The Organizational Model Of A Multiagent System

USAGE OF BUSINESS RULES IN SUPPLY CHAIN MANAGEMENT

Integrated Development of Distributed Real-Time Applications with Asynchronous Communication

Mapping between Levels in the Metamodel Architecture

A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Model-driven secure system development framework

COCOVILA Compiler-Compiler for Visual Languages

CIM to PIM Transformation: A criteria Based Evaluation

How To Write A Diagram

How To Evaluate Web Applications

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

FHIM Model Content Overview

Information Management Metamodel

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

ABSTRACT. Keywords: Integratability, Interoperability, Composability, Syntax, Semantics, Pragmatics, Dynamics 1. INTRODUCTION

XML DATA INTEGRATION SYSTEM

Umbrello UML Modeller Handbook

Supporting Service Design Decisions

The OMG Business Process Related Standards

Business Rule Standards -- Interoperability and Portability

OMG s Second Workshop on Web Services. Orchestrating Web Services from a UML Development Platform

Analysis of the Specifics for a Business Rules Engine Based Projects

A UML 2 Profile for Business Process Modelling *

What is a metamodel: the OMG s metamodeling infrastructure

Chapter 10. Practical Database Design Methodology. The Role of Information Systems in Organizations. Practical Database Design Methodology

A Study of a Health Enterprise Information System, Part 6 - Coalescing the Analysis of the ER Diagrams, Relational Schemata and Data Tables

SEMANTIC VIDEO ANNOTATION IN E-LEARNING FRAMEWORK

Information Technology Topic Maps Part 2: Data Model

An Approach to Eliminate Semantic Heterogenity Using Ontologies in Enterprise Data Integeration

UN/CEFACT S Modeling Methodology (UMM): A UML Profile for B2B e-commerce

Applying 4+1 View Architecture with UML 2. White Paper

Designing a Semantic Repository

SDWM: An Enhanced Spatial Data Warehouse Metamodel

Business Process Modeling and Standardization

Conceptual Level Design of Semi-structured Database System: Graph-semantic Based Approach

Building E-Commerce Applications from Object-Oriented Conceptual Models

XML: extensible Markup Language. Anabel Fraga

II. Conceptual Modeling

AMFIBIA: A Meta-Model for the Integration of Business Process Modelling Aspects

Semantic-enabled Software Engineering and Development

2009 Martin v. Löwis. Data-centric XML. Other Schema Languages

A Rational Software Whitepaper

A MEDIATION LAYER FOR HETEROGENEOUS XML SCHEMAS

From Object Oriented Conceptual Modeling to Automated Programming in Java

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Domain Knowledge Extracting in a Chinese Natural Language Interface to Databases: NChiql

How To Use The Uniml To Modeling And Understand A Court Case

Using UML to Construct a Model Driven Solution for Unified Access to Disparate Data

MDA based approach towards Design of Database for Banking System

Usage of Business Process Choreography

DATABASE DESIGN. - Developing database and information systems is performed using a development lifecycle, which consists of a series of steps.

Revel8or: Model Driven Capacity Planning Tool Suite

Baba Piprani. Canada

A Common Metamodel for Code Generation

The OMG BPM Standards

Seamless UML Support for Service-based Software Architectures

Project VIDE Challenges of Executable Modelling of Business Applications

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Agile Test-based Modeling

SQL2XMI: Reverse Engineering of UML-ER Diagrams from Relational Database Schemas

Aplicando enfoque MDE a aplicaciones WEB-SOA

Database Design Methodology

Definition and Generation of Data Exchange Formats in AUTOSAR

Enterprise Architecture at Work

Comparative Analysis of SOA and Cloud Computing Architectures Using Fact Based Modeling

Towards an Integration of Business Process Modeling and Object-Oriented Software Development

Transcription:

Representing XML Schema in UML A Comparison of Approaches Martin Bernauer, Gerti Kappel, Gerhard Kramler Business Informatics Group, Vienna University of Technology, Austria {lastname}@big.tuwien.ac.at Abstract. There is a need to integrate XML schemas, i.e., schemas written in XML Schema, into UML-based software development processes. Not only the production of XML schemas out of UML models is required, but even more the integration of given XML schemas as input into the development process. In the model driven architecture, a two step integration is assumed, comprising a platform specific model and a platform independent model. Several approaches already exist addressing the problem of automatically creating a platform specific model for XML schemas. This paper contributes a comparison of these approaches, based on a comprehensive set of transformation patterns supporting creation of a platform specific UML model that is as concise and semantically expressive as possible without loosing XML Schema information. 1 Introduction UML is being used as de-facto standard for software development, including web applications that exchange XML documents. Therefore a need arises to integrate XML schemas, i.e., schemas written in XML Schema, into UML-based software development processes. Not only the production of XML schemas out of UML models is required, but even more the integration of XML schemas as input into the development process, because standard data structures and document types are part of the requirements. In the model driven architecture [9], a two step integration is assumed, comprising a platform specific model which abstracts from implementation language details, and a platform independent model which abstracts from technology details. For the platform independent model, plain UML is applied, whereas for the platform specific model, UML tailored to the target technology is employed. An evaluation of existing UML profiles for XML Schema as possible target technology is the main contribution of this paper. A UML profile for XML Schema must fulfill several requirements. In particular, we are looking for a semantically equivalent representation of an XML schema in UML supporting a bijective mapping between both representations. A solution to this problem has to address the whole range of XML Schema concepts, such that any XML schema can be expressed in UML. Another requirement is to support round-trip engineering, i.e., transformation from XML

Schema to UML and back again without loss of schema information. Furthermore, a solution should maximize understandability of semantic concepts by users knowledgeable of UML but not XML Schema. Semantic equivalence is even more important when the UML models are to be used for application code generation, as it will happen in a model-driven development process. This paper compares five main approaches for representing XML Schema in UML. The features of the approaches are compared based on a comprehensive set of transformation patterns fulfilling the above identified requirements. The patterns have been extracted from a previous effort to define a UML profile ([1]). In the next section, an overview of existing approaches is given, followed by the comparison results and a description of the transformation patterns in the final section. 2 Overview of Approaches Existing work on representing XML Schema in UML has emerged from approaches to platform specific modeling in UML and transforming these models to XML Schema, with the recognized need for UML extensions to specify XML Schema peculiarities. [2] is the first approach of this kind to modeling XML schemas using UML. Although based on a predecessor to XML Schema, it introduces UML extensions addressing modelling of elements and attributes, model groups, and enumerations that can also be found in following approaches. The approach by Carlson ([3]) describes an approach based on XMI rules for transforming UML to XML Schema. [3] also defines a UML profile which addresses most XML Schema concepts, except of simple content complex types, global elements and attributes, and identity constraints. Regarding semantic equivalence, the profile has some weaknesses in its representation of model groups, i.e., sequence, choice, and all. Based on the profile defined in [3], a two-way transformation between XML Schema and UML has been implemented in the commercially available tool hypermodel 1. In [10], Provost has addressed some of the weaknesses of [3], addressing representation of enumerations and other restriction constraints, and of list and union type constructors, although the latter doesn t conform to UML. Eckstein s approach ([5], in german, based on [4]) also defines a profile similar to that in [3], with some enhancements regarding simple types and notations. Goodchild et al (in [8]) point out the importance of separating the conceptual schema, i.e., the platform independent model, from the logical schema, i.e., the platform specific model, a separation that is not considered in the other approaches. In [8], the logical schema is a direct, one-to-one representation of the XML schema in terms of a UML profile. The profile 2 covers almost all concepts of XML Schema, but several of its representations are not UML conform. 1 http://xmlmodeling.com/hypermodel/ 2 A complete description can be found at http://titanium.dstc.edu.au/papers/ xml-schema-profile.pdf 2

Our approach (in [1]) follows [8] in that it also aim at a one-to-one representation of XML schemas in an UML profile. The approach builds on the existing UML profiles for XML Schema, with some improvements and extensions. Related work on mapping conceptual models expressed in UML or EER to XML Schema or DTD, has also identified various options for transforming conceptual-level concepts to XML Schema concepts [3, 4, 6, 7, 10]. Most of these transformations are, however, not unambiguously applicable in the reverse direction and would thus only be useful in an interactive transformation process, requiring a user s knowledge of the XML schema to be transformed to UML. Therefore, these approaches are not evaluated in this paper, although some of their results have influenced the design of the transformation patterns. 3 Comparison A comparison of the features of each approach is provided in Table 1, organized along the various transformation patterns as described below. As can be seen, most of the approaches fail to fulfill the requirement of supporting all XML Schema concepts. Furthermore, some approaches represent XML Schema concepts in UML in a way supporting syntactic transformation but failing to provide semantic equivalence. [1] provides a solution satisfying the requirements, with the main improvements being solutions to represent model groups (MG) as well as global elements (EG, EW) and global attributes (AG, AW) in a way more compliant to UML semantics, to represent identity constraints (KY), and to represent simple types in a more concise, UML like way (ST3-4). For technical details on the differences of the approaches it is referred to [1]. Table 1. Comparison of UML profiles by transformation patterns CT ST EL MG KY GE SC 1 2 1 2 3 4 1 2 EG EW AL AG AW 1 2 1 2 GA 1 2 AN NO [3] + + / + + + [10] + + + + + + [5] + + + / + [8] + + / + + / + + + [1] + + + + + + + + + + + + + + + + + + + + + + + Legend: +... good support... incomplete support /... violation of UML semantics space... not supported 3.1 Transformation Patterns Three design goals have guided the design of transformation patterns. First, it must be possible to represent any XML schema in UML, i.e., there must be 3

a representation for each relevant XML Schema concept, in order to facilitate round-trip engineering without loss of schema information. Second, a representation of an XML schema has to be such that if the profile specific stereotypes are omitted, the result should - to the extent possible - convey the same meaning, in order to facilitate understanding by non-xml Schema experts and to support interoperability with tools not aware of the profile. This goal is also in line with the capability of UML stereotypes, which can only extend but not modify the semantics of UML concepts. Finally, the number of UML constructs necessary to represent a certain XML schema should be minimal, to improve readability. This goal can be achieved in some situations where UML concepts are more expressive than XML Schema concepts, allowing to represent certain patterns of XML Schema concepts using only one UML concept. The transformation patterns are organized along the major XML Schema concepts, i.e., schema, complex types, simple types, elements, attributes, model groups (i.e., complex content), identity constraints, group definitions, annotations, and notations. A more detailed description of the transformation patterns can be found in [1]. SC Represent every schema document as a stereotyped package. CT1 Represent every global complex type as a stereotyped class. CT2 Represent every local complex type as a stereotyped class nested into its containing class. ST1 Represent every simple type that includes an enumeration constraint as a stereotyped enumeration. ST2 Represent every simple type that does not include an enumeration constraint as a stereotyped primitive datatype. ST3 Simplification of ST1/2: Merge the representation of a local simple type that is the type of an UML attribute with that attribute. ST4 Simplification of ST1/2: Merge the representation of a list or union type defined local to a restriction type with the representation of the latter. EL1 Represent a local element as a stereotyped association role of an association connecting the element s containing model group with the element s type. EL2 Represent a local element as a stereotyped attribute of the class representing the containing model group if the element s type is a simple type. EG Represent every global element like a local element declaration with an additional stereotyped class. Represent its usage by generalizations to that class. EW Represent every element wildcard as a multiple classification constraint, indicating that occurrences can be instances of global elements as well. AL Represent every local attribute as a stereotyped attribute of the class representing the containing complex type or group. AG Represent every global attribute like a local attribute with an additional stereotyped class. Represent its usage by generalizations to that class. AW Represent every attribute wildcard as a multiple classification constraint, indicating that occurrences can be instances of global attributes as well. MG1 Represent a model group as a stereotyped class where the stereotype depends on the group s compositor. Represent its usage by a composition. 4

MG2 Represent the grammar expressed by a model group tree as a constraint, using a textual notation which covers hierarchical structuring and ordering. KY1 Represent a key constraint as a constraint attached to the class containing the representation of the element that is the key s scope. KY2 Represent a key constraint whose selector does not contain union and wildcard steps as a constraint attached to the class selected by the selector. GA Represent every attribute group as an abstract stereotyped class with the attributes represented by AL. Represent its usage by generalizations. GE1 Represent an element group as a stereotyped class with the elements represented by EL1 and/or EL2. Represent its model group and usage by MG1. GE2 Represent an element group as an abstract stereotyped class with the elements represented by EL1 and/or EL2. Represent its model group by MG2 and its usage by generalizations. AN Represent every annotation as a set of stereotyped comments. NO Represent every notation declaration as a stereotyped literal in a stereotyped enumeration. References 1. M. Bernauer, G. Kappel, and G. Kramler. A UML Profile for XML Schema. Technical Report, http://www.big.tuwien.ac.at/research/publications/2003/1303. pdf, 2003. 2. G. Booch, M. Christerson, M. Fuchs, and J. Koistinen. UML for XML Schema Mapping Specification. Rational White Paper, December 1999. 3. D. Carlson. Modeling XML Applications with UML. Addison-Wesley, 2001. 4. R. Conrad, D. Scheffner, and J. C. Freytag. XML Conceptual Modeling Using UML. In 19th International Conference on Conceptual Modeling (ER), Salt Lake City, Utah, USA, volume 1920 of Springer LNCS, pages 558 571, 2000. 5. R. Eckstein and S. Eckstein. XML und Datenmodellierung. dpunkt.verlag, 2004. 6. R. Elmasri, Y. Wu, B. Hojabri, C. Li, and J. Fu. Conceptual Modeling for Customized XML Schemas. In 21st International Conference on Conceptual Modeling (ER), Tampere, Finland, volume 2503 of Springer LNCS, pages 429 443. Springer, 2002. 7. T. Krumbein and T. Kudrass. Rule-Based Generation of XML Schemas from UML Class Diagrams. In In Proceedings of the XML Days at Berlin, Workshop on Web Databases (WebDB), pages 213 227, 2003. 8. A. Goodchild N. Routledge, L. Bird. UML and XML Schema. In 13th Australian Database Conference (ADC2002), pages 157 166. ACS, 2002. 9. OMG. MDA Guide Version 1.0.1. OMG Document omg/2003-06-01, http://www. omg.org/docs/omg/03-06-01.pdf, 2003. 10. W. Provost. UML For W3C XML Schema Design. http://www.xml.com/lpt/a/ 2002/08/07/wxs_uml.html, August 2002. 5