University of Edinburgh XMI and MOF: a mini-tutorial Perdita Stevens

Similar documents
Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

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

Designing a Semantic Repository

Towards a Common Metamodel for the Development of Web Applications

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

What is a metamodel: the OMG s metamodeling infrastructure

Automatic Generation Between UML and Code. Fande Kong and Liang Zhang Computer Science department

Business Rule Standards -- Interoperability and Portability

Development of Tool Extensions with MOFLON

Model-Driven Data Warehousing

Databases in Organizations

Generating Aspect Code from UML Models

Tools for MDA Software Development: Evaluation Criteria and Set of Desirable Features

model-driven development

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

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

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Software Requirements Specification of A University Class Scheduler

UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling

The Role of XML in Open Hypermedia Systems

Mapping between Levels in the Metamodel Architecture

Agents and Web Services

Clarifying a vision on certification of MDA tools

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

MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004

Software Testing Modeling Tools

Tool Support for Model Checking of Web application designs *

Information Management Metamodel

Analysis of the Specifics for a Business Rules Engine Based Projects

The UML 2.0 meta model

UML Modelling of Automated Business Processes with a Mapping to BPEL4WS

Business Process Modeling and Standardization

Business Modeling with UML

JOURNAL OF OBJECT TECHNOLOGY

CDC UNIFIED PROCESS PRACTICES GUIDE

Representing XML Schema in UML A Comparison of Approaches

Data-Warehouse-, Data-Mining- und OLAP-Technologien

Object Modeling with UML

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Common Warehouse Metamodel (CWM): Extending UML for Data Warehousing and Business Intelligence

Production Rule Representation

Model-Driven Architecture: Vision, Standards And Emerging Technologies

Business Model Interoperability using Enterprise Model Integration

Business Performance Management Standards

The Fast Guide to Model Driven Architecture

The BPM to UML activity diagram transformation using XSLT

TDDC88 Lab 2 Unified Modeling Language (UML)

What are the used UML diagrams? A Preliminary Survey

All you need are models Anneke Kleppe, Klasse Objecten

Model-driven secure system development framework

Enterprise Architecture at Work

Model Driven Business Architecture. Pete Rivett CTO, Adaptive

Using UML Part One Structural Modeling Diagrams

Co-Creation of Models and Metamodels for Enterprise. Architecture Projects.

Business Process Measures

Verification of Good Design Style of UML Models

Business Process Modelling Notation A tutorial

GUIDE: Games with UML for Interactive Design Exploration

An eclipse-based Feature Models toolchain

Introduction to Web Services

A UML 2 Profile for Business Process Modelling *

An Automated Workflow System Geared Towards Consumer Goods and Services Companies

eb Service Oriented Architecture Catalog of Patterns

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Revel8or: Model Driven Capacity Planning Tool Suite

Recent Advances in Eclipse QVTO!

Software Architecture Document

CMDB Federation (CMDBf) Frequently Asked Questions (FAQ) White Paper

Filtering the Web to Feed Data Warehouses

What is SOA? Information Services. Loosely Coupled Interfaces. Non-Proprietary Tools and Products

CIM to PIM Transformation: A criteria Based Evaluation

Lecture 9: Requirements Modelling

Supporting Service Design Decisions

Software Specification and Testing

Project VIDE Challenges of Executable Modelling of Business Applications

Whitepapers at Amikelive.com

Software Testing A Time for Standard Models

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

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

Live Model Pointers A requirement for future model repositories

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

Definition and Generation of Data Exchange Formats in AUTOSAR

Tool Support for fuml Models

TÓPICOS AVANÇADOS EM REDES ADVANCED TOPICS IN NETWORKS

Lection 3-4 WAREHOUSING

INTEROPERABILITY IN DATA WAREHOUSES

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Modelling with Papyrus: Domain-Specific Modelling Languages using UML Profiles

MDA Journal A BPT COLUMN. David S. Frankel. January Until February. David Frankel

Annotea and Semantic Web Supported Collaboration

Applying MDA in Developing Intermediary Service for Data Retrieval

Master of Science in Software Engineering (MSC)

Java Metadata Interface and Data Warehousing

UML TUTORIALS THE USE CASE MODEL

Dr. Jana Koehler IBM Zurich Research Laboratory

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Megamodels as models of the linguistic architecture of software products and software technologies

3. Mathematical Induction

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

Transcription:

XMI and MOF: a mini-tutorial Perdita Stevens University of Edinburgh http://www.dcs.ed.ac.uk/home/pxs 1

UML + XML =? This tutorial is about the combination of two major buzzwords: UML and XML. My assumption is that everyone knows what UML is: - the Unified Model(l)ing Language - a diagrammatic language for recording the design of (object-oriented software) systems but that perhaps not everyone knows how it s defined? 2

How UML is defined Two main documents: Notation Guide : informal explanation of notation (concrete syntax) and its connection to abstract syntax. Semantics : semi-formal specification of abstract syntax, plus further explanation of semantics. Semantics takes precedence over Notation Guide in cases of conflict theoretically. Plus: definition of the Object Constraint Language (OCL). 3

UML semantics document: syntax The abstract syntax describes (in UML!) the relationships between kinds of UML model elements (the metamodel). For example, use cases, actors and classes are all said to be examples of classifiers: Classifier Class Actor UseCase 4

Back in the days of the method wars...... people wanted to be able to switch tools, which meant switching notations. But the different OOMLs recorded different information. One major reason for UML success... but still not fully realised in practice. Hmm... structured data (UML models)... standard way to exchange it between tools... yup. XML may be the key to getting real value from UML tools But how exactly to use XML? 5

XMI XMI = XML Metadata Interchange an OMG standard. Most importantly, XMI is a way to save UML models in XML. In fact it s more general. UML is a MOF-based metamodel; XMI shows how to save any MOF-based metamodel in XML 6

MOF 1 MOF = Meta Object Facility an OMG standard MOF is a simple language for defining languages, e.g., UML. (Strictly UML s metamodel does not fit MOF exactly, so UML also has a interchange metamodel which does hack!) MOF looks remarkably like a small subset of UML; notated with UML. 7

OMG 4 level metamodel architecture META-LEVEL MOF TERMS EXAMPLES M3 meta-metamodel MOF Model M2 meta-metadata UML Metamodel metamodel M1 metadata UML Models model M0 data Modelled systems 8

Why isn t MOF just the same as UML? From OMG-MOF1.3 The key differences are due to different usage scenarios of MOF and UML. The MOF needs to be simpler, directly implementable, and provide a set of CORBA interfaces for manipulating meta objects. The UML is used as a general-purpose modeling language, with potentially many implementation targets. MOF provides an open-ended information modeling capability. 9

Back to XMI So, XMI is an attempt to take full advantage of UML s world dominance UML s definition in MOF XML s world dominance and produce a standard way to save UML models in XML, in order to provide modellers with the ability to move UML models between tools. (Extras for free: e.g. same for any other MOF-based language.) 10

What s in XMI1.1? Design principles. A set of XML Document Type Definition (DTD) production rules for transforming MOF based metamodels into XML DTDs. A set of XML Document production rules for encoding and decoding MOF based metadata. (Concrete DTDs for UML and MOF.) Does allow for extensions, incomplete models etc. 11

And that means for UML...? Because you can look up or down the metamodel architecture, UML can be regarded as: an XML document that conforms to a DTD describing MOF; an XML DTD to which UML models must conform. The latter is the more important for most people. 12

Getting concrete Let s see an example of a UML model saved as an XML document which matches a UML DTD ( saved as XMI ) and an example of how such a thing can be used. 13

Example: produce HTML from XMI Start with your UML model saved as an XMI file. In XSL (XML Style Language) write a pattern-matching style sheet saying what information to extract from the XMI document and how to turn it into HTML. For example, produce automatically updated web pages detailing the attributes and operations of each class. A full tutorial description of this is at http://www.objectsbydesign.com. 14

So who does need to know about MOF? If you define your own modelling language and need to save models in XML, in principal you might define your as an instance of the MOF and use XMI to develop a DTD for models. But often an easier alternative might be to make your language an explicit subset of UML, and just use the UML DTD or some cutdown variant of it. Are there cases where the latter is not possible but the former is sensible? I don t know. 15

Caveats 1. XMI/UML are co-evolving and settling down. Different combinations of UML versions and XMI versions exist: only an exact match will enable tool-to-tool interchange. XMI1.0, 1.1 UML1.1, 1.3, (1.4) 2. XMI doesn t (yet) specify how to record graphical information; tools do this differently. 16

More information WWW: Lots of pointers at The XMI Hackers Homepage http://www.dcs.ed.ac.uk/home/pxs/xmi/ More things are gradually appearing there too... Books: David Carlson, Modeling XML Applications with UML Steve Brodsky s forthcoming book on XMI in Java mine on using XMI to get more value from UML tools 17