XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument...

25
XMI - Case-Tool unabhängiges Modellieren - Wunschtraum oder bald Realität XCC Software Architecture Days 11. Juni 1999 Kloster Eberbach / Wiesbaden Mario Jeckle

Transcript of XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument...

Page 1: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

XMI - Case-Tool unabhängiges Modellieren -Wunschtraum oder bald Realität

XCC Software Architecture Days11. Juni 1999

Kloster Eberbach / Wiesbaden

Mario Jeckle

Page 2: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK2

XMI within thefamily of XMLlanguages

eXtensible Markup Language (XML)XH

TML

MathM

L

RDF

SMIL

XMI

P3P

PICS

HTM

LD

okument

Mathem

atischerAusdruck

Multim

ediaAppliKation

Eigenschaften von Web-Dokumenten, Bildern, etc.

Auszeichnungs-Sprachen und andereFormalismen in XML-Syntax

Page 3: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK3

TOC

Motivation

Heterogenität als Herausforderung

Lösungsansatz: Stream-based Model Interchange

Ziele von SMIF

Object Management Architecture

OMG’s four layer Metamodel Architecture

Beispiele

CASE-Tool unabhängiges Modellieren?

Page 4: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK4

ChallengedbyHeterogeneity

Modellierungssprache

UML

OML

(E)ER

OORAM

IA

E3R

ORM

...

Verteilung

WAN

WWW

MANLAN

lokal

Modellierungmethode

Objectory

RUP

Catalysis

Fact-oriented

V-Modell

Implementierungssprache

C

C++ ObjectiveC

SmallTalk Eiffel

DelphiVisualBasic

Java

Implementierungsumgebung

Visual C++

VisualAge

ParkPlace

ProblemProjekt

Page 5: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK5

Conjunctionof differentmodelinglanguages (metamodels) andmodeling tools

heterogen

Werkzeug-landschaft

Modellierungssprache(Meta-Modell)

homogen

homogen heterogen

kompatibel

kompatibel

T1 M21

T1

M21

M22

T1

M21

M22

T1

T2

M21

M22

T1

T2

M21

M21

M22

T1

T2

M21

T1

T2

M21

M22

T1

T2

T1

T2

M21

M22

Page 6: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK6

Assessing theinteractionscenarios

heterogen

Werkzeug-landschaft

Modellierungssprache(Meta-Modell)

homogen

homogen heterogen

kompatibel

kompatibel

T1

T2

M21

M22

SMIFSMIF

SMIF

SMIFSMIF

SMIF

Page 7: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK7

SMIF RFP

Addressedsubject Areas

Ziele •Herstellerunabhängiges Transferformat•Instriestandard-Formatfestlegung•generisches Format•Modellaustausch

•MOF-basierter Modelle•UML•Work-Flow Management Facility•Business Objects Facility

Lösung für •Transferspezifikation•MOF basierter Modelle•CDIF codierter Modelle•STEP/EXPRESS Modelle

•Metamodell-Versionierung

Umsetzung: •Web-Technologien (W3-Standards)•XML liefert Syntax und Encoding Standard

•MOF liefert Metadaten Definition

XMI ist eine Sprache der XML-Familie

Page 8: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK8

OMG‘sStream-basedModelInterchange(SMIF)

The ObjectManagementArchitecture (OMA)

Object Request Broker & Internet

Object Services

Tools & Repositories

Repository Common Facility

MOF SMIF UML

APIs APIs

Page 9: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK9

Four layerMetamodelArchitecture

M0

M1

M2

M3+

Ausprägungen

Modell

Meta-Modell

Meta-Meta-Modell

Max Muster : Person

Person

«instanceOf»

Class

Person

«instanceOf»

MetaClass

Class

«instanceOf»«instanceOf»

Page 10: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK10

XMI within thefour layerMetamodelArchitecture

M0

M1

M2

M3+

Instances

Model

UML & otherMeta Models

Meta Object FacilitiesMeta Meta Model

MOF asXML DTD

UML & othersas XML DTDs

MOFMetaModels asXML Documents

UML & otherModels as XML

Documents

Page 11: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK11

TheUML Metamodel

(Core-Package

Relationships)

Page 12: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK12

Meta ObjectFacilities

(Model Package)

Page 13: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK13

XML MetadataInterchange byExample

(UML Model)

SimpleModel

Class1

attribute1 : Class1

Page 14: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK14

As a Metamodelbased on MOFUML ObjectDiagram

SimpleModel: Modelname = SimpleModelvisibility = public...

Class1 : Classname = Class1...

attribute1 : Attributename = attribute1multiplicity = ( {1, 1} )...

ownedElement

feature

type Class1 : DataTypename = Class1...

SimpleModel

Class1

attribute1 : Class1

Page 15: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK15

XML MetadataInterchange byExample

(XMI Code Part I)

<?xml version = "1.0"?><!DOCTYPE XMI SYSTEM "uml.dtd"><XMI xmi.version="1.0"> <XMI.header> <XMI.metamodel xmi.name="uml" xmi.version="1.1"/> </XMI.header> <XMI.content> <Model_Management.Model xmi.id="i00000001"> <Foundation.Core.ModelElement.name> SimpleModel </Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value="public"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="true"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="true"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="i00000002"> <Foundation.Core.ModelElement.name> class1 </Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value="public"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="true"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="true"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="true"/> <Foundation.Core.Classifier.feature> <Foundation.Core.Attribute xmi.id="i00000003"> <Foundation.Core.ModelElement.name> attribute1 </Foundation.Core.ModelElement.name>

SimpleModel

Class1

attribute1 : Class1

Page 16: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK16

XML MetadataInterchange byExample

(XMI Code Part II)

<Foundation.Core.ModelElement.visibility xmi.value="public"/> <Foundation.Core.Feature.ownerScope xmi.value="instance"/> <Foundation.Core.StructuralFeature.multiplicity> 1 </Foundation.Core.StructuralFeature.multiplicity> <Foundation.Core.StructuralFeature.changeable xmi.value="none"/> <Foundation.Core.StructuralFeature.targetScope xmi.value="instance"/> <Foundation.Core.Attribute.initialValue> <Foundation.Data_Types.Expression> <Foundation.Data_Types.Expression.language> </Foundation.Data_Types.Expression.language> <Foundation.Data_Types.Expression.body> 0 </Foundation.Data_Types.Expression.body> </Foundation.Data_Types.Expression> </Foundation.Core.Attribute.initialValue> <Foundation.Core.StructuralFeature.type> <Foundation.Core.DataType xmi.idref = "i00000004"/> </Foundation.Core.StructuralFeature.type> </Foundation.Core.Attribute> </Foundation.Core.Classifier.feature> </Foundation.Core.Class> <Foundation.Core.DataType xmi.id="i00000004"> <Foundation.Core.ModelElement.name> Class1 </Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value="public"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="true"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="true"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> </Foundation.Core.DataType> </Foundation.Core.Namespace.ownedElement> </Model_Management.Model> </XMI.content></XMI>

SimpleModel

Class1

attribute1 : Class1

Page 17: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK17

Example:An industryproject applyingthe OMGstandards UMLand XMI

Visual Round-Trip CustomizingVisual Round-Trip Customizing

Dokumentation{abstract}

AuftragsdokumentationAbteilungEingangsdatumIst-End TerminSoll-End TerminVeranlasser

Teiledokumentation

Datenformat

Ersteller/Eigentümer : StringKommentar : StringTitel : StringÄnderungsstand : Date

Änderungsdokumentation

KEM-Nr. : StringLaufende-Nr : NumberÄnderungsbeginn : Date

Gesamtauftrag

Teil-Auftrag

Teilauftrags-Nr

Konturgebende ÄnderungÄnderungstyp : String

Gießtechnische Änderung Simulationsauftrag

SimulationsdokumentationDateneingang : DateMAGMA-Projektname : StringMAGMA-Version : String

Simulationstyp

Simulationstyp : String

Mitarbeiter

Name : String

AbteilungBezeichnung : String

Versioniertes 2D/3D Dokument

Gieß- und Formwerkzeug Maschine

Maschinentyp : String

Werkzeug/Betriebsmittel

Anzahl Schieber : NumberStand : Timestamp

RohteilPP-Nr : String

ProduktivwerkzeugF-Nr. : Set of StringForm-Nr. : String

Datenformatdatentyp

Datentyp

Rahmen/Einsatz

FertigteilBenennung : String

Bauteil

Bauteil-Nr : set of StringBenennung : StringEinzelteil-Klasse : StringSoll-End-Termin : DateStand : set of TimestampStart-TerminStatus : StringWerkstoff : StringWärmebehandlungsvorschrift : BooleanÄnderunsart : set of String

Baugruppe

Benennung : String

Lage

X-Koordinate : RealY-Koordinate : RealZ-Koordinate : Real

WerkzeugänderungÄnderungsart : String

Zusammenbau

Konturgebende ÄnderungÄnderungstyp : String

Teil Nr

Baureihe : NumberKennbuchstabe : Char(1)Position in Stückliste : NumberTeil-Kennung : NumberÄnderungsindex : Number

Teil RevisionStand : TimeStamp

ÄnderungsstandÄnderungsstand : String

Werkzeugzusammenbau

Bauteil

Bauteil-Nr : set of StringBenennung : StringEinzelteil-Klasse : StringSoll-End-Termin : DateStand : set of TimestampStart-TerminStatus : StringWerkstoff : StringWärmebehandlungsvorschrift : BooleanÄnderunsart : set of String

Baugruppe

Benennung : String

Zusammenbau

Einfachteil

Breite : RealDurchmesser : RealGewindemaß : RealHöhe : RealLänge : RealSchlüsselweite : RealTyp : Real

KokilleKernformwerkzeug

Kernbezeichnung : String

Abgratwerkzeug

F6-Nr : String

Produktivwerkzeug

F-Nr. : Set of StringForm-Nr. : String

StandardwerkzeugWerkzeugtyp : String

Werkzeugzusammenbau

Betriebsnormteil

Betriebsnorm : String

Betriebsnormteil Ausführung

Ausführung : String

Kaufteil

DIN-Teil

Benennung : StringNorm : String

Lieferant

Name : String

ElektrodeVersuchs- und Einzelteil

Beschreibung : Stringzugrundeliegendes Urmodell : String

Gießhalbzeug

Gießeinzelteil

Teil Nr

Baureihe : NumberKennbuchstabe : Char(1)Position in Stückliste : NumberTeil-Kennung : NumberÄnderungsindex : Number

Teil RevisionStand : TimeStamp

ÄnderungsstandÄnderungsstand : String

Gießtechnische ÄnderungSimulationsauftrag

Teil-AuftragTeilauftrags-Nr

Kern Nr. Änderungsindex

Änderungsindex : Number

0..1

1

10..1

0..1

0..1

1..*1..*

SimulationsprojektabschnittBeginn : DateEnde : Date

1..*

1 Ergebnis-Dokumentation

*

1Ansprechpartner

1

*

0..1

0..1

entstandenaus

Grundlagefür

1

1..*

bestehtaus

1..*

*

Aufspannplan* 0..1

1..*

*

Zuordnung Rohteil/Produktivwerkzeug

Verwendung : String

1..*

1

1

1..*

1

1..*

1

1..*

1

1..*

1

1..*

1

1..*

1

*

1 1..*

0..1

0..1

ersetzt

wird ersetzt

* 1..*

Verwendung Bauteil1 1..*

0..1

1

0..1

0..1

ersetzt

ersetztdurch

1

*

verwendet1

0..1

0..1 0..1ersetzt wird ersetzt

1

0..1

1..*

1..*

Teil ID10..1

0..1

*

1..*

Rahmen

1..*

Einsatz

1..*

0..1

Verwendung Baugruppe

1..*

1

1..*

*

benötigt

1..* 1..*

Werkzeugsatz Kokille

*

1..*

1..*

1..*

Werkzeugsatz Druckguß

*

1..*

* 1..*

*

*

0..1

0..1

ist

ist

1..* *

1..* ***

dientfür

entstehtaus

*

*

1..*

1..*Teil ID

1

0..1

1..*0..11..*

1..*

1

1

0..1 *

dientfür

entstehtaus

1

0..1

1..*1..*

Kern ID

1..*1

Problemstellung:

•Forward-Engineering: automatische Generierung von Customizingcode für Standardsystem

•Reverse-Engineering: Wiedergewinnung bestehender Customizinganteile

Page 18: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK18

Architecture ofthe proposedsolution

Metaphase

Repository

MODeL

MODeL-Compiler

Schema-Extraktor

Schema-Dump

CASE-Tool

API

XMISD -> XMIProzessor

XMI-Interface

XMI -> MODeLProzessor

Forward-Engineering

Reverse-Engineering

Page 19: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK19

XMI demoand proof ofconcept

(in cooperationwith XMI partners)

IBMVisualAge

SelectOracleRepository

RoseDTDGen

EnterpriseOracleDesigner

VATCWeb

Sphere VA Java

XMIXMI

UnisysUREP

MOFDTDGen

RationalRose Unisys

IntegratePlus

Non-XMIRepositories

XMI XMI XMI

XMI

XMI XMI

XMI XMI

XMIXMI XMI XMI

XMI

Page 20: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK20

UsageScenarios

MOF Model

Metamodel

Model

DTD

XML

gemäß XMIGenerierungsprinzipienerzeugt

gemäß XMIGenerierungsprinzipienerzeugt

konform zu

konform zu konform zu

XMI ist CASE-Tool unabhängiges Modellieren, aber auch...•Einsatz als Modellaustauschformat

•Eindeutige textuelle Beschreibung von (Meta-)Modellen

•Toolunabhängige Code-Generierung

•Metriken

•Pattern Libraries

•Modellvalidierung

Page 21: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK21

Results andEvaluation

+ Breite Industrieunterstützung

UnisysIBMDSTCOraclePlatinum TechnologyFujitsuSofteamRecerca InformaticaDaimlerChrysler

Cayenne SoftwareGenesis DevelopmentInline SoftwareRational SoftwareSelect SoftwareSprint CommunicationsSybaseXeroxMCI SystemhouseBoeingArdentAviatisICONIXIntegrated SystemsVerilogTelefonica I+DUniversitat Politecnica de CatalunyaNCRNihonNTT

Page 22: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK22

Results andEvaluation

+ Breite Industrieunterstützung

+ Web-Technologie (W3-Standardfamilie)

+ Weiterführende Ansätze: Delta-InterchangeMetamodellversionierung

Page 23: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK23

Results andEvaluation

+ Gute Skalierbarkeit

+ Breite Industrieunterstützung

+ Web-Technologie (W3-Standardfamilie)

+ Weiterführende Ansätze: Delta-InterchangeMetamodellversionierung

Page 24: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK24

Results andEvaluation

- fehlende Human-readability (eigener RFP)

- Größe des XMI-Streams

+ Gute Skalierbarkeit

+ Breite Industrieunterstützung

+ Web-Technologie (W3-Standardfamilie)

+ Weiterführende Ansätze: Delta-InterchangeMetamodellversionierung

Page 25: XMI - Case-Tool unabhängiges Modellieren - Wunschtraum ...RDF SMIL XMI P3P PICS HTML Dokument Mathematischer Ausdruck Multimedia AppliKation Eigenschaften von Web-Dokumenten, Bildern,

Mario JeckleDaimlerChrysler Research,FT3/EK25

ReferencesMeta Object Facility (MOF): OMG Document ad/97-08-14

Bruce McLean: Evaluation Report OMG OA&DTF RFP3 Stream-based Model Interchange Format (SMIF), OMG A&D-TF

Revised Joint-Submission:XMI Partners: XML Metadata Interchange, OMG-Dokument ad/98-10-05

WWW:•http://www.software.ibm.com/ad/features/xmi.html•http://www.omg.org•http://www.krumbach.de/home/jeckle