![Page 1: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/1.jpg)
1
Metadata Alchemy withMDA
Turning Metadata intoIntegration Gold using MDA
Ken Sayers - Chubb and Son, Inc.OMG UML WorkshopOct. 21-24, 2002 San Francisco, CA
![Page 2: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/2.jpg)
2© Copyright 2002 Chubb and Son, Inc.
Introduction
❚ We are doing a lot of system integration❚ We want to make integration easier❚ We want to use standard technologies❚ We want to generate code where it makes
sense❚ We want to have UML for our information
models❚ We want to be ready for the Future
![Page 3: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/3.jpg)
3© Copyright 2002 Chubb and Son, Inc.
Introduction
❚ MDA is something we’ve been using for awhile in our application development
❚ How can we apply MDA to Integration?
![Page 4: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/4.jpg)
4© Copyright 2002 Chubb and Son, Inc.
Integration
❚ Integration projects do a lot of Adapting❙ Adapt Technology A to Technology B❙ Adapt Information Model A to Model B❙ In order to adapt Model A to Model B we first
adapt Technology A and Technology B toTechnology X
❙ Then we map Model A and Model B to ModelX and Back
![Page 5: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/5.jpg)
5© Copyright 2002 Chubb and Son, Inc.
System ASystem A
Integration Architecture
TechnologyA
TechnologyA
InformationModel
A
InformationModel
A
System BSystem B
TechnologyB
TechnologyB
InformationModel
B
InformationModel
B
AdaptA
to/fromX
AdaptA
to/fromX
AdaptB
to/fromX
AdaptB
to/fromX
TechnologyX
TechnologyX
InformationModel
X
InformationModel
X
![Page 6: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/6.jpg)
6© Copyright 2002 Chubb and Son, Inc.
The Problem
❚ Information Models are often in LegacyTechnologies❙ Data Models❙ COBOL Copybooks
❚ Sometimes they are in new technologies❙ XML Schema
❚ We want to use MDA and still leveragethese Information Models
![Page 7: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/7.jpg)
7© Copyright 2002 Chubb and Son, Inc.
The Idea
❚ Create food for MDA then let the feastbegin❙ Convert Metadata into Platform Independent
Model (PIM) a.k.a. UML❙ Utilize standard technologies such as XML
XSLT and XMI where possible❙ Write Java where standards are not useful❙ Use MDA to convert UML into a Platform
Specific Model (PSM) a.k.a. Adapter Javacode
![Page 8: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/8.jpg)
8© Copyright 2002 Chubb and Son, Inc.
The Flow
Metadata PSMs
DataRepository
DataRepository
COBOLCopybooksCOBOL
Copybooks
XMLSchemaXML
Schema
Data ModelData Model
PIM(UML)PIM
(UML)
PSM (Java)PSM (Java)
DomainModel
DomainModel
XMLConduits
XMLConduits
RecordConduitsRecord
ConduitsValidationServices
ValidationServices
![Page 9: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/9.jpg)
9© Copyright 2002 Chubb and Son, Inc.
Metadata to UML to Java
❚ Turn metadata into UML❙ Data Models, COBOL Copybooks and XML
Schema
❚ Turn UML into Java❙ Define Architecture❙ Generate Code to Architecture
![Page 10: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/10.jpg)
10© Copyright 2002 Chubb and Son, Inc.
Metadata to UML to Java
DataRepository
DataRepository
COBOLCopybooksCOBOL
Copybooks
XMLSchemaXML
Schema
Data ModelData Model
XMIXMI UMLUML JavaJava
ArchitectureArchitecture
![Page 11: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/11.jpg)
11© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerMetadata to XMI
❚ Turn Data Models and Copybooks into“RecordSet” XML
❚ Turn RecordSet XML into ChubbML XML, asimple intermediate format
❚ Turn XML Schema directly into ChubbMLXML
❚ Turn ChubbML XML into XMI
![Page 12: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/12.jpg)
12© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerMetadata to XMI
DataRepository
DataRepository
COBOLCopybooksCOBOL
Copybooks
XMLSchemaXML
Schema
Data ModelData Model
RecordSet
RecordSet
ChubbML
ChubbML
XMIXMI
![Page 13: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/13.jpg)
13© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerMetadata to ChubbML
❚ Java Parser reads report from datamodeling tool or COBOL Copybooks
❚ Java Parser reads data repository to getBusiness Names
❚ Java Parser creates RecordSet XML file❚ RecordSet XML converted to ChubbML
XML using XSLT
![Page 14: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/14.jpg)
14© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerMetadata to ChubbML
DataRepository
DataRepository
COBOLCopybooksCOBOL
Copybooks
Data ModelData Model
ParserJava
ParserJava
RecordSet
RecordSet
ChubbML
ChubbML
TransformXSLT
TransformXSLT
![Page 15: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/15.jpg)
15© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerMetadata to ChubbML
❚ XML Schema is generated from XML withTool
❚ Tool XML Schema is normalized to Chubbconventions using XSLT
❚ XML Schema is converted to ChubbMLXML using XSLT
![Page 16: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/16.jpg)
16© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerXML to Chubb XSD
ChubbSchema (4)
ChubbSchema (4)
ToolSchema (2)
ToolSchema (2) Transform
XSLT (3)TransformXSLT (3)
XML (1)XML (1) VendorTool
VendorTool
![Page 17: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/17.jpg)
17© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerMetadata to ChubbML
DataRepository
DataRepository
COBOLCopybooksCOBOL
Copybooks
XMLSchema (4)
XMLSchema (4)
Data ModelData Model
ParserJava
ParserJava
RecordSet
RecordSet
ChubbML (6)ChubbML (6)
TransformXSLT (5)
TransformXSLT (5)
TransformXSLT
TransformXSLT
![Page 18: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/18.jpg)
18© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerChubbML to XMI
❚ An architecture specification definesissues that need values in the model toguide the generation
❚ The specification is combined with theChubbML
❚ The resulting ChubbML XML file isconverted to XMI using XSLT
❚ Any valid ChubbML can be converted
![Page 19: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/19.jpg)
19© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerChubbML to XMI
TransformXSLT (7)
TransformXSLT (7)
ArchitectureSpecificationArchitectureSpecification
ChubbMLcombinedwith ArchSpec (8)
ChubbMLcombinedwith ArchSpec (8)
ChubbML (6)ChubbML (6)
TransformXSLT (9)
TransformXSLT (9)
XMI(10)
XMI(10)
![Page 20: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/20.jpg)
20© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerXMI to UML
❚ XMI is imported into a UML tool❚ The UML is updated with a Modeling Tool❚ XMI can be exported from the UML tool❚ The exported XMI can be combined with
the generated XMI to preserve diagramsand other non-generated UML objects
❚ The combined XMI can then be importedinto the UML tool
![Page 21: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/21.jpg)
21© Copyright 2002 Chubb and Son, Inc.
Reverse EngineerXMI to UML
TransformXSLT (12)
TransformXSLT (12)
ExportedXMI (11)
ExportedXMI (11)
XMICombined
WithExported
XMICombined
WithExported
XMI(10)
XMI(10)
ImportTool
ImportTool UMLUML
ExportTool
ExportTool
ModelingTool
ModelingTool
![Page 22: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/22.jpg)
22© Copyright 2002 Chubb and Son, Inc.
Forward EngineerUML to Java
❚ The UML is read by the generation tooland combined with architecture templatesto produce Architected Java
❚ The Java development tool is used toupdate the Java
❚ The Java can be used as input into futuregenerations to preserve value added code
![Page 23: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/23.jpg)
23© Copyright 2002 Chubb and Son, Inc.
Forward EngineerUML to Java
GenerationTool
GenerationTool
ArchitectureTemplates
ArchitectureTemplates
UMLUML
DevoTool
DevoTool
JavaJava
![Page 24: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/24.jpg)
24© Copyright 2002 Chubb and Son, Inc.
Conclusion
❚ Integration is difficult, we can use all thehelp we can get
❚ Generating repetetive/detailed aspects isgreat
❚ MDA is a good way to generate code, butit wants UML as input
❚ We use standard technologies to keep theInformation Models in sync with the UML
![Page 25: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/25.jpg)
25© Copyright 2002 Chubb and Son, Inc.
Appendices
1. Sample XML (sample.xml)2. Sample XML Schema from Tool (sample tool.xsd)3. XSLT to Convert Schema from Tool to Chubb Format
(tool xsd to chubb xsd.xsl)4. Sample XML Schema in Chubb Format
(sample chubb.xsd)5. XSLT to Convert XML Schema to Chubb ML
(chubb xsd to cml.xsl)6. Sample ChubbML (sample cml.xml)
![Page 26: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/26.jpg)
26© Copyright 2002 Chubb and Son, Inc.
Appendices
7. XSLT to Combine ChubbML with Architecture Spec(combine cml with arch.xsl)
8. Sample ChubbML combined with Architecture Spec (sample cml plus arch.xml)
9. XSLT to Transform ChubbML into XMI (cml to xmi.xsl)10. Sample XMI (sample xmi.xml)11. Sample Exported XMI (sample exported xmi.xml)12. XSLT to Combine Exported with Generated XMI
(combine exported xmi with generated xmi.xsl)13. Model Configuration used by some xslt
(sample model configuration.xml)
![Page 27: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/27.jpg)
file://f:\mda\uml workshop\sample.xml
<?xml version="1.0"?><!--
sample.xml(c) Copyright 2002 Chubb and Son, Inc.
--><Policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file://f:\mda\demo\policy.xsd">
<Number>12345678</Number><Transactions>
<Transaction><IssueDate>2002-01-01</IssueDate><Locations>
<Location><Buildings>
<Building><Address>
<Street>1 Main St</Street><City>Warren</City><State>NJ</State>
</Address><Coverages>
<Coverage><Name>Property</Name><Limit>1000000</Limit><Deductible>10000</Deductible>
</Coverage><Coverage>
<Name>Fire</Name><Limit>10000000</Limit><Deductible>10000</Deductible>
</Coverage></Coverages>
</Building><Building/>
</Buildings></Location><Location>
<Buildings><Building>
<Address><Street>2 Main St</Street>
Page: 1
![Page 28: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/28.jpg)
file://f:\mda\uml workshop\sample.xml
<City>Warren</City><State>NJ</State>
</Address><Coverages/>
</Building></Buildings>
</Location></Locations>
</Transaction><Transaction/>
</Transactions></Policy>
Page: 2
![Page 29: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/29.jpg)
file://f:\mda\uml workshop\sample tool.xsd
<!--sample tool.xsd(c) Copyright 2002 Chubb and Son, Inc.
--><xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
<xsd:element name='Number' type='xsd:string'></xsd:element>
<xsd:element name='IssueDate' type='xsd:string'></xsd:element>
<xsd:element name='Name' type='xsd:string'></xsd:element>
<xsd:element name='Limit' type='xsd:string'></xsd:element>
<xsd:element name='Deductible' type='xsd:string'></xsd:element>
<xsd:element name='Coverage'><xsd:complexType><xsd:sequence><xsd:element ref='Name'/><xsd:element ref='Limit'/><xsd:element ref='Deductible'/>
</xsd:sequence></xsd:complexType>
</xsd:element>
<xsd:element name='Street' type='xsd:string'></xsd:element>
<xsd:element name='City' type='xsd:string'></xsd:element>
<xsd:element name='State' type='xsd:string'></xsd:element>
<xsd:element name='Address'>
Page: 1
![Page 30: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/30.jpg)
file://f:\mda\uml workshop\sample tool.xsd
<xsd:complexType><xsd:sequence><xsd:element ref='Street'/><xsd:element ref='City'/><xsd:element ref='State'/>
</xsd:sequence></xsd:complexType>
</xsd:element>
<xsd:element name='Coverages'><xsd:complexType><xsd:sequence minOccurs='0' maxOccurs='unbounded'><xsd:element ref='Coverage'/>
</xsd:sequence></xsd:complexType>
</xsd:element>
<xsd:element name='Building'><xsd:complexType><xsd:sequence><xsd:sequence minOccurs='0' maxOccurs='1'><xsd:element ref='Address'/>
</xsd:sequence><xsd:sequence minOccurs='0' maxOccurs='1'><xsd:element ref='Coverages'/>
</xsd:sequence></xsd:sequence>
</xsd:complexType></xsd:element>
<xsd:element name='Buildings'><xsd:complexType><xsd:sequence maxOccurs='unbounded'><xsd:element ref='Building'/>
</xsd:sequence></xsd:complexType>
</xsd:element>
<xsd:element name='Location'><xsd:complexType><xsd:sequence>
Page: 2
![Page 31: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/31.jpg)
file://f:\mda\uml workshop\sample tool.xsd
<xsd:element ref='Buildings'/></xsd:sequence>
</xsd:complexType></xsd:element>
<xsd:element name='Locations'><xsd:complexType><xsd:sequence maxOccurs='unbounded'><xsd:element ref='Location'/>
</xsd:sequence></xsd:complexType>
</xsd:element>
<xsd:element name='Transaction'><xsd:complexType><xsd:sequence><xsd:sequence minOccurs='0' maxOccurs='1'><xsd:element ref='IssueDate'/>
</xsd:sequence><xsd:sequence minOccurs='0' maxOccurs='1'><xsd:element ref='Locations'/>
</xsd:sequence></xsd:sequence>
</xsd:complexType></xsd:element>
<xsd:element name='Transactions'><xsd:complexType><xsd:sequence maxOccurs='unbounded'><xsd:element ref='Transaction'/>
</xsd:sequence></xsd:complexType>
</xsd:element>
<xsd:element name='Policy'><xsd:complexType><xsd:sequence><xsd:element ref='Number'/><xsd:element ref='Transactions'/>
</xsd:sequence></xsd:complexType>
Page: 3
![Page 32: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/32.jpg)
file://f:\mda\uml workshop\sample tool.xsd
</xsd:element></xsd:schema>
Page: 4
![Page 33: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/33.jpg)
file://f:\mda\uml workshop\tool xsd to chubb xsd.xsl
<?xml version='1.0'?><!--
tool xsd to chubb xsd.xsl(c) Copyright 2002 Chubb and Son, Inc.
--><xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsl:output encoding="UTF-8" indent="yes" method="xml"/>
<xsl:template match="/"><xsd:schema>
<xsl:attribute name="xmlns:xsd">http://www.w3.org/2001/XMLSchema</xsl:attribute><xsl:comment>=====================================Root Element=====================================</xsl:comment><xsl:for-each select="xsd:schema/xsd:element[xsd:complexType]">
<xsl:sort select="@name"/><xsl:variable name="elementName" select="@name"/><!-- create root element - complex type element that is not pointed to by any other elements --><xsl:if test="not(/xsd:schema/xsd:element/xsd:complexType//xsd:element[@ref = $elementName])">
<xsd:element><xsl:attribute name="name"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="name
" select="@name"/></xsl:call-template></xsl:attribute><xsl:attribute name="type"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="name
" select="@name"/></xsl:call-template></xsl:attribute></xsd:element>
</xsl:if></xsl:for-each><xsl:comment>=====================================Reusable simple elements=====================================</xsl:comment><xsl:for-each select="xsd:schema/xsd:element">
<xsl:sort select="@name"/><xsl:if test="not(xsd:complexType//xsd:element)">
<xsd:element><xsl:attribute name="name"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="
name" select="@name"/></xsl:call-template></xsl:attribute><xsd:simpleType>
<xsd:restriction><xsl:choose>
<xsl:when test="@base">
Page: 1
![Page 34: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/34.jpg)
file://f:\mda\uml workshop\tool xsd to chubb xsd.xsl
<xsl:attribute name="base"><xsl:value-of select="xsd:simpleType/@base"/></xsl:attribute>
</xsl:when><xsl:otherwise>
<xsl:attribute name="base">xsd:string</xsl:attribute></xsl:otherwise>
</xsl:choose></xsd:restriction>
</xsd:simpleType></xsd:element>
</xsl:if></xsl:for-each><xsl:comment>=====================================Classes, Inheritance and Associations=====================================</xsl:comment><xsl:for-each select="xsd:schema/xsd:element">
<xsl:sort select="@name"/><!-- for each complexType that has elements, but not those that represent a many to one relationships --><xsl:if test="xsd:complexType//xsd:element and not(xsd:complexType/xsd:sequence[@maxOccurs = 'unbounded'])">
<xsd:complexType><xsl:attribute name="name"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="name
" select="@name"/></xsl:call-template></xsl:attribute><xsd:sequence>
<xsl:for-each select="xsd:complexType//xsd:element"><xsl:variable name="elementName" select="@ref"/><xsd:element>
<xsl:choose><!-- when it is collection --><xsl:when test="/xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:se
quence/xsd:element and /xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:sequence[@maxOccurs = 'unbounded'] or /xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:sequence/xsd:element and /xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:choice[@maxOccurs = 'unbounded']">
<xsl:attribute name="name"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="name" select="@ref"/></xsl:call-template></xsl:attribute>
<xsd:complexType><xsd:sequence>
<xsd:element><xsl:attribute name="name"><xsl:call-template name="stripNamespacePr
efix"><xsl:with-param name="name" select="/xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:sequence/xsd:element/@ref"/></xsl:call-template></xsl:attribute>
<xsl:attribute name="type"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="name" select="/xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:sequence/xsd:element/@ref"/></xsl:call-template></xsl:attribute>
<xsl:attribute name="minOccurs">0</xsl:attribute><xsl:attribute name="maxOccurs">unbounded</xsl:attribute>
Page: 2
![Page 35: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/35.jpg)
file://f:\mda\uml workshop\tool xsd to chubb xsd.xsl
</xsd:element></xsd:sequence>
</xsd:complexType></xsl:when><!-- when it is a class, not a collection --><xsl:when test="/xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:se
quence/xsd:element and not(/xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:sequence[@maxOccurs = 'unbounded'] or /xsd:schema/xsd:element[@name = $elementName]/xsd:complexType/xsd:choice[@maxOccurs = 'unbounded'])">
<xsl:attribute name="name"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="name" select="@ref"/></xsl:call-template></xsl:attribute>
<xsl:attribute name="type"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="name" select="@ref"/></xsl:call-template></xsl:attribute>
<xsl:attribute name="minOccurs">0</xsl:attribute><xsl:attribute name="maxOccurs">1</xsl:attribute>
</xsl:when><xsl:otherwise>
<xsl:attribute name="ref"><xsl:call-template name="stripNamespacePrefix"><xsl:with-param name="name" select="@ref"/></xsl:call-template></xsl:attribute>
<xsl:attribute name="minOccurs">0</xsl:attribute><xsl:attribute name="maxOccurs">1</xsl:attribute>
</xsl:otherwise></xsl:choose>
</xsd:element></xsl:for-each>
</xsd:sequence></xsd:complexType>
</xsl:if></xsl:for-each>
</xsd:schema>
</xsl:template>
<xsl:template name="stripNamespacePrefix"><xsl:param name="name"/><xsl:variable name="prefix" select="substring-before($name, ':')"/><xsl:choose>
<xsl:when test="not(substring-before($name, ':') = '')"><xsl:value-of select="substring-after($name, ':')"/></xsl:when>
<xsl:otherwise><xsl:value-of select="$name"/></xsl:otherwise></xsl:choose>
</xsl:template>
</xsl:stylesheet>
Page: 3
![Page 36: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/36.jpg)
file://f:\mda\uml workshop\sample chubb.xsd
<?xml version='1.0' encoding='UTF-8' ?><!--
sample chubb.xsd(c) Copyright 2002 Chubb and Son, Inc.
--><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--=====================================Root Element=====================================-->
<xsd:element name="Policy" type="Policy"/><!--
=====================================Reusable simple elements=====================================-->
<xsd:element name="City"><xsd:simpleType>
<xsd:restriction base="xsd:string"/></xsd:simpleType>
</xsd:element><xsd:element name="Deductible">
<xsd:simpleType><xsd:restriction base="xsd:string"/>
</xsd:simpleType></xsd:element><xsd:element name="IssueDate">
<xsd:simpleType><xsd:restriction base="xsd:string"/>
</xsd:simpleType></xsd:element><xsd:element name="Limit">
<xsd:simpleType><xsd:restriction base="xsd:string"/>
</xsd:simpleType></xsd:element><xsd:element name="Name">
<xsd:simpleType><xsd:restriction base="xsd:string"/>
</xsd:simpleType>
Page: 1
![Page 37: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/37.jpg)
file://f:\mda\uml workshop\sample chubb.xsd
</xsd:element><xsd:element name="Number">
<xsd:simpleType><xsd:restriction base="xsd:string"/>
</xsd:simpleType></xsd:element><xsd:element name="State">
<xsd:simpleType><xsd:restriction base="xsd:string"/>
</xsd:simpleType></xsd:element><xsd:element name="Street">
<xsd:simpleType><xsd:restriction base="xsd:string"/>
</xsd:simpleType></xsd:element><!--
=====================================Classes, Inheritance and Associations=====================================-->
<xsd:complexType name="Address"><xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" ref="Street"/><xsd:element maxOccurs="1" minOccurs="0" ref="City"/><xsd:element maxOccurs="1" minOccurs="0" ref="State"/>
</xsd:sequence></xsd:complexType><xsd:complexType name="Building">
<xsd:sequence><xsd:element name="Address" maxOccurs="1" minOccurs="0" type="Address"/><xsd:element name="Coverages">
<xsd:complexType><xsd:sequence>
<xsd:element name="Coverage" maxOccurs="unbounded" minOccurs="0" type="Coverage"/></xsd:sequence>
</xsd:complexType></xsd:element>
</xsd:sequence></xsd:complexType><xsd:complexType name="Coverage">
Page: 2
![Page 38: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/38.jpg)
file://f:\mda\uml workshop\sample chubb.xsd
<xsd:sequence><xsd:element maxOccurs="1" minOccurs="0" ref="Name"/><xsd:element maxOccurs="1" minOccurs="0" ref="Limit"/><xsd:element maxOccurs="1" minOccurs="0" ref="Deductible"/>
</xsd:sequence></xsd:complexType><xsd:complexType name="Location">
<xsd:sequence><xsd:element name="Buildings">
<xsd:complexType><xsd:sequence>
<xsd:element name="Building" maxOccurs="unbounded" minOccurs="0" type="Building"/></xsd:sequence>
</xsd:complexType></xsd:element>
</xsd:sequence></xsd:complexType><xsd:complexType name="Policy">
<xsd:sequence><xsd:element maxOccurs="1" minOccurs="0" ref="Number"/><xsd:element name="Transactions">
<xsd:complexType><xsd:sequence>
<xsd:element name="Transaction" maxOccurs="unbounded" minOccurs="0" type="Transaction"/></xsd:sequence>
</xsd:complexType></xsd:element>
</xsd:sequence></xsd:complexType><xsd:complexType name="Transaction">
<xsd:sequence><xsd:element maxOccurs="1" minOccurs="0" ref="IssueDate"/><xsd:element name="Locations">
<xsd:complexType><xsd:sequence>
<xsd:element name="Location" maxOccurs="unbounded" minOccurs="0" type="Location"/></xsd:sequence>
</xsd:complexType></xsd:element>
</xsd:sequence></xsd:complexType>
Page: 3
![Page 39: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/39.jpg)
file://f:\mda\uml workshop\sample chubb.xsd
</xsd:schema>
Page: 4
![Page 40: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/40.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
<?xml version="1.0" encoding="UTF-8"?><!--
chubb xsd to cml.xsl(c) Copyright 2002 Chubb and Son, Inc.
--><xsl:stylesheet version="1.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:tt="http://typeTable.data">
<xsl:output encoding="UTF-8" method="xml" indent="yes"/>
<xsl:param name="modelConfigurationName"/><xsl:variable name="homePrefix"><xsl:value-of select="document($modelConfigurationName)/recordSet/homePrefix"/></xsl
:variable>
<xsl:variable name="types" select="document('')/*/tt:types"/>
<xsl:template name="getCmlTypeForXsdType"><xsl:param name="xsdType"/><xsl:choose>
<xsl:when test="$xsdType = 'xsd:string'">java.lang.String</xsl:when><xsl:when test="$xsdType = 'xsd:date'">java.util.Date</xsl:when><xsl:when test="$xsdType = 'xsd:dateTime'">java.util.Date</xsl:when><xsl:when test="$xsdType = 'xsd:decimal'">double</xsl:when><xsl:when test="$xsdType = 'xsd:integer'">int</xsl:when><xsl:when test="$xsdType = 'xsd:boolean'">boolean</xsl:when><xsl:otherwise>
<xsl:message>No type found for <xsl:value-of select="$xsdType"/></xsl:message></xsl:otherwise>
</xsl:choose></xsl:template>
<xsl:template match="/xsd:schema"><model>
<xsl:call-template name="createPackageHierarchy"/></model>
</xsl:template>
<xsl:template name="createPackageHierarchy"><packages>
<package><name>com</name><packages>
<package><name>chubb</name><packages>
Page: 1
![Page 41: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/41.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
<package><name>
<xsl:value-of select="document($modelConfigurationName)/recordSet/javaPackageName"/></name><packages>
<package><name>domain</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.ValidateWithXMLSchema</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.TagNameSpecifiesType</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.ValidateWithSchema</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value><xsl:value-of select="$homePrefix"/></value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.MaxSampleHierarchyDepth</name><value>2</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.SampleCollectionCount</name><value>1</value>
</architectureIssue><xsl:if test="xsd:annotation/xsd:appinfo/generateIndexes">
<architectureIssue><name>Domain.RoseBudHome.GenerateIdentifiers</name><value><xsl:value-of select="xsd:annotation/xsd:appinfo/generateInde
xes"/></value></architectureIssue><architectureIssue>
Page: 2
![Page 42: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/42.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
<name>Domain.RoseBudHome.IdentifierAttributeName</name><value><xsl:value-of select="xsd:annotation/xsd:appinfo/indexElement
"/></value></architectureIssue>
</xsl:if></architectureIssues><xsl:call-template name="createInheritanceRelationships"/><xsl:call-template name="createClasses"/><xsl:call-template name="createAssociations"/>
</package></packages>
</package></packages>
</package></packages>
</package></packages>
</xsl:template>
<xsl:template name="createInheritanceRelationships"><!-- for each extension in the schema, create an inheritance relationship --><inheritanceRelationships>
<xsl:for-each select="/xsd:schema/xsd:complexType/xsd:complexContent/xsd:extension"><inheritanceRelationship>
<superclass><xsl:value-of select="@base"/>
</superclass><subclass>
<xsl:value-of select="../../@name"/></subclass>
</inheritanceRelationship></xsl:for-each>
</inheritanceRelationships></xsl:template>
<xsl:template name="createClasses"><!-- for each complex type one level down from from schema, create a class --><classes>
<xsl:for-each select="xsd:complexType"><xsl:sort select="@name"/>
<class><name>
<xsl:value-of select="@name"/></name><xsl:call-template name="createClassArchitectureIssues"/><xsl:call-template name="createAttributes"/>
</class>
Page: 3
![Page 43: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/43.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
</xsl:for-each></classes>
</xsl:template>
<xsl:template name="createClassArchitectureIssues"><!-- set up architecture issues for class --><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><xsl:variable name="className" select="@name"/><xsl:if test="/xsd:schema/xsd:element[@type = $className]">
<architectureIssue><name>XMLMapping.XMLConduit.IsRoot</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.UseXMLName</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.XMLName</name><value><xsl:value-of select="$className"/></value>
</architectureIssue></xsl:if><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value><xsl:value-of select="$homePrefix"/></value>
</architectureIssue><xsl:if test="xsd:annotation/xsd:appinfo/indexPrefix">
<architectureIssue><name>Domain.RoseBudHome.GenerateIdentifiers</name><value><xsl:value-of select="/xsd:schema/xsd:annotation/xsd:appinfo/generateIndexes"/></value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.IdentifierPrefix</name><value><xsl:value-of select="xsd:annotation/xsd:appinfo/indexPrefix"/></value>
</architectureIssue></xsl:if>
</architectureIssues></xsl:template>
Page: 4
![Page 44: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/44.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
<xsl:template name="createAttributes"><!-- for each element in the sequence that is a reference, create an attribute --><attributes>
<!-- for complex types with extension --><xsl:for-each select="xsd:complexContent/xsd:extension/xsd:sequence/xsd:element">
<xsl:call-template name="createAttribute"/></xsl:for-each><!-- for complex types without extension --><xsl:for-each select="xsd:sequence/xsd:element">
<xsl:call-template name="createAttribute"/></xsl:for-each>
</attributes></xsl:template>
<xsl:template name="createAttribute"><xsl:if test="normalize-space(@ref)">
<xsl:variable name="refString" select="@ref"/><xsl:variable name="schemaType" select="/xsd:schema/xsd:element[@name = $refString]/xsd:simpleType/xsd:restr
iction/@base"/><xsl:if test="not(normalize-space($schemaType))">
<xsl:message>Invalid attribute <xsl:value-of select="$refString"/></xsl:message></xsl:if><attribute>
<name><xsl:value-of select="@ref"/>
</name><type>
<xsl:call-template name="getCmlTypeForXsdType"><xsl:with-param name="xsdType" select="$schemaType"/></xsl:call-template>
</type><xsl:call-template name="createAttributeArchitecureIssues">
<xsl:with-param name="attributeName" select="$refString"/></xsl:call-template>
</attribute></xsl:if>
</xsl:template>
<xsl:template name="createAttributeArchitecureIssues"><!-- create architeture issues for an attribute --><xsl:param name="attributeName"/><xsl:for-each select="/xsd:schema/xsd:element[@name = $attributeName]">
<architectureIssues><architectureIssue>
<name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><xsl:choose>
Page: 5
![Page 45: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/45.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
<xsl:when test="normalize-space(xsd:simpleType/xsd:restriction/xsd:length/@value)"><architectureIssue>
<name>Domain.WholeValueAttribute.checkMinimumLength</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.WholeValueAttribute.minimumLength</name><value><xsl:value-of select="xsd:simpleType/xsd:restriction/xsd:length/@value"/></value>
</architectureIssue><architectureIssue>
<name>Domain.WholeValueAttribute.checkMaximumLength</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.WholeValueAttribute.maximumLength</name><value><xsl:value-of select="xsd:simpleType/xsd:restriction/xsd:length/@value"/></value>
</architectureIssue></xsl:when><xsl:when test="normalize-space(xsd:simpleType/xsd:restriction/xsd:minLength/@value)">
<architectureIssue><name>Domain.WholeValueAttribute.checkMinimumLength</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.WholeValueAttribute.minimumLength</name><value><xsl:value-of select="xsd:simpleType/xsd:restriction/xsd:minLength/@value"/></value>
</architectureIssue></xsl:when><xsl:when test="normalize-space(xsd:simpleType/xsd:restriction/xsd:maxLength/@value)">
<architectureIssue><name>Domain.WholeValueAttribute.checkMaximumLength</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.WholeValueAttribute.maximumLength</name><value><xsl:value-of select="xsd:simpleType/xsd:restriction/xsd:maxLength/@value"/></value>
</architectureIssue></xsl:when>
</xsl:choose></architectureIssues>
</xsl:for-each></xsl:template>
<xsl:template name="createAssociations"><!-- for each complexType that has elements with name, create an association --><associations>
<!-- for complexType with extension -->
Page: 6
![Page 46: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/46.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
<xsl:for-each select="/xsd:schema/xsd:complexType/xsd:complexContent/xsd:extension/xsd:sequence/xsd:element[normalize-space(@name)]">
<xsl:call-template name="createAssociation"/></xsl:for-each><!-- for complexType without extension --><xsl:for-each select="/xsd:schema/xsd:complexType/xsd:sequence/xsd:element[normalize-space(@name)]">
<xsl:call-template name="createAssociation"/></xsl:for-each>
</associations></xsl:template>
<xsl:template name="createAssociation"><association>
<name><xsl:value-of select="@name"/>
</name><xsl:choose>
<!-- if element is complexType, then relationship is one to many --><xsl:when test="child::xsd:complexType">
<targetRole><xsl:for-each select="xsd:complexType/xsd:sequence/xsd:element">
<name><xsl:value-of select="@name"/>
</name><className>
<xsl:value-of select="@type"/></className><minimumCardinality>
<xsl:call-template name="convertOccurs"><xsl:with-param name="inputOccurs" select="@minOccurs"/>
</xsl:call-template></minimumCardinality><maximumCardinality>
<xsl:call-template name="convertOccurs"><xsl:with-param name="inputOccurs" select="@maxOccurs"/>
</xsl:call-template></maximumCardinality>
</xsl:for-each><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/>
Page: 7
![Page 47: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/47.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
<!-- get source complex type name --><!-- if this is a class with extension --><xsl:if test="../../@base">
<className><xsl:value-of select="../../../../@name"/></className></xsl:if><!-- if this is a class without extension --><xsl:if test="not(../../@base)">
<className><xsl:value-of select="../../@name"/></className></xsl:if><architectureIssues/>
</sourceRole></xsl:when><xsl:otherwise>
<!-- if element is not complexType, then relationship is one to one --><targetRole>
<name><xsl:value-of select="@name"/></name><className><xsl:value-of select="@type"/></className><minimumCardinality>
<xsl:call-template name="convertOccurs"><xsl:with-param name="inputOccurs" select="@minOccurs"/>
</xsl:call-template></minimumCardinality><maximumCardinality>
<xsl:call-template name="convertOccurs"><xsl:with-param name="inputOccurs" select="@maxOccurs"/>
</xsl:call-template></maximumCardinality><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><!-- get source complex type name --><!-- if this is a class with extension --><xsl:if test="../../@base">
<className><xsl:value-of select="../../../../@name"/></className></xsl:if><!-- if this is a class without extension --><xsl:if test="not(../../@base)">
<className><xsl:value-of select="../../@name"/></className></xsl:if><architectureIssues/>
</sourceRole>
Page: 8
![Page 48: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/48.jpg)
file://f:\mda\uml workshop\chubb xsd to cml.xsl
</xsl:otherwise></xsl:choose>
</association></xsl:template>
<xsl:template name="convertOccurs"><!-- convert occurs from schema to cardinality for cml" --><xsl:param name="inputOccurs"/><xsl:choose>
<xsl:when test="$inputOccurs = 'unbounded'">-1</xsl:when><xsl:otherwise><xsl:value-of select="$inputOccurs"/></xsl:otherwise>
</xsl:choose></xsl:template>
</xsl:stylesheet>
Page: 9
![Page 49: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/49.jpg)
file://f:\mda\uml workshop\sample cml.xml
<?xml version="1.0" encoding="UTF-8"?><!--
sample cml.xml(c) Copyright 2002 Chubb and Son, Inc.
--><model xmlns:tt="http://typeTable.data" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<packages><package>
<name>com</name><packages>
<package><name>chubb</name><packages>
<package><name>demoPolicy</name><packages>
<package><name>domain</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.ValidateWithXMLSchema</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.TagNameSpecifiesType</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.ValidateWithSchema</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name>
Page: 1
![Page 50: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/50.jpg)
file://f:\mda\uml workshop\sample cml.xml
<value>DemoPolicy</value></architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.MaxSampleHierarchyDepth</name><value>2</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.SampleCollectionCount</name><value>1</value>
</architectureIssue></architectureIssues><inheritanceRelationships/><classes>
<class><name>Address</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes>
<attribute><name>Street</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute><attribute>
Page: 2
![Page 51: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/51.jpg)
file://f:\mda\uml workshop\sample cml.xml
<name>City</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute><attribute>
<name>State</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute></attributes>
</class><class>
<name>Building</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes/>
</class><class>
<name>Coverage</name>
Page: 3
![Page 52: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/52.jpg)
file://f:\mda\uml workshop\sample cml.xml
<architectureIssues><architectureIssue>
<name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes>
<attribute><name>Name</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute><attribute>
<name>Limit</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute><attribute>
<name>Deductible</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name>
Page: 4
![Page 53: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/53.jpg)
file://f:\mda\uml workshop\sample cml.xml
<value>True</value></architectureIssue>
</architectureIssues></attribute>
</attributes></class><class>
<name>Location</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes/>
</class><class>
<name>Policy</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.IsRoot</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.UseXMLName</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.XMLName</name>
Page: 5
![Page 54: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/54.jpg)
file://f:\mda\uml workshop\sample cml.xml
<value>Policy</value></architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes>
<attribute><name>Number</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute></attributes>
</class><class>
<name>Transaction</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes>
Page: 6
![Page 55: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/55.jpg)
file://f:\mda\uml workshop\sample cml.xml
<attribute><name>IssueDate</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute></attributes>
</class></classes><associations>
<association><name>Address</name><targetRole>
<name>Address</name><className>Address</className><minimumCardinality>0</minimumCardinality><maximumCardinality>1</maximumCardinality><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Building</className><architectureIssues/>
</sourceRole></association><association>
<name>Coverages</name><targetRole>
<name>Coverage</name><className>Coverage</className><minimumCardinality>0</minimumCardinality><maximumCardinality>-1</maximumCardinality>
Page: 7
![Page 56: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/56.jpg)
file://f:\mda\uml workshop\sample cml.xml
<architectureIssues><architectureIssue>
<name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Building</className><architectureIssues/>
</sourceRole></association><association>
<name>Buildings</name><targetRole>
<name>Building</name><className>Building</className><minimumCardinality>0</minimumCardinality><maximumCardinality>-1</maximumCardinality><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Location</className><architectureIssues/>
</sourceRole></association><association>
<name>Transactions</name><targetRole>
<name>Transaction</name><className>Transaction</className><minimumCardinality>0</minimumCardinality><maximumCardinality>-1</maximumCardinality><architectureIssues>
Page: 8
![Page 57: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/57.jpg)
file://f:\mda\uml workshop\sample cml.xml
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Policy</className><architectureIssues/>
</sourceRole></association><association>
<name>Locations</name><targetRole>
<name>Location</name><className>Location</className><minimumCardinality>0</minimumCardinality><maximumCardinality>-1</maximumCardinality><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Transaction</className><architectureIssues/>
</sourceRole></association>
</associations></package>
</packages></package>
</packages></package>
</packages></package>
</packages>
Page: 9
![Page 58: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/58.jpg)
file://f:\mda\uml workshop\sample cml.xml
</model>
Page: 10
![Page 59: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/59.jpg)
file://f:\mda\uml workshop\combine cml with arch.xsl
<?xml version="1.0" encoding="utf-8"?><!--
combine cml with arch.xsl(c) Copyright 2002 Chubb and Son, Inc.
--><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output encoding="UTF-8" method="xml" indent="yes"/>
<xsl:variable name="ArchitectureSpecificationFileName">some architecture spec file name</xsl:variable>
<xsl:template match="/model"><xsl:copy>
<xsl:copy-of select="*"/><xsl:copy-of select="document($ArchitectureSpecificationFileName)/ArchitecturalDefinition"/>
</xsl:copy></xsl:template>
</xsl:stylesheet>
Page: 1
![Page 60: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/60.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<?xml version="1.0" encoding="UTF-8"?><!--
sample cml plus arch.xml(c) Copyright 2002 Chubb and Son, Inc.
--><model xmlns:tt="http://typeTable.data" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<packages><package>
<name>com</name><packages>
<package><name>chubb</name><packages>
<package><name>demoPolicy</name><packages>
<package><name>domain</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.ValidateWithXMLSchema</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.TagNameSpecifiesType</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.ValidateWithSchema</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name>
Page: 1
![Page 61: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/61.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<value>DemoPolicy</value></architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.MaxSampleHierarchyDepth</name><value>2</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.SampleCollectionCount</name><value>1</value>
</architectureIssue></architectureIssues><inheritanceRelationships/><classes>
<class><name>Address</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes>
<attribute><name>Street</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute><attribute>
Page: 2
![Page 62: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/62.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<name>City</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute><attribute>
<name>State</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute></attributes>
</class><class>
<name>Building</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes/>
</class><class>
<name>Coverage</name>
Page: 3
![Page 63: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/63.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<architectureIssues><architectureIssue>
<name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes>
<attribute><name>Name</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute><attribute>
<name>Limit</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute><attribute>
<name>Deductible</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name>
Page: 4
![Page 64: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/64.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<value>True</value></architectureIssue>
</architectureIssues></attribute>
</attributes></class><class>
<name>Location</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes/>
</class><class>
<name>Policy</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.IsRoot</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.UseXMLName</name><value>True</value>
</architectureIssue><architectureIssue>
<name>XMLMapping.XMLConduit.XMLName</name>
Page: 5
![Page 65: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/65.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<value>Policy</value></architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes>
<attribute><name>Number</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute></attributes>
</class><class>
<name>Transaction</name><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomeManaged</name><value>True</value>
</architectureIssue><architectureIssue>
<name>Domain.RoseBudHome.HomePrefix</name><value>DemoPolicy</value>
</architectureIssue></architectureIssues><attributes>
Page: 6
![Page 66: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/66.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<attribute><name>IssueDate</name><type>java.lang.String</type><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</attribute></attributes>
</class></classes><associations>
<association><name>Address</name><targetRole>
<name>Address</name><className>Address</className><minimumCardinality>0</minimumCardinality><maximumCardinality>1</maximumCardinality><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Building</className><architectureIssues/>
</sourceRole></association><association>
<name>Coverages</name><targetRole>
<name>Coverage</name><className>Coverage</className><minimumCardinality>0</minimumCardinality><maximumCardinality>-1</maximumCardinality>
Page: 7
![Page 67: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/67.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<architectureIssues><architectureIssue>
<name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Building</className><architectureIssues/>
</sourceRole></association><association>
<name>Buildings</name><targetRole>
<name>Building</name><className>Building</className><minimumCardinality>0</minimumCardinality><maximumCardinality>-1</maximumCardinality><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Location</className><architectureIssues/>
</sourceRole></association><association>
<name>Transactions</name><targetRole>
<name>Transaction</name><className>Transaction</className><minimumCardinality>0</minimumCardinality><maximumCardinality>-1</maximumCardinality><architectureIssues>
Page: 8
![Page 68: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/68.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Policy</className><architectureIssues/>
</sourceRole></association><association>
<name>Locations</name><targetRole>
<name>Location</name><className>Location</className><minimumCardinality>0</minimumCardinality><maximumCardinality>-1</maximumCardinality><architectureIssues>
<architectureIssue><name>XMLMapping.XMLConduit.XMLEnabled</name><value>True</value>
</architectureIssue></architectureIssues>
</targetRole><sourceRole>
<name/><className>Transaction</className><architectureIssues/>
</sourceRole></association>
</associations></package>
</packages></package>
</packages></package>
</packages></package>
</packages>
Page: 9
![Page 69: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/69.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
<ArchitecturalDefinition VERSION=""><ArchitecturalLayers>
<ArchitecturalLayer ID="Le2909320-7fe6-11d6-80a6-444553544200" NAME="XMLMapping" VERSION="1.0"><Caption>XMLMapping</Caption><Description>This layer enables objects for mapping to and from
XML.</Description><ArchitecturalIssues>
<ArchitecturalIssue IDREF="I1206DB60773311D6809D0010A4896034"/></ArchitecturalIssues>
</ArchitecturalLayer><!-- lines removed -->
</ArchitecturalLayers><ArchitecturalIssues>
<!-- lines removed --><ArchitecturalIssue ID="I1206DB60773311D6809D0010A4896034" NAME="XMLConduit" VERSION="1.0">
<Caption>XMLConduit</Caption><Description></Description><TaggedValues>
<!-- lines removed --><TaggedValue ID="T1206DBAD773311D6809D0010A4896034" ISENUMERATION="False" ISMANDATORY="False" ISREADO
NLY="False" ISVISIBLE="True" NAME="XMLEnabled" SEQUENCEORDER="1" TYPE="String" VERSION="1.0"><Caption>XMLEnabled</Caption><Description>Enables Item for Parsing and
Creation of XML.</Description><UMLElementTypes>
<UMLElementType NAME="Attribute"><DefaultValue></DefaultValue>
</UMLElementType><UMLElementType NAME="Role">
<DefaultValue></DefaultValue>
</UMLElementType><UMLElementType NAME="Class">
<DefaultValue></DefaultValue>
</UMLElementType><UMLElementType NAME="Interface">
<DefaultValue></DefaultValue>
Page: 10
![Page 70: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/70.jpg)
file://f:\mda\uml workshop\sample cml plus arch.xml
</UMLElementType><UMLElementType NAME="Package">
<DefaultValue></DefaultValue>
</UMLElementType><UMLElementType NAME="Association">
<DefaultValue></DefaultValue>
</UMLElementType></UMLElementTypes>
</TaggedValue><!-- lines removed-->
</TaggedValues></ArchitecturalIssue>
</ArchitecturalIssues></ArchitecturalDefinition></model>
Page: 11
![Page 71: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/71.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
<?xml version="1.0" encoding="utf-8"?><!--
cml to xmi.xsl(c) Copyright 2002 Chubb and Son, Inc.
--><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:UML="//org.omg/UML/1.3">
<xsl:output encoding="UTF-8" method="xml" indent="yes"/>
<xsl:template match="/model"><XMI xmi.version="1.1" xmlns:UML="//org.omg/UML/1.3" timestamp="Mon Apr 08 16:33:21 2002">
<XMI.header><XMI.documentation>
<XMI.exporter>RoseBud</XMI.exporter><XMI.exporterVersion>1.0</XMI.exporterVersion>
</XMI.documentation><XMI.metamodel xmi.name="UML" xmi.version="1.3"/>
</XMI.header><XMI.content>
<UML:Model><xsl:attribute name="xmi.id">G.root</xsl:attribute><xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute><xsl:attribute name="visibility">public</xsl:attribute><xsl:attribute name="isSpecification">false</xsl:attribute><xsl:attribute name="isRoot">false</xsl:attribute><xsl:attribute name="isLeaf">false</xsl:attribute><xsl:attribute name="isAbstract">false</xsl:attribute><UML:Namespace.ownedElement>
<!-- <UML:Package><xsl:attribute name="xmi.id">package.<xsl:call-template name="getPathForCurrentPackage"/></x
sl:attribute><xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute><xsl:attribute name="visiblity">public</xsl:attribute><xsl:attribute name="isSpecification">false</xsl:attribute><xsl:attribute name="isRoot">false</xsl:attribute><xsl:attribute name="isLeaf">false</xsl:attribute><xsl:attribute name="isAbstract">false</xsl:attribute>
--> <xsl:apply-templates select="packages/package" mode="classes"/> <!--</UML:Package> --><UML:DataType xmi.id="datatype.java.lang.String" name="String" visibility="public" isSpecificati
on="false" isroot="false" isLeaf="false" isAbstract="false"/><UML:DataType xmi.id="datatype.java.math.BigDecimal" name="BigDecimal" visibility="public" isSpe
cification="false" isroot="false" isLeaf="false" isAbstract="false"/><UML:DataType xmi.id="datatype.short" name="short" visibility="public" isSpecification="false" i
sroot="false" isLeaf="false" isAbstract="false"/><UML:DataType xmi.id="datatype.int" name="int" visibility="public" isSpecification="false" isroo
t="false" isLeaf="false" isAbstract="false"/>
Page: 1
![Page 72: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/72.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
<UML:DataType xmi.id="datatype.long" name="long" visibility="public" isSpecification="false" isroot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="datatype.double" name="double" visibility="public" isSpecification="false"isroot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="datatype.java.util.Date" name="Date" visibility="public" isSpecification="false" isroot="false" isLeaf="false" isAbstract="false"/>
<!-- do stereotypes - get to leaf package and collect classes there --><xsl:for-each select="//package[count(packages) = 0]">
<xsl:variable name="leafPackageName"><xsl:call-template name="getPathForCurrentPackage"/></xsl:variable>
<UML:Stereotype xmi.id="stereotype.DomainStandard" name="DomainStandard" visibility="public"isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false" icon="" baseClass="Class">
<UML:Stereotype.extendedElement><xsl:for-each select="classes/class">
<Foundation.Core.ModelElement><xsl:attribute name="xmi.idref">class.<xsl:value-of select="$leafPackageName
"/>.<xsl:value-of select="name"/></xsl:attribute></Foundation.Core.ModelElement>
</xsl:for-each></UML:Stereotype.extendedElement>
</UML:Stereotype></xsl:for-each>
</UML:Namespace.ownedElement></UML:Model><xsl:apply-templates select="packages/package" mode="taggedValues"/>
</XMI.content></XMI>
</xsl:template>
<xsl:template match="packages/package" mode="classes">
<xsl:variable name="packageName"><xsl:call-template name="getPathForCurrentPackage"/></xsl:variable><UML:Package>
<xsl:attribute name="xmi.id">package.<xsl:call-template name="getPathForCurrentPackage"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute><xsl:attribute name="visiblity">public</xsl:attribute><xsl:attribute name="isSpecification">false</xsl:attribute><xsl:attribute name="isRoot">false</xsl:attribute><xsl:attribute name="isLeaf">false</xsl:attribute><xsl:attribute name="isAbstract">false</xsl:attribute><UML:ModelElement.namespace>
<Foundation.Core.Namespace><xsl:attribute name="xmi.idref">package.<xsl:call-template name="getParentPathForCurrentPackage"
/></xsl:attribute></Foundation.Core.Namespace>
</UML:ModelElement.namespace>
Page: 2
![Page 73: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/73.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
<UML:Namespace.ownedElement><xsl:apply-templates select="packages/package" mode="classes"/>
</UML:Namespace.ownedElement><xsl:if test="normalize-space(classes)"> <!-- create package variable, we have classes -->
<UML:Namespace.ownedElement><xsl:for-each select="classes/class">
<xsl:variable name="className" select="name"/><UML:Class>
<xsl:attribute name="xmi.id">class.<xsl:value-of select="$packageName"/>.<xsl:value-of select="$className"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute><xsl:attribute name="visibility">public</xsl:attribute><xsl:attribute name="isSpecification">false</xsl:attribute><xsl:attribute name="isRoot">true</xsl:attribute><xsl:attribute name="isLeaf">true</xsl:attribute><xsl:attribute name="isAbstract">false</xsl:attribute><xsl:attribute name="isActive">false</xsl:attribute><UML:ModelElement.namespace>
<Foundation.Core.Namespace><xsl:attribute name="xmi.idref">package.<xsl:value-of select="$packageNa
me"/></xsl:attribute></Foundation.Core.Namespace>
</UML:ModelElement.namespace><UML:GeneralizableElement.generalization>
<xsl:for-each select="../../inheritanceRelationships/inheritanceRelationship[subclass = $className]">
<Foundation.Core.Generalization><xsl:attribute name="xmi.idref">inheritance.<xsl:value-of select="$p
ackageName"/>.<xsl:value-of select="superclass"/>.<xsl:value-of select="subclass"/></xsl:attribute></Foundation.Core.Generalization>
</xsl:for-each></UML:GeneralizableElement.generalization><UML:GeneralizableElement.specialization>
<xsl:for-each select="../../inheritanceRelationships/inheritanceRelationship[superclass = $className]">
<Foundation.Core.Generalization><xsl:attribute name="xmi.idref">inheritance.<xsl:value-of select="$p
ackageName"/>.<xsl:value-of select="superclass"/>.<xsl:value-of select="subclass"/></xsl:attribute></Foundation.Core.Generalization>
</xsl:for-each></UML:GeneralizableElement.specialization><UML:Namespace.ownedElement>
<xsl:for-each select="../../inheritanceRelationships/inheritanceRelationship[subclass = $className]">
<UML:Generalization visibility="public" isSpecification="false" discriminator="">
Page: 3
![Page 74: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/74.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
<xsl:attribute name="xmi.id">inheritance.<xsl:value-of select="$packageName"/>.<xsl:value-of select="superclass"/>.<xsl:value-of select="subclass"/></xsl:attribute>
<UML:Generalization.child><Foundation.Core.GeneralizableElement>
<xsl:attribute name="xmi.idref">class.<xsl:value-of select="$packageName"/>.<xsl:value-of select="$className"/></xsl:attribute>
</Foundation.Core.GeneralizableElement></UML:Generalization.child><UML:Generalization.parent>
<Foundation.Core.GeneralizableElement><xsl:attribute name="xmi.idref">class.<xsl:value-of select="
$packageName"/>.<xsl:value-of select="superclass"/></xsl:attribute></Foundation.Core.GeneralizableElement>
</UML:Generalization.parent></UML:Generalization>
</xsl:for-each></UML:Namespace.ownedElement><UML:Classifier.feature>
<xsl:for-each select="attributes/attribute"><UML:Attribute>
<xsl:attribute name="xmi.id">attribute.<xsl:value-of select="$packageName"/>.<xsl:value-of select="$className"/>.<xsl:value-of select="name"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute>
<xsl:attribute name="visibility">public</xsl:attribute><xsl:attribute name="isSpecification">false</xsl:attribute><xsl:attribute name="ownerScope">instance</xsl:attribute><xsl:attribute name="changeability">changeable</xsl:attribute><xsl:attribute name="targetScope">instance</xsl:attribute><UML:StructuralFeature.multiplicity>
<UML:Multiplicity><UML:Multiplicity.range>
<UML:MultiplicityRange lower="1" upper="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression language="" body=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier><xsl:attribute name="xmi.idref">datatype.<xsl:value-of selec
t="type"/></xsl:attribute></Foundation.Core.Classifier>
</UML:StructuralFeature.type></UML:Attribute>
</xsl:for-each>
Page: 4
![Page 75: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/75.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
</UML:Classifier.feature></UML:Class>
</xsl:for-each><xsl:for-each select="associations/association">
<xsl:variable name="associationName"><xsl:value-of select="$packageName"/>.<xsl:value-of select="name"/>.<xsl:value-of select="sourceRole/className"/>.<xsl:value-of select="targetRole/name"/></xsl:variable>
<UML:Association><xsl:attribute name="xmi.id">association.<xsl:value-of select="$associationName"
/></xsl:attribute><xsl:attribute name="name"><xsl:value-of select="name"/></xsl:attribute><xsl:attribute name="visibility">public</xsl:attribute><xsl:attribute name="isSpecification">false</xsl:attribute><xsl:attribute name="isRoot">false</xsl:attribute><xsl:attribute name="isLeaf">false</xsl:attribute><xsl:attribute name="isAbstract">false</xsl:attribute><UML:Association.connection>
<UML:AssociationEnd><xsl:attribute name="xmi.id">role.<xsl:value-of select="$associationName
"/>.<xsl:value-of select="targetRole/name"/></xsl:attribute><xsl:attribute name="name"><xsl:value-of select="targetRole/name"/></xsl
:attribute><xsl:attribute name="visibility">public</xsl:attribute><xsl:attribute name="isSpecification">false</xsl:attribute><xsl:attribute name="isNavigable">true</xsl:attribute><xsl:attribute name="ordering">unordered</xsl:attribute><xsl:attribute name="aggregation">none</xsl:attribute><xsl:attribute name="targetScope">instance</xsl:attribute><xsl:attribute name="changeability">changeable</xsl:attribute><UML:AssociationEnd.multiplicity>
<UML:Multiplicity><UML:Multiplicity.range>
<UML:MultiplicityRange><xsl:attribute name="lower"><xsl:value-of select="target
Role/minimumCardinality"/></xsl:attribute><xsl:attribute name="upper"><xsl:value-of select="target
Role/maximumCardinality"/></xsl:attribute></UML:MultiplicityRange>
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier><xsl:attribute name="xmi.idref">class.<xsl:value-of select="$pac
kageName"/>.<xsl:value-of select="targetRole/className"/></xsl:attribute></Foundation.Core.Classifier>
</UML:AssociationEnd.type>
Page: 5
![Page 76: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/76.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
</UML:AssociationEnd><UML:AssociationEnd>
<xsl:attribute name="xmi.id">role.<xsl:value-of select="$associationName"/>.<xsl:value-of select="sourceRole/className"/>.type</xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="sourceRole/name"/>
</xsl:attribute><xsl:attribute name="visibility">public</xsl:attribute><xsl:attribute name="isSpecification">false</xsl:attribute><xsl:attribute name="isNavigable">false</xsl:attribute><xsl:attribute name="ordering">unordered</xsl:attribute><xsl:attribute name="aggregation">aggregate</xsl:attribute><xsl:attribute name="targetScope">instance</xsl:attribute><xsl:attribute name="changeability">changeable</xsl:attribute><UML:AssociationEnd.multiplicity>
<UML:Multiplicity><UML:Multiplicity.range>
<UML:MultiplicityRange lower="1" upper="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier><xsl:attribute name="xmi.idref">class.<xsl:value-of select="$pac
kageName"/>.<xsl:value-of select="sourceRole/className"/></xsl:attribute></Foundation.Core.Classifier>
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association>
</xsl:for-each></UML:Namespace.ownedElement>
</xsl:if></UML:Package>
</xsl:template>
<xsl:template match="packages/package" mode="taggedValues"><xsl:if test="normalize-space(classes)"> <!-- create package variable, we have classes -->
<xsl:variable name="packageName"><xsl:call-template name="getPathForCurrentPackage"/></xsl:variable><UML:TaggedValue xmi.id="XX.2" tag="RationalRose:Tool#1" value="Gen-it Architect 2.5">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="G.root"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><xsl:for-each select="architectureIssues/architectureIssue">
<UML:TaggedValue><xsl:attribute name="xmi.id">taggedValue.package.<xsl:value-of select="$packageName"/></xsl:attribut
Page: 6
![Page 77: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/77.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
e><xsl:attribute name="tag"><xsl:call-template name="getCodagenTaggedValueName"/></xsl:attribute><xsl:attribute name="value"><xsl:value-of select="value"/></xsl:attribute><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement><xsl:attribute name="xmi.idref">package.<xsl:value-of select="$packageName"/></xsl:attribute
></Foundation.Core.ModelElement>
</UML:TaggedValue.modelElement></UML:TaggedValue>
</xsl:for-each><xsl:for-each select="classes/class">
<xsl:variable name="className" select="name"/><xsl:for-each select="architectureIssues/architectureIssue">
<UML:TaggedValue><xsl:attribute name="xmi.id">taggedValue.class.<xsl:value-of select="$packageName"/>.<xsl:value-
of select="$className"/></xsl:attribute><xsl:attribute name="tag"><xsl:call-template name="getCodagenTaggedValueName"/></xsl:attribute><xsl:attribute name="value"><xsl:value-of select="value"/></xsl:attribute><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement><xsl:attribute name="xmi.idref">class.<xsl:value-of select="$packageName"/>.<xsl:value-o
f select="$className"/></xsl:attribute></Foundation.Core.ModelElement>
</UML:TaggedValue.modelElement></UML:TaggedValue>
</xsl:for-each><xsl:for-each select="attributes/attribute">
<xsl:variable name="attributeName" select="name"/><xsl:for-each select="architectureIssues/architectureIssue">
<UML:TaggedValue><xsl:attribute name="xmi.id">taggedValue.attribute.<xsl:value-of select="$packageName"/>.<xs
l:value-of select="$className"/>.<xsl:value-of select="$attributeName"/></xsl:attribute><xsl:attribute name="tag"><xsl:call-template name="getCodagenTaggedValueName"/></xsl:attribu
te><xsl:attribute name="value"><xsl:value-of select="value"/></xsl:attribute><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement><xsl:attribute name="xmi.idref">attribute.<xsl:value-of select="$packageName"/>.<xsl
:value-of select="$className"/>.<xsl:value-of select="$attributeName"/></xsl:attribute></Foundation.Core.ModelElement>
</UML:TaggedValue.modelElement></UML:TaggedValue>
</xsl:for-each></xsl:for-each>
</xsl:for-each><xsl:for-each select="associations/association">
Page: 7
![Page 78: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/78.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
<xsl:variable name="associationName"><xsl:value-of select="$packageName"/>.<xsl:value-of select="name"/>.<xsl:value-of select="sourceRole
/className"/>.<xsl:value-of select="targetRole/name"/></xsl:variable><xsl:variable name="targetRoleName" select="targetRole/name"/><xsl:for-each select="targetRole/architectureIssues/architectureIssue">
<UML:TaggedValue><xsl:attribute name="xmi.id">taggedValue.role.<xsl:value-of select="$associationName"/>.<xsl:val
ue-of select="$targetRoleName"/></xsl:attribute><xsl:attribute name="tag"><xsl:call-template name="getCodagenTaggedValueName"/></xsl:attribute><xsl:attribute name="value"><xsl:value-of select="value"/></xsl:attribute><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement><xsl:attribute name="xmi.idref">role.<xsl:value-of select="$associationName"/>.<xsl:valu
e-of select="$targetRoleName"/></xsl:attribute></Foundation.Core.ModelElement>
</UML:TaggedValue.modelElement></UML:TaggedValue>
</xsl:for-each></xsl:for-each><UML:Diagram>
<xsl:attribute name="xmi.id">classDiagram.<xsl:value-of select="$packageName"/>.Main</xsl:attribute><xsl:attribute name="name">Main</xsl:attribute><xsl:attribute name="toolName">Rational Rose 98</xsl:attribute><xsl:attribute name="diagramType">ClassDiagram</xsl:attribute><xsl:attribute name="style"></xsl:attribute><UML:Diagram.owner>
<Foundation.Core.ModelElement><xsl:attribute name="xmi.idref">package.<xsl:value-of select="$packageName"/></xsl:attribute>
</Foundation.Core.ModelElement></UML:Diagram.owner><UML:DiagramElement>
<xsl:attribute name="xmi.id">classDiagram.package.<xsl:value-of select="$packageName"/></xsl:attribute>
<xsl:attribute name="geometry">100, 100, 300, 180,</xsl:attribute><xsl:attribute name="style">Category</xsl:attribute><UML:PresentationElement.subject>
<Foundation.Core.ModelElement><xsl:attribute name="xmi.idref">package.<xsl:value-of select="$packageName"/></xsl:attribute
></Foundation.Core.ModelElement>
</UML:PresentationElement.subject></UML:DiagramElement>
</UML:Diagram></xsl:if><xsl:apply-templates select="packages/package" mode="taggedValues"/>
</xsl:template>
Page: 8
![Page 79: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/79.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
<!--Return a concatenated full path for the package.Something like "com.chubb.x.y.z" when z is the current package.
--><xsl:template name="getPathForCurrentPackage">
<xsl:call-template name="getParentPathForCurrentPackage"/><xsl:value-of select="name"/></xsl:template>
<!--Return a concatenated full path for the package parents only.Something like "com.chubb.x.y.z" when z is the current package.
--><xsl:template name="getParentPathForCurrentPackage">
<xsl:for-each select="ancestor::package"><xsl:value-of select="name"/>.</xsl:for-each>
</xsl:template>
<!--Return the tagged value name for Codagen.
Parse the LayerName.IssueName.PropertyName and return ids instead.Only append the propertyID for those that have a property ID, same goes for issue id.
--><xsl:template name="getCodagenTaggedValueName">
<xsl:variable name="layerString"><xsl:value-of select="substring-before(name, '.')"/></xsl:variable><xsl:variable name="issueString"><xsl:value-of select="substring-before(substring-after(name, '.'), '.')"/></xsl
:variable><xsl:variable name="propertyString"><xsl:value-of select="substring-after(substring-after(name, '.'), '.')"/></x
sl:variable><xsl:variable name="layerID">
<xsl:call-template name="getLayerIdFor"><xsl:with-param name="layerName" select="$layerString"/>
</xsl:call-template></xsl:variable><xsl:variable name="issueID">
<xsl:call-template name="getIssueIdFor"><xsl:with-param name="issueName" select="$issueString"/>
</xsl:call-template></xsl:variable><xsl:variable name="propertyID">
<xsl:call-template name="getPropertyIdFor"><xsl:with-param name="issueName" select="$issueString"/><xsl:with-param name="propertyName" select="$propertyString"/>
</xsl:call-template></xsl:variable><xsl:variable name="concatenatedIDs">
Page: 9
![Page 80: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/80.jpg)
file://f:\mda\uml workshop\cml to xmi.xsl
<xsl:value-of select="concat('RationalRose$Gen-it Architect 2.5:Codagen.', normalize-space($layerID))"/><xsl:if test="normalize-space($issueID)">
<xsl:value-of select="concat('.', normalize-space($issueID))"/><xsl:if test="normalize-space($propertyID)">
<xsl:value-of select="concat('.', normalize-space($propertyID))"/></xsl:if>
</xsl:if></xsl:variable><xsl:value-of select="normalize-space($concatenatedIDs)"/>
</xsl:template>
<xsl:template name="getCodagenTaggedValueValue"></xsl:template>
<xsl:template name="getLayerIdFor"><xsl:param name="layerName"/><xsl:value-of select="/model/ArchitecturalDefinition/ArchitecturalLayers/ArchitecturalLayer[@NAME = $layerName]/
@ID"/></xsl:template>
<xsl:template name="getIssueIdFor"><xsl:param name="issueName"/><xsl:value-of select="/model/ArchitecturalDefinition/ArchitecturalIssues/ArchitecturalIssue[@NAME = $issueName]/
@ID"/></xsl:template>
<xsl:template name="getPropertyIdFor"><xsl:param name="issueName"/><xsl:param name="propertyName"/><xsl:value-of select="/model/ArchitecturalDefinition/ArchitecturalIssues/ArchitecturalIssue[@NAME = $issueName]/
TaggedValues/TaggedValue[@NAME = $propertyName]/@ID"/></xsl:template>
</xsl:stylesheet>
Page: 10
![Page 81: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/81.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<?xml version="1.0" encoding="UTF-8"?><!--
sample xmi.xml(c) Copyright 2002 Chubb and Son, Inc.
--><XMI timestamp="Mon Apr 08 16:33:21 2002" xmi.version="1.1" xmlns:UML="//org.omg/UML/1.3">
<XMI.header><XMI.documentation>
<XMI.exporter>RoseBud</XMI.exporter><XMI.exporterVersion>1.0</XMI.exporterVersion>
</XMI.documentation><XMI.metamodel xmi.version="1.3" xmi.name="UML"/>
</XMI.header><XMI.content>
<UML:Model xmi.id="G.root" name="" visibility="public" isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false">
<UML:Namespace.ownedElement><UML:Package xmi.id="package.com" name="com" visiblity="public" isSpecification="false" isRoo
t="false" isLeaf="false" isAbstract="false"><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref="package."/></UML:ModelElement.namespace><UML:Namespace.ownedElement>
<UML:Package xmi.id="package.com.chubb" name="chubb" visiblity="public" isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false">
<UML:ModelElement.namespace><Foundation.Core.Namespace xmi.idref="package.com."/>
</UML:ModelElement.namespace><UML:Namespace.ownedElement>
<UML:Package xmi.id="package.com.chubb.demoPolicy" name="demoPolicy" visiblity="public" isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false">
<UML:ModelElement.namespace><Foundation.Core.Namespace xmi.idref="package.com.chubb."/>
</UML:ModelElement.namespace><UML:Namespace.ownedElement>
<UML:Package xmi.id="package.com.chubb.demoPolicy.domain" name="domain" visiblity="public" isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false">
<UML:ModelElement.namespace><Foundation.Core.Namespace xmi.idref="package.com.chubb.demoP
olicy."/></UML:ModelElement.namespace>
Page: 1
![Page 82: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/82.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<UML:Namespace.ownedElement/><UML:Namespace.ownedElement>
<UML:Class xmi.id="class.com.chubb.demoPolicy.domain.Address"name="Address" visibility="public" isSpecification="false" isRoot="true" isLeaf="true" isAbstract="false" is
Active="false"><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref="package.com.chubb.demoPolicy.domain"/>
</UML:ModelElement.namespace><UML:GeneralizableElement.generalization/><UML:GeneralizableElement.specialization/><UML:Namespace.ownedElement/><UML:Classifier.feature>
<UML:Attribute xmi.id="attribute.com.chubb.demoPolicy.domain.Address.Street" name="Street" visibility="public" isSpecification="false" ownerScope="instance" changeability="changeable" targetScope="instance">
<UML:StructuralFeature.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression body="" language=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref="datatype.java.lang.String"/>
</UML:StructuralFeature.type></UML:Attribute><UML:Attribute xmi.id="attribute.com.chubb.demoPolicy
.domain.Address.City" name="City" visibility="public" isSpecification="false" ownerScope="instance" changeability="changeable" targetScope="instance">
<UML:StructuralFeature.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
Page: 2
![Page 83: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/83.jpg)
file://f:\mda\uml workshop\sample xmi.xml
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression body="" language=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref="datatype.java.lang.String"/>
</UML:StructuralFeature.type></UML:Attribute><UML:Attribute xmi.id="attribute.com.chubb.demoPolicy
.domain.Address.State" name="State" visibility="public" isSpecification="false" ownerScope="instance" changeability="changeable" targetScope="instance">
<UML:StructuralFeature.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression body="" language=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref="datatype.java.lang.String"/>
</UML:StructuralFeature.type></UML:Attribute>
</UML:Classifier.feature></UML:Class><UML:Class xmi.id="class.com.chubb.demoPolicy.domain.Building
" name="Building" visibility="public" isSpecification="false" isRoot="true" isLeaf="true" isAbstract="false"isActive="false">
<UML:ModelElement.namespace><Foundation.Core.Namespace xmi.idref="package.com.chu
bb.demoPolicy.domain"/></UML:ModelElement.namespace><UML:GeneralizableElement.generalization/><UML:GeneralizableElement.specialization/><UML:Namespace.ownedElement/>
Page: 3
![Page 84: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/84.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<UML:Classifier.feature/></UML:Class><UML:Class xmi.id="class.com.chubb.demoPolicy.domain.Coverage
" name="Coverage" visibility="public" isSpecification="false" isRoot="true" isLeaf="true" isAbstract="false"isActive="false">
<UML:ModelElement.namespace><Foundation.Core.Namespace xmi.idref="package.com.chu
bb.demoPolicy.domain"/></UML:ModelElement.namespace><UML:GeneralizableElement.generalization/><UML:GeneralizableElement.specialization/><UML:Namespace.ownedElement/><UML:Classifier.feature>
<UML:Attribute xmi.id="attribute.com.chubb.demoPolicy.domain.Coverage.Name" name="Name" visibility="public" isSpecification="false" ownerScope="instance" changeability="changeable" targetScope="instance">
<UML:StructuralFeature.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression body="" language=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref="datatype.java.lang.String"/>
</UML:StructuralFeature.type></UML:Attribute><UML:Attribute xmi.id="attribute.com.chubb.demoPolicy
.domain.Coverage.Limit" name="Limit" visibility="public" isSpecification="false" ownerScope="instance" changeability="changeable" targetScope="instance">
<UML:StructuralFeature.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
Page: 4
![Page 85: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/85.jpg)
file://f:\mda\uml workshop\sample xmi.xml
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression body="" language=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref="datatype.java.lang.String"/>
</UML:StructuralFeature.type></UML:Attribute><UML:Attribute xmi.id="attribute.com.chubb.demoPolicy
.domain.Coverage.Deductible" name="Deductible" visibility="public" isSpecification="false" ownerScope="instance" changeability="changeable" targetScope="instance">
<UML:StructuralFeature.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression body="" language=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref="datatype.java.lang.String"/>
</UML:StructuralFeature.type></UML:Attribute>
</UML:Classifier.feature></UML:Class><UML:Class xmi.id="class.com.chubb.demoPolicy.domain.Location
" name="Location" visibility="public" isSpecification="false" isRoot="true" isLeaf="true" isAbstract="false"isActive="false">
<UML:ModelElement.namespace><Foundation.Core.Namespace xmi.idref="package.com.chu
bb.demoPolicy.domain"/></UML:ModelElement.namespace><UML:GeneralizableElement.generalization/><UML:GeneralizableElement.specialization/><UML:Namespace.ownedElement/>
Page: 5
![Page 86: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/86.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<UML:Classifier.feature/></UML:Class><UML:Class xmi.id="class.com.chubb.demoPolicy.domain.Policy"
name="Policy" visibility="public" isSpecification="false" isRoot="true" isLeaf="true" isAbstract="false" isActive="false">
<UML:ModelElement.namespace><Foundation.Core.Namespace xmi.idref="package.com.chu
bb.demoPolicy.domain"/></UML:ModelElement.namespace><UML:GeneralizableElement.generalization/><UML:GeneralizableElement.specialization/><UML:Namespace.ownedElement/><UML:Classifier.feature>
<UML:Attribute xmi.id="attribute.com.chubb.demoPolicy.domain.Policy.Number" name="Number" visibility="public" isSpecification="false" ownerScope="instance" changeability="changeable" targetScope="instance">
<UML:StructuralFeature.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression body="" language=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref="datatype.java.lang.String"/>
</UML:StructuralFeature.type></UML:Attribute>
</UML:Classifier.feature></UML:Class><UML:Class xmi.id="class.com.chubb.demoPolicy.domain.Transact
ion" name="Transaction" visibility="public" isSpecification="false" isRoot="true" isLeaf="true" isAbstract="false" isActive="false">
<UML:ModelElement.namespace><Foundation.Core.Namespace xmi.idref="package.com.chu
bb.demoPolicy.domain"/></UML:ModelElement.namespace>
Page: 6
![Page 87: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/87.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<UML:GeneralizableElement.generalization/><UML:GeneralizableElement.specialization/><UML:Namespace.ownedElement/><UML:Classifier.feature>
<UML:Attribute xmi.id="attribute.com.chubb.demoPolicy.domain.Transaction.IssueDate" name="IssueDate" visibility="public" isSpecification="false" ownerScope="instance" changeability="changeable" targetScope="instance">
<UML:StructuralFeature.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expression body="" language=""/></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref="datatype.java.lang.String"/>
</UML:StructuralFeature.type></UML:Attribute>
</UML:Classifier.feature></UML:Class><UML:Association xmi.id="association.com.chubb.demoPolicy.dom
ain.Address.Building.Address" name="Address" visibility="public" isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false">
<UML:Association.connection><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Address.Building.Address.Address" name="Address" visibility="public" isSpecification="false" isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable">
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange lower="0" uppe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
Page: 7
![Page 88: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/88.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Address"/>
</UML:AssociationEnd.type></UML:AssociationEnd><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Address.Building.Address.Building.type" name="" visibility="public" isSpecification="false" isNavigable="false" ordering="unordered" aggregation="aggregate" targetScope="instance" changeability="changeable">
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Building"/>
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association><UML:Association xmi.id="association.com.chubb.demoPolicy.dom
ain.Coverages.Building.Coverage" name="Coverages" visibility="public" isSpecification="false" isRoot="false"isLeaf="false" isAbstract="false">
<UML:Association.connection><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Coverages.Building.Coverage.Coverage" name="Coverage" visibility="public" isSpecification="false" isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable">
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange lower="0" uppe
r="-1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Coverage"/>
</UML:AssociationEnd.type>
Page: 8
![Page 89: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/89.jpg)
file://f:\mda\uml workshop\sample xmi.xml
</UML:AssociationEnd><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Coverages.Building.Coverage.Building.type" name="" visibility="public" isSpecification="false" isNavigable="false" ordering="unordered" aggregation="aggregate" targetScope="instance" changeability="changeable">
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Building"/>
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association><UML:Association xmi.id="association.com.chubb.demoPolicy.dom
ain.Buildings.Location.Building" name="Buildings" visibility="public" isSpecification="false" isRoot="false"isLeaf="false" isAbstract="false">
<UML:Association.connection><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Buildings.Location.Building.Building" name="Building" visibility="public" isSpecification="false" isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable">
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange lower="0" uppe
r="-1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Building"/>
</UML:AssociationEnd.type></UML:AssociationEnd><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Buildings.Location.Building.Location.type" name="" visibility="public" isSpecification="false" isNavi
Page: 9
![Page 90: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/90.jpg)
file://f:\mda\uml workshop\sample xmi.xml
gable="false" ordering="unordered" aggregation="aggregate" targetScope="instance" changeability="changeable"><UML:AssociationEnd.multiplicity>
<UML:Multiplicity><UML:Multiplicity.range>
<UML:MultiplicityRange upper="1" lower="1"/>
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Location"/>
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association><UML:Association xmi.id="association.com.chubb.demoPolicy.dom
ain.Transactions.Policy.Transaction" name="Transactions" visibility="public" isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false">
<UML:Association.connection><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Transactions.Policy.Transaction.Transaction" name="Transaction" visibility="public" isSpecification="false" isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable">
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange lower="0" uppe
r="-1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Transaction"/>
</UML:AssociationEnd.type></UML:AssociationEnd><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Transactions.Policy.Transaction.Policy.type" name="" visibility="public" isSpecification="false" isNavigable="false" ordering="unordered" aggregation="aggregate" targetScope="instance" changeability="changeable">
Page: 10
![Page 91: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/91.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Policy"/>
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association><UML:Association xmi.id="association.com.chubb.demoPolicy.dom
ain.Locations.Transaction.Location" name="Locations" visibility="public" isSpecification="false" isRoot="false" isLeaf="false" isAbstract="false">
<UML:Association.connection><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Locations.Transaction.Location.Location" name="Location" visibility="public" isSpecification="false"isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable">
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
<UML:Multiplicity.range><UML:MultiplicityRange lower="0" uppe
r="-1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Location"/>
</UML:AssociationEnd.type></UML:AssociationEnd><UML:AssociationEnd xmi.id="role.com.chubb.demoPolicy
.domain.Locations.Transaction.Location.Transaction.type" name="" visibility="public" isSpecification="false"isNavigable="false" ordering="unordered" aggregation="aggregate" targetScope="instance" changeability="changeable">
<UML:AssociationEnd.multiplicity><UML:Multiplicity>
Page: 11
![Page 92: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/92.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<UML:Multiplicity.range><UML:MultiplicityRange upper="1" lowe
r="1"/></UML:Multiplicity.range>
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref="class.com.chubb.demoPolicy.domain.Transaction"/>
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association>
</UML:Namespace.ownedElement></UML:Package>
</UML:Namespace.ownedElement></UML:Package>
</UML:Namespace.ownedElement></UML:Package>
</UML:Namespace.ownedElement></UML:Package><UML:DataType isAbstract="false" isLeaf="false" isroot="false" isSpecification="false" visibi
lity="public" name="String" xmi.id="datatype.java.lang.String"/><UML:DataType isAbstract="false" isLeaf="false" isroot="false" isSpecification="false" visibi
lity="public" name="BigDecimal" xmi.id="datatype.java.math.BigDecimal"/><UML:DataType isAbstract="false" isLeaf="false" isroot="false" isSpecification="false" visibi
lity="public" name="short" xmi.id="datatype.short"/><UML:DataType isAbstract="false" isLeaf="false" isroot="false" isSpecification="false" visibi
lity="public" name="int" xmi.id="datatype.int"/><UML:DataType isAbstract="false" isLeaf="false" isroot="false" isSpecification="false" visibi
lity="public" name="long" xmi.id="datatype.long"/><UML:DataType isAbstract="false" isLeaf="false" isroot="false" isSpecification="false" visibi
lity="public" name="double" xmi.id="datatype.double"/><UML:DataType isAbstract="false" isLeaf="false" isroot="false" isSpecification="false" visibi
lity="public" name="Date" xmi.id="datatype.java.util.Date"/><UML:Stereotype baseClass="Class" icon="" isAbstract="false" isLeaf="false" isRoot="false" is
Specification="false" visibility="public" name="DomainStandard" xmi.id="stereotype.DomainStandard"><UML:Stereotype.extendedElement>
<Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Address"/><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Building"/
>
Page: 12
![Page 93: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/93.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Coverage"/>
<Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Location"/>
<Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Policy"/><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Transactio
n"/></UML:Stereotype.extendedElement>
</UML:Stereotype></UML:Namespace.ownedElement>
</UML:Model><UML:TaggedValue value="Gen-it Architect 2.5" tag="RationalRose:Tool#1" xmi.id="XX.2">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="G.root"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.package.com.chubb.demoPolicy.domain" tag="RationalRose$Gen-it Ar
chitect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.package.com.chubb.demoPolicy.domain" tag="RationalRose$Gen-it Ar
chitect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAB773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.package.com.chubb.demoPolicy.domain" tag="RationalRose$Gen-it Ar
chitect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T02a240f1-8844-11d6-80ad-0010a4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.package.com.chubb.demoPolicy.domain" tag="RationalRose$Gen-it Ar
chitect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034" value="True"><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/>
Page: 13
![Page 94: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/94.jpg)
file://f:\mda\uml workshop\sample xmi.xml
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.package.com.chubb.demoPolicy.domain" tag="RationalRose$Gen-it Ar
chitect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.package.com.chubb.demoPolicy.domain" tag="RationalRose$Gen-it Ar
chitect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034" value="DemoPolicy">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.package.com.chubb.demoPolicy.domain" tag="RationalRose$Gen-it Ar
chitect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.Td5e466c0-a87a-11d6-80e0-0010a4896034" value="2">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.package.com.chubb.demoPolicy.domain" tag="RationalRose$Gen-it Ar
chitect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.Tfa6db1c0-a961-11d6-80e2-444553544200" value="1">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Address" tag="RationalRose$Gen
-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Address"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Address" tag="RationalRose$Gen
-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement>
Page: 14
![Page 95: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/95.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Address"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Address" tag="RationalRose$Gen
-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034" value="DemoPolicy">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Address"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.attribute.com.chubb.demoPolicy.domain.Address.Street" tag="Ratio
nalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="attribute.com.chubb.demoPolicy.domain.Address.Street
"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.attribute.com.chubb.demoPolicy.domain.Address.City" tag="Rationa
lRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="attribute.com.chubb.demoPolicy.domain.Address.City"/
></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.attribute.com.chubb.demoPolicy.domain.Address.State" tag="Ration
alRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="attribute.com.chubb.demoPolicy.domain.Address.State"
/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Building" tag="RationalRose$Ge
n-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Building"/>
</UML:TaggedValue.modelElement></UML:TaggedValue>
Page: 15
![Page 96: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/96.jpg)
file://f:\mda\uml workshop\sample xmi.xml
<UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Building" tag="RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Building"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Building" tag="RationalRose$Ge
n-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034" value="DemoPolicy">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Building"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Coverage" tag="RationalRose$Ge
n-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Coverage"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Coverage" tag="RationalRose$Ge
n-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Coverage"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Coverage" tag="RationalRose$Ge
n-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034" value="DemoPolicy">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Coverage"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.attribute.com.chubb.demoPolicy.domain.Coverage.Name" tag="Ration
alRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="attribute.com.chubb.demoPolicy.domain.Coverage.Name"
/>
Page: 16
![Page 97: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/97.jpg)
file://f:\mda\uml workshop\sample xmi.xml
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.attribute.com.chubb.demoPolicy.domain.Coverage.Limit" tag="Ratio
nalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="attribute.com.chubb.demoPolicy.domain.Coverage.Limit
"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.attribute.com.chubb.demoPolicy.domain.Coverage.Deductible" tag="
RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="attribute.com.chubb.demoPolicy.domain.Coverage.Deduc
tible"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Location" tag="RationalRose$Ge
n-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Location"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Location" tag="RationalRose$Ge
n-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Location"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Location" tag="RationalRose$Ge
n-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034" value="DemoPolicy">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Location"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Policy" tag="RationalRose$Gen-
it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773
Page: 17
![Page 98: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/98.jpg)
file://f:\mda\uml workshop\sample xmi.xml
311D6809D0010A4896034" value="True"><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Policy"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Policy" tag="RationalRose$Gen-
it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T5da6db90-887c-11d6-80ae-0010a4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Policy"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Policy" tag="RationalRose$Gen-
it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAA773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Policy"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Policy" tag="RationalRose$Gen-
it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAE773311D6809D0010A4896034" value="Policy">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Policy"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Policy" tag="RationalRose$Gen-
it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Policy"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Policy" tag="RationalRose$Gen-
it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034" value="DemoPolicy">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Policy"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.attribute.com.chubb.demoPolicy.domain.Policy.Number" tag="Ration
Page: 18
![Page 99: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/99.jpg)
file://f:\mda\uml workshop\sample xmi.xml
alRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="attribute.com.chubb.demoPolicy.domain.Policy.Number"
/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Transaction" tag="RationalRose
$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Transaction"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Transaction" tag="RationalRose
$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Transaction"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.class.com.chubb.demoPolicy.domain.Transaction" tag="RationalRose
$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034" value="DemoPolicy">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="class.com.chubb.demoPolicy.domain.Transaction"/>
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.attribute.com.chubb.demoPolicy.domain.Transaction.IssueDate" tag
="RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="attribute.com.chubb.demoPolicy.domain.Transaction.Is
sueDate"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.role.com.chubb.demoPolicy.domain.Address.Building.Address.Addres
s" tag="RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="role.com.chubb.demoPolicy.domain.Address.Building.Ad
Page: 19
![Page 100: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/100.jpg)
file://f:\mda\uml workshop\sample xmi.xml
dress.Address"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.role.com.chubb.demoPolicy.domain.Coverages.Building.Coverage.Cov
erage" tag="RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="role.com.chubb.demoPolicy.domain.Coverages.Building.
Coverage.Coverage"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.role.com.chubb.demoPolicy.domain.Buildings.Location.Building.Bui
lding" tag="RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="role.com.chubb.demoPolicy.domain.Buildings.Location.
Building.Building"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.role.com.chubb.demoPolicy.domain.Transactions.Policy.Transaction
.Transaction" tag="RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="role.com.chubb.demoPolicy.domain.Transactions.Policy
.Transaction.Transaction"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id="taggedValue.role.com.chubb.demoPolicy.domain.Locations.Transaction.Location.
Location" tag="RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034" value="True">
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref="role.com.chubb.demoPolicy.domain.Locations.Transacti
on.Location.Location"/></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:Diagram xmi.id="classDiagram.com.chubb.demoPolicy.domain.Main" name="Main" toolName="Rational Ro
se 98" diagramType="ClassDiagram" style=""><UML:Diagram.owner>
<Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/></UML:Diagram.owner><UML:DiagramElement xmi.id="classDiagram.package.com.chubb.demoPolicy.domain" geometry="100, 100,
Page: 20
![Page 101: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/101.jpg)
file://f:\mda\uml workshop\sample xmi.xml
300, 180," style="Category"><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref="package.com.chubb.demoPolicy.domain"/></UML:PresentationElement.subject>
</UML:DiagramElement></UML:Diagram>
</XMI.content></XMI>
Page: 21
![Page 102: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/102.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<?xml version = '1.0' encoding = 'ISO-8859-1' ?><!--
sample exported xmi.xml(c) Copyright 2002 Chubb and Son, Inc.
--><!-- <!DOCTYPE XMI SYSTEM 'UMLX13.dtd' > --><XMI xmi.version = '1.1' xmlns:UML='//org.omg/UML/1.3' timestamp = 'Mon Sep 09 16:31:09 2002' ><XMI.header><XMI.documentation><XMI.exporter>Unisys.JCR.2</XMI.exporter><XMI.exporterVersion>1.3.2</XMI.exporterVersion>
</XMI.documentation><XMI.metamodel xmi.name = 'UML' xmi.version = '1.3'/>
</XMI.header><XMI.content><!-- ==================== policy [Model] ==================== --><UML:Model xmi.id = 'G.0'
name = 'policy' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:Namespace.ownedElement>
<!-- ==================== policy::com [Package] ==================== --><UML:Package xmi.id = 'S.1'
name = 'com' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref = 'G.0'/> <!-- policy --></UML:ModelElement.namespace><UML:Namespace.ownedElement>
<!-- ==================== policy::com::chubb [Package] ==================== --><UML:Package xmi.id = 'S.2'
name = 'chubb' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref = 'S.1'/> <!-- policy::com --></UML:ModelElement.namespace><UML:Namespace.ownedElement>
<!-- ==================== policy::com::chubb::demoPolicy [Package] ==================== --><UML:Package xmi.id = 'S.3'
name = 'demoPolicy' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:ModelElement.namespace>
Page: 1
![Page 103: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/103.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<Foundation.Core.Namespace xmi.idref = 'S.2'/> <!-- policy::com::chubb --></UML:ModelElement.namespace><UML:Namespace.ownedElement>
<!-- ==================== policy::com::chubb::demoPolicy::domain [Package] ==================== -->
<UML:Package xmi.id = 'S.4'name = 'domain' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref = 'S.3'/> <!-- policy::com::chubb::demoPolicy --></UML:ModelElement.namespace><UML:Namespace.ownedElement>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Building [Class] ==================== -->
<UML:Class xmi.id = 'S.5'name = 'Building' visibility = 'public' isSpecification = 'false'isRoot = 'true' isLeaf = 'true' isAbstract = 'false'isActive = 'false' ><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:ModelElement.namespace><UML:Classifier.feature>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Building.Address[Attribute] ==================== -->
<UML:Attribute xmi.id = 'S.6'name = 'Address' visibility = 'public' isSpecification = 'false'ownerScope = 'instance'changeability = 'changeable' targetScope = 'instance' ><UML:StructuralFeature.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expressionlanguage = '' body = '' />
</UML:Attribute.initialValue>
Page: 2
![Page 104: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/104.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:StructuralFeature.type><Foundation.Core.Classifier xmi.idref = 'G.13'/> <!-- String -->
</UML:StructuralFeature.type></UML:Attribute>
</UML:Classifier.feature></UML:Class><!-- ==================== policy::com::chubb::demoPolicy::domain::Coverage [Class] ===
================= --><UML:Class xmi.id = 'S.7'
name = 'Coverage' visibility = 'public' isSpecification = 'false'isRoot = 'true' isLeaf = 'true' isAbstract = 'false'isActive = 'false' ><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:ModelElement.namespace><UML:Classifier.feature>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Coverage.Name [Attribute] ==================== -->
<UML:Attribute xmi.id = 'S.8'name = 'Name' visibility = 'public' isSpecification = 'false'ownerScope = 'instance'changeability = 'changeable' targetScope = 'instance' ><UML:StructuralFeature.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expressionlanguage = '' body = '' />
</UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref = 'G.13'/> <!-- String --></UML:StructuralFeature.type>
</UML:Attribute><!-- ==================== policy::com::chubb::demoPolicy::domain::Coverage.Limit [
Attribute] ==================== -->
Page: 3
![Page 105: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/105.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:Attribute xmi.id = 'S.9'name = 'Limit' visibility = 'public' isSpecification = 'false'ownerScope = 'instance'changeability = 'changeable' targetScope = 'instance' ><UML:StructuralFeature.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expressionlanguage = '' body = '' />
</UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref = 'G.13'/> <!-- String --></UML:StructuralFeature.type>
</UML:Attribute></UML:Classifier.feature>
</UML:Class><!-- ==================== policy::com::chubb::demoPolicy::domain::Location [Class] ===
================= --><UML:Class xmi.id = 'S.10'
name = 'Location' visibility = 'public' isSpecification = 'false'isRoot = 'true' isLeaf = 'true' isAbstract = 'false'isActive = 'false' ><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:ModelElement.namespace><UML:Classifier.feature>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Location.State [Attribute] ==================== -->
<UML:Attribute xmi.id = 'S.11'name = 'State' visibility = 'public' isSpecification = 'false'ownerScope = 'instance'changeability = 'changeable' targetScope = 'instance' ><UML:StructuralFeature.multiplicity>
<UML:Multiplicity >
Page: 4
![Page 106: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/106.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:Multiplicity.range><UML:MultiplicityRange
lower = '1' upper = '1' /></UML:Multiplicity.range>
</UML:Multiplicity></UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expressionlanguage = '' body = '' />
</UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref = 'G.13'/> <!-- String --></UML:StructuralFeature.type>
</UML:Attribute></UML:Classifier.feature>
</UML:Class><!-- ==================== policy::com::chubb::demoPolicy::domain::Policy [Class] =====
=============== --><UML:Class xmi.id = 'S.12'
name = 'Policy' visibility = 'public' isSpecification = 'false'isRoot = 'true' isLeaf = 'true' isAbstract = 'false'isActive = 'false' ><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:ModelElement.namespace><UML:Classifier.feature>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Policy.Number [Attribute] ==================== -->
<UML:Attribute xmi.id = 'S.13'name = 'Number' visibility = 'public' isSpecification = 'false'ownerScope = 'instance'changeability = 'changeable' targetScope = 'instance' ><UML:StructuralFeature.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:StructuralFeature.multiplicity>
Page: 5
![Page 107: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/107.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:Attribute.initialValue><UML:Expression
language = '' body = '' /></UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref = 'G.13'/> <!-- String --></UML:StructuralFeature.type>
</UML:Attribute></UML:Classifier.feature>
</UML:Class><!-- ==================== policy::com::chubb::demoPolicy::domain::Transaction [Class]
==================== --><UML:Class xmi.id = 'S.14'
name = 'Transaction' visibility = 'public' isSpecification = 'false'isRoot = 'true' isLeaf = 'true' isAbstract = 'false'isActive = 'false' ><UML:ModelElement.namespace>
<Foundation.Core.Namespace xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:ModelElement.namespace><UML:Classifier.feature>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Transaction.IssueDate [Attribute] ==================== -->
<UML:Attribute xmi.id = 'S.15'name = 'IssueDate' visibility = 'public' isSpecification = 'false'ownerScope = 'instance'changeability = 'changeable' targetScope = 'instance' ><UML:StructuralFeature.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:StructuralFeature.multiplicity><UML:Attribute.initialValue>
<UML:Expressionlanguage = '' body = '' />
</UML:Attribute.initialValue><UML:StructuralFeature.type>
<Foundation.Core.Classifier xmi.idref = 'G.13'/> <!-- String -->
Page: 6
![Page 108: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/108.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
</UML:StructuralFeature.type></UML:Attribute>
</UML:Classifier.feature></UML:Class><!-- ==================== policy::com::chubb::demoPolicy::domain::Coverages{3D7D00EF0170}
[Association] ==================== --><UML:Association xmi.id = 'G.1'
name = 'Coverages{3D7D00EF0170}' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:Association.connection>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Coverages{3D7D00EF0170} [AssociationEnd] ==================== -->
<UML:AssociationEnd xmi.id = 'G.2'name = 'Coverage' visibility = 'public' isSpecification = 'false'isNavigable = 'true' ordering = 'unordered' aggregation = 'none' targetScope = 'ins
tance' changeability = 'changeable' ><UML:AssociationEnd.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '0' upper = '-1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref = 'S.7'/> <!-- policy::com::chubb::demoPolicy::domain::Coverage -->
</UML:AssociationEnd.type></UML:AssociationEnd><!-- ==================== policy::com::chubb::demoPolicy::domain::Coverages{3D7D00EF0
170} [AssociationEnd] ==================== --><UML:AssociationEnd xmi.id = 'G.3'
name = '' visibility = 'public' isSpecification = 'false'isNavigable = 'false' ordering = 'unordered' aggregation = 'aggregate' targetScope
= 'instance' changeability = 'changeable' ><UML:AssociationEnd.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range>
Page: 7
![Page 109: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/109.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
</UML:Multiplicity></UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref = 'S.5'/> <!-- policy::com::chubb::demoPolicy::domain::Building -->
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association><!-- ==================== policy::com::chubb::demoPolicy::domain::Buildings{3D7D00EF017A}
[Association] ==================== --><UML:Association xmi.id = 'G.4'
name = 'Buildings{3D7D00EF017A}' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:Association.connection>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Buildings{3D7D00EF017A} [AssociationEnd] ==================== -->
<UML:AssociationEnd xmi.id = 'G.5'name = 'Building' visibility = 'public' isSpecification = 'false'isNavigable = 'true' ordering = 'unordered' aggregation = 'none' targetScope = 'ins
tance' changeability = 'changeable' ><UML:AssociationEnd.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '0' upper = '-1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref = 'S.5'/> <!-- policy::com::chubb::demoPolicy::domain::Building -->
</UML:AssociationEnd.type></UML:AssociationEnd><!-- ==================== policy::com::chubb::demoPolicy::domain::Buildings{3D7D00EF0
17A} [AssociationEnd] ==================== --><UML:AssociationEnd xmi.id = 'G.6'
name = '' visibility = 'public' isSpecification = 'false'isNavigable = 'false' ordering = 'unordered' aggregation = 'aggregate' targetScope
= 'instance' changeability = 'changeable' ><UML:AssociationEnd.multiplicity>
Page: 8
![Page 110: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/110.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref = 'S.10'/> <!-- policy::com::chubb::demoPolicy::domain::Location -->
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association><!-- ==================== policy::com::chubb::demoPolicy::domain::Locations{3D7D00EF01A2}
[Association] ==================== --><UML:Association xmi.id = 'G.10'
name = 'Locations{3D7D00EF01A2}' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:Association.connection>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Locations{3D7D00EF01A2} [AssociationEnd] ==================== -->
<UML:AssociationEnd xmi.id = 'G.11'name = 'Location' visibility = 'public' isSpecification = 'false'isNavigable = 'true' ordering = 'unordered' aggregation = 'none' targetScope = 'ins
tance' changeability = 'changeable' ><UML:AssociationEnd.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '0' upper = '-1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref = 'S.10'/> <!-- policy::com::chubb::demoPolicy::domain::Location -->
</UML:AssociationEnd.type></UML:AssociationEnd><!-- ==================== policy::com::chubb::demoPolicy::domain::Locations{3D7D00EF0
1A2} [AssociationEnd] ==================== -->
Page: 9
![Page 111: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/111.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:AssociationEnd xmi.id = 'G.12'name = '' visibility = 'public' isSpecification = 'false'isNavigable = 'false' ordering = 'unordered' aggregation = 'aggregate' targetScope
= 'instance' changeability = 'changeable' ><UML:AssociationEnd.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref = 'S.14'/> <!-- policy::com::chubb::demoPolicy::domain::Transaction -->
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association><!-- ==================== policy::com::chubb::demoPolicy::domain::Transactions{3D7D00EF01
8E} [Association] ==================== --><UML:Association xmi.id = 'G.7'
name = 'Transactions{3D7D00EF018E}' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' ><UML:Association.connection>
<!-- ==================== policy::com::chubb::demoPolicy::domain::Transactions{3D7D00EF018E} [AssociationEnd] ==================== -->
<UML:AssociationEnd xmi.id = 'G.8'name = 'Transaction' visibility = 'public' isSpecification = 'false'isNavigable = 'true' ordering = 'unordered' aggregation = 'none' targetScope = 'ins
tance' changeability = 'changeable' ><UML:AssociationEnd.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '0' upper = '-1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref = 'S.14'/> <!-- policy::com::chubb::demoPo
Page: 10
![Page 112: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/112.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
licy::domain::Transaction --></UML:AssociationEnd.type>
</UML:AssociationEnd><!-- ==================== policy::com::chubb::demoPolicy::domain::Transactions{3D7D00
EF018E} [AssociationEnd] ==================== --><UML:AssociationEnd xmi.id = 'G.9'
name = '' visibility = 'public' isSpecification = 'false'isNavigable = 'false' ordering = 'unordered' aggregation = 'aggregate' targetScope
= 'instance' changeability = 'changeable' ><UML:AssociationEnd.multiplicity>
<UML:Multiplicity ><UML:Multiplicity.range>
<UML:MultiplicityRangelower = '1' upper = '1' />
</UML:Multiplicity.range></UML:Multiplicity>
</UML:AssociationEnd.multiplicity><UML:AssociationEnd.type>
<Foundation.Core.Classifier xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Policy -->
</UML:AssociationEnd.type></UML:AssociationEnd>
</UML:Association.connection></UML:Association>
</UML:Namespace.ownedElement></UML:Package>
</UML:Namespace.ownedElement></UML:Package>
</UML:Namespace.ownedElement></UML:Package>
</UML:Namespace.ownedElement></UML:Package><!-- ==================== String [DataType] ==================== --><UML:DataType xmi.id = 'G.13'
name = 'String' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false' />
<!-- ==================== policy.DomainStandard [Stereotype] ==================== --><UML:Stereotype xmi.id = 'XX.1'
name = 'DomainStandard' visibility = 'public' isSpecification = 'false'isRoot = 'false' isLeaf = 'false' isAbstract = 'false'icon = '' baseClass = 'Class' >
Page: 11
![Page 113: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/113.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:Stereotype.extendedElement><Foundation.Core.ModelElement xmi.idref = 'S.5'/> <!-- policy::com::chubb::demoPolicy::domain::Build
ing --><Foundation.Core.ModelElement xmi.idref = 'S.7'/> <!-- policy::com::chubb::demoPolicy::domain::Cover
age --><Foundation.Core.ModelElement xmi.idref = 'S.10'/> <!-- policy::com::chubb::demoPolicy::domain::Loca
tion --><Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Poli
cy --><Foundation.Core.ModelElement xmi.idref = 'S.14'/> <!-- policy::com::chubb::demoPolicy::domain::Tran
saction --></UML:Stereotype.extendedElement>
</UML:Stereotype></UML:Namespace.ownedElement>
</UML:Model><UML:TaggedValue xmi.id = 'XX.3'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.4'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.5'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.6'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAB773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:TaggedValue.modelElement></UML:TaggedValue>
Page: 12
![Page 114: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/114.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:TaggedValue xmi.id = 'XX.7'tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.8'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T02a240f1-8844-11d6-80ad-0010a4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.9'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.10'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.11'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.12'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.13'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' >
Page: 13
![Page 115: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/115.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.14'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034' value = 'DemoPolicy' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.15'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.16'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.Td5e466c0-a87a-11d6-80e0-0010a4896034' value = '2' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.17'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.18'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.Tfa6db1c0-a961-11d6-80e2-444553544200' value = '1' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.19'
tag = 'persistence' value = 'transient' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'S.5'/> <!-- policy::com::chubb::demoPolicy::domain::Building
Page: 14
![Page 116: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/116.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.20'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.21'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.5'/> <!-- policy::com::chubb::demoPolicy::domain::Building
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.22'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.23'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.5'/> <!-- policy::com::chubb::demoPolicy::domain::Building
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.24'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.25'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034' value = 'DemoPolicy' >
<UML:TaggedValue.modelElement>
Page: 15
![Page 117: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/117.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<Foundation.Core.ModelElement xmi.idref = 'S.5'/> <!-- policy::com::chubb::demoPolicy::domain::Building-->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.26'
tag = 'RationalRose:Tool#1' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.27'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.6'/> <!-- policy::com::chubb::demoPolicy::domain::Building.
Address --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.28'
tag = 'persistence' value = 'transient' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'S.7'/> <!-- policy::com::chubb::demoPolicy::domain::Coverage-->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.29'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.30'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.7'/> <!-- policy::com::chubb::demoPolicy::domain::Coverage
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.31'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' >
Page: 16
![Page 118: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/118.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.32'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.7'/> <!-- policy::com::chubb::demoPolicy::domain::Coverage
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.33'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.34'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034' value = 'DemoPolicy' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.7'/> <!-- policy::com::chubb::demoPolicy::domain::Coverage
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.35'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.36'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.8'/> <!-- policy::com::chubb::demoPolicy::domain::Coverage.
Name --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.37'
Page: 17
![Page 119: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/119.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.38'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.9'/> <!-- policy::com::chubb::demoPolicy::domain::Coverage.
Limit --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.39'
tag = 'persistence' value = 'transient' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'S.10'/> <!-- policy::com::chubb::demoPolicy::domain::Location--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.40'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.41'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.10'/> <!-- policy::com::chubb::demoPolicy::domain::Location
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.42'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.43'
Page: 18
![Page 120: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/120.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.10'/> <!-- policy::com::chubb::demoPolicy::domain::Location
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.44'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.45'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034' value = 'DemoPolicy' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.10'/> <!-- policy::com::chubb::demoPolicy::domain::Location
--></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.46'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.47'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.11'/> <!-- policy::com::chubb::demoPolicy::domain::Location
.State --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.48'
tag = 'persistence' value = 'transient' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Policy -->
</UML:TaggedValue.modelElement>
Page: 19
![Page 121: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/121.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.49'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.50'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Policy -
-></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.51'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.52'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T5da6db90-887c-11d6-80ae-0010a4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Policy -
-></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.53'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.54'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAA773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Policy -
->
Page: 20
![Page 122: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/122.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.55'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.56'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAE773311D6809D0010A4896034' value = 'Policy' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Policy -
-></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.57'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.58'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Policy -
-></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.59'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.60'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034' value = 'DemoPolicy' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Policy -
Page: 21
![Page 123: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/123.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
-></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.61'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.62'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.13'/> <!-- policy::com::chubb::demoPolicy::domain::Policy.N
umber --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.63'
tag = 'persistence' value = 'transient' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'S.14'/> <!-- policy::com::chubb::demoPolicy::domain::Transaction -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.64'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.65'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.14'/> <!-- policy::com::chubb::demoPolicy::domain::Transact
ion --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.66'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
Page: 22
![Page 124: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/124.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.67'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB73773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.14'/> <!-- policy::com::chubb::demoPolicy::domain::Transact
ion --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.68'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.69'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.L64cc8d50-7ffe-11d6-80a6-444553544200.I1206DB54773311D6809D0010A4896034.T1206DB74773311D6809D0010A4896034' value = 'DemoPolicy' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.14'/> <!-- policy::com::chubb::demoPolicy::domain::Transact
ion --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.70'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.71'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'S.15'/> <!-- policy::com::chubb::demoPolicy::domain::Transact
ion.IssueDate --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.72'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' >
Page: 23
![Page 125: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/125.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy -->
</UML:TaggedValue.modelElement></UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.73'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'G.2'/> <!-- policy::com::chubb::demoPolicy::domain::Coverages
{3D7D00EF0170} --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.74'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.75'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'G.5'/> <!-- policy::com::chubb::demoPolicy::domain::Buildings
{3D7D00EF017A} --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.76'
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.77'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'G.11'/> <!-- policy::com::chubb::demoPolicy::domain::Location
s{3D7D00EF01A2} --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.78'
Page: 24
![Page 126: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/126.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
tag = 'RationalRose:Tool#2' value = 'Gen-it Architect 2.5' ><UML:TaggedValue.modelElement>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:TaggedValue xmi.id = 'XX.79'
tag = 'RationalRose$Gen-it Architect 2.5:Codagen.Le2909320-7fe6-11d6-80a6-444553544200.I1206DB60773311D6809D0010A4896034.T1206DBAD773311D6809D0010A4896034' value = 'True' >
<UML:TaggedValue.modelElement><Foundation.Core.ModelElement xmi.idref = 'G.8'/> <!-- policy::com::chubb::demoPolicy::domain::Transacti
ons{3D7D00EF018E} --></UML:TaggedValue.modelElement>
</UML:TaggedValue><UML:Diagram xmi.id = 'S.18'
name = 'Main' toolName = 'Rational Rose 98' diagramType = 'ClassDiagram' style = '' ><UML:Diagram.owner>
<Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain --></UML:Diagram.owner><UML:Diagram.element>
<UML:DiagramElement xmi.id = 'XX.80'geometry = ' 784, 144, 334, 190,' style = 'Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceName=Arial,F
ont.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,LineColor.Green= 0,LineColor.Red= 153,FillColor.Blue= 204,FillColor.Green= 255,FillColor.Red= 255,FillColor.Transparent=1,AutomaticResize=1,ShowAllAttributes=1,ShowAllOperations=1,ShowOperationSignature=0,SuppressAttributes=0,SuppressOperations=1,' >
<UML:PresentationElement.subject><Foundation.Core.ModelElement xmi.idref = 'S.12'/> <!-- policy::com::chubb::demoPolicy::domain::Poli
cy --></UML:PresentationElement.subject>
</UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.81'
geometry = ' 800, 944, 334, 190,' style = 'Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceName=Arial,Font.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,LineColor.Green= 0,LineColor.Red= 153,FillColor.Blue= 204,FillColor.Green= 255,FillColor.Red= 255,FillColor.Transparent=1,AutomaticResize=1,ShowAllAttributes=1,ShowAllOperations=1,ShowOperationSignature=0,SuppressAttributes=0,SuppressOperations=1,' >
<UML:PresentationElement.subject><Foundation.Core.ModelElement xmi.idref = 'S.14'/> <!-- policy::com::chubb::demoPolicy::domain::Tran
saction --></UML:PresentationElement.subject>
</UML:DiagramElement>
Page: 25
![Page 127: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/127.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
<UML:DiagramElement xmi.id = 'XX.82'geometry = ' 791, 629, 63, 504,' style = 'Association:Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceN
ame=Arial,Font.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,LineColor.Green= 0,LineColor.Red= 153,' >
<UML:PresentationElement.subject><Foundation.Core.ModelElement xmi.idref = 'G.7'/> <!-- policy::com::chubb::demoPolicy::domain::Trans
actions{3D7D00EF018E} --></UML:PresentationElement.subject>
</UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.83'
geometry = ' 789, 516, 58, 279,' style = 'Role' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.9'/> <!-- policy::com::chubb::demoPolicy::domain::Transactions{3D7D00EF018E} -->
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.84'
geometry = ' 793, 741, 59, 279,' style = 'Role' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.8'/> <!-- policy::com::chubb::demoPolicy::domain::Transactions{3D7D00EF018E} -->
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.85'
geometry = ' 800, 1872, 334, 190,' style = 'Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceName=Arial,Font.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,LineColor.Green= 0,LineColor.Red= 153,FillColor.Blue= 204,FillColor.Green= 255,FillColor.Red= 255,FillColor.Transparent=1,AutomaticResize=1,ShowAllAttributes=1,ShowAllOperations=1,ShowOperationSignature=0,SuppressAttributes=0,SuppressOperations=1,' >
<UML:PresentationElement.subject><Foundation.Core.ModelElement xmi.idref = 'S.10'/> <!-- policy::com::chubb::demoPolicy::domain::Loca
tion --></UML:PresentationElement.subject>
</UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.86'
geometry = ' 800, 1492, 54, 631,' style = 'Association:Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceName=Arial,Font.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,LineColor.Green= 0,LineColor.Red= 153,' >
<UML:PresentationElement.subject><Foundation.Core.ModelElement xmi.idref = 'G.10'/> <!-- policy::com::chubb::demoPolicy::domain::Loca
tions{3D7D00EF01A2} -->
Page: 26
![Page 128: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/128.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.87'
geometry = ' 800, 1348, 54, 342,' style = 'Role' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.12'/> <!-- policy::com::chubb::demoPolicy::domain::Locations{3D7D00EF01A2} -->
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.88'
geometry = ' 800, 1636, 54, 343,' style = 'Role' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.11'/> <!-- policy::com::chubb::demoPolicy::domain::Locations{3D7D00EF01A2} -->
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.89'
geometry = ' 736, 3456, 334, 190,' style = 'Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceName=Arial,Font.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,LineColor.Green= 0,LineColor.Red= 153,FillColor.Blue= 204,FillColor.Green= 255,FillColor.Red= 255,FillColor.Transparent=1,AutomaticResize=1,ShowAllAttributes=1,ShowAllOperations=1,ShowOperationSignature=0,SuppressAttributes=0,SuppressOperations=1,' >
<UML:PresentationElement.subject><Foundation.Core.ModelElement xmi.idref = 'S.7'/> <!-- policy::com::chubb::demoPolicy::domain::Cover
age --></UML:PresentationElement.subject>
</UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.90'
geometry = ' 752, 2688, 334, 190,' style = 'Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceName=Arial,Font.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,LineColor.Green= 0,LineColor.Red= 153,FillColor.Blue= 204,FillColor.Green= 255,FillColor.Red= 255,FillColor.Transparent=1,AutomaticResize=1,ShowAllAttributes=1,ShowAllOperations=1,ShowOperationSignature=0,SuppressAttributes=0,SuppressOperations=1,' >
<UML:PresentationElement.subject><Foundation.Core.ModelElement xmi.idref = 'S.5'/> <!-- policy::com::chubb::demoPolicy::domain::Build
ing --></UML:PresentationElement.subject>
</UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.91'
geometry = ' 766, 2365, 79, 520,' style = 'Association:Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceName=Arial,Font.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,L
Page: 27
![Page 129: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/129.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
ineColor.Green= 0,LineColor.Red= 153,' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.4'/> <!-- policy::com::chubb::demoPolicy::domain::Buildings{3D7D00EF017A} -->
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.92'
geometry = ' 772, 2248, 67, 287,' style = 'Role' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.6'/> <!-- policy::com::chubb::demoPolicy::domain::Buildings{3D7D00EF017A} -->
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.93'
geometry = ' 760, 2481, 66, 287,' style = 'Role' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.5'/> <!-- policy::com::chubb::demoPolicy::domain::Buildings{3D7D00EF017A} -->
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.94'
geometry = ' 739, 3156, 63, 471,' style = 'Association:Font.Blue= 0,Font.Green= 0,Font.Red= 0,Font.FaceName=Arial,Font.Size= 10,Font.Bold=0,Font.Italic=0,Font.Strikethrough=0,Font.Underline=0,LineColor.Blue= 51,LineColor.Green= 0,LineColor.Red= 153,' >
<UML:PresentationElement.subject><Foundation.Core.ModelElement xmi.idref = 'G.1'/> <!-- policy::com::chubb::demoPolicy::domain::Cover
ages{3D7D00EF0170} --></UML:PresentationElement.subject>
</UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.95'
geometry = ' 741, 3052, 59, 262,' style = 'Role' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.3'/> <!-- policy::com::chubb::demoPolicy::domain::Coverages{3D7D00EF0170} -->
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.96'
geometry = ' 737, 3260, 58, 263,' style = 'Role' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'G.2'/> <!-- policy::com::chubb::demoPolicy::domain::Coverages{3D7D00EF0170} -->
Page: 28
![Page 130: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/130.jpg)
file://f:\mda\uml workshop\sample exported xmi.xml
</UML:PresentationElement.subject></UML:DiagramElement><UML:DiagramElement xmi.id = 'XX.97'
geometry = ' 1392, 432, 342, 180,' style = 'Category' ><UML:PresentationElement.subject>
<Foundation.Core.ModelElement xmi.idref = 'S.4'/> <!-- policy::com::chubb::demoPolicy::domain --></UML:PresentationElement.subject>
</UML:DiagramElement></UML:Diagram.element>
</UML:Diagram><UML:Diagram xmi.id = 'S.19'
name = 'Main' toolName = 'Rational Rose 98' diagramType = 'ClassDiagram' style = '' ><UML:Diagram.owner>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:Diagram.owner>
</UML:Diagram><UML:Diagram xmi.id = 'S.20'
name = 'Main' toolName = 'Rational Rose 98' diagramType = 'ModuleDiagram' style = '' ><UML:Diagram.owner>
<Foundation.Core.ModelElement xmi.idref = 'G.0'/> <!-- policy --></UML:Diagram.owner>
</UML:Diagram></XMI.content></XMI>
Page: 29
![Page 131: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/131.jpg)
file://f:\mda\uml workshop\combine exported xmi with generated xmi.xsl
<?xml version="1.0" encoding="utf-8"?><!--
combine exported xmi with generated xmi.xsl(c) Copyright 2002 Chubb and Son, Inc.
--><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:UML="//org.omg/UML/1.3">
<xsl:output encoding="UTF-8" method="xml" indent="yes"/>
<xsl:param name="inputXMIDocument"/><xsl:param name="modelConfiguration"/><xsl:variable name="packageQualifier"><xsl:value-of select="document($modelConfiguration)/recordSet/javaPackageName"
/></xsl:variable>
<xsl:variable name="packageName">com.chubb.<xsl:value-of select="$packageQualifier"/>.domain</xsl:variable>
<xsl:template match="/"><xsl:apply-templates/>
</xsl:template>
<xsl:template match="UML:Diagram"><xsl:apply-templates select="document($inputXMIDocument)//UML:Diagram" mode="copy"/>
</xsl:template>
<xsl:template match="*"><xsl:copy>
<xsl:apply-templates select="@*"/><xsl:apply-templates select="node()"/>
</xsl:copy></xsl:template>
<xsl:template match="@*"><xsl:copy>
<xsl:value-of select="."/></xsl:copy>
</xsl:template>
<xsl:template match="*" mode="copy"><xsl:copy>
<xsl:apply-templates select="@*" mode="copy"/><xsl:apply-templates select="node()" mode="copy"/>
</xsl:copy></xsl:template>
<xsl:template match="@*" mode="copy"><xsl:copy>
<xsl:value-of select="."/>
Page: 1
![Page 132: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/132.jpg)
file://f:\mda\uml workshop\combine exported xmi with generated xmi.xsl
</xsl:copy></xsl:template>
<xsl:template match="UML:Diagram" mode="copy"><xsl:copy>
<xsl:apply-templates select="@*" mode="copy"/><xsl:apply-templates select="node()" mode="copy"/>
</xsl:copy></xsl:template>
<xsl:template match="UML:Diagram.owner/Foundation.Core.ModelElement" mode="copy"><xsl:variable name="idref" select="@xmi.idref"/><xsl:copy>
<xsl:attribute name="xmi.idref"><xsl:call-template name="getGeneratedIdFor"><xsl:with-param name="exportedId" select="@xmi.idref"/></xsl:call-template></xsl:attribute>
</xsl:copy></xsl:template>
<xsl:template match="UML:PresentationElement.subject/Foundation.Core.ModelElement" mode="copy"><xsl:variable name="idref" select="@xmi.idref"/><xsl:copy>
<xsl:attribute name="xmi.idref"><xsl:call-template name="getGeneratedIdFor"><xsl:with-param name="exportedId" select="@xmi.idref"/></xsl:call-template></xsl:attribute>
</xsl:copy></xsl:template>
<xsl:template name="getGeneratedIdFor"><xsl:param name="exportedId"/><xsl:variable name="exportedElement" select="//*[@xmi.id = $exportedId]"/><xsl:choose>
<xsl:when test="name($exportedElement) = 'UML:Class'"><xsl:call-template name="getGeneratedIdForClass">
<xsl:with-param name="exportedElement" select="$exportedElement"/></xsl:call-template>
</xsl:when><xsl:when test="name($exportedElement) = 'UML:Package'">
<xsl:call-template name="getGeneratedIdForPackage"><xsl:with-param name="exportedElement" select="$exportedElement"/>
</xsl:call-template></xsl:when><xsl:when test="name($exportedElement) = 'UML:Association'">
<xsl:call-template name="getGeneratedIdForAssociation"><xsl:with-param name="exportedElement" select="$exportedElement"/>
</xsl:call-template></xsl:when><xsl:when test="name($exportedElement) = 'UML:AssociationEnd'">
<xsl:call-template name="getGeneratedIdForAssociationEnd">
Page: 2
![Page 133: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/133.jpg)
file://f:\mda\uml workshop\combine exported xmi with generated xmi.xsl
<xsl:with-param name="exportedElement" select="$exportedElement"/></xsl:call-template>
</xsl:when><xsl:when test="name($exportedElement) = 'UML:Generalization'">
<xsl:call-template name="getGeneratedIdForGeneralization"><xsl:with-param name="exportedElement" select="$exportedElement"/>
</xsl:call-template></xsl:when><xsl:when test="name($exportedElement) = 'UML:Model'">G.root</xsl:when><xsl:otherwise>
***Not Found*** <xsl:value-of select="@xmi.idref"/>=<xsl:value-of select="//*[@xmi.id = $exportedId]/@name"/>
</xsl:otherwise></xsl:choose>
</xsl:template>
<xsl:template name="getGeneratedIdForClass"><xsl:param name="exportedElement"/><xsl:value-of select="concat('class.', $packageName, '.', $exportedElement/@name)"/>
</xsl:template>
<xsl:template name="getGeneratedIdForPackage"><xsl:param name="exportedElement"/><xsl:value-of select="concat('package.', $packageName)"/>
</xsl:template>
<xsl:template name="getGeneratedIdForAssociation"><xsl:param name="exportedElement"/><xsl:variable name="fullAssociationName">
<xsl:call-template name="getFullAssociationNameFor"><xsl:with-param name="associationElement" select="$exportedElement"/>
</xsl:call-template></xsl:variable><xsl:value-of select="concat('association.', $packageName, '.', $fullAssociationName)"/>
</xsl:template>
<xsl:template name="getGeneratedIdForAssociationEnd"><xsl:param name="exportedElement"/><xsl:variable name="fullAssociationName">
<xsl:call-template name="getFullAssociationNameFor"><xsl:with-param name="associationElement" select="$exportedElement/../.."/>
</xsl:call-template></xsl:variable><xsl:value-of select="concat('role.', $packageName, '.', $fullAssociationName, '.', $exportedElement/@name)"/>
</xsl:template>
<xsl:template name="getFullAssociationNameFor">
Page: 3
![Page 134: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/134.jpg)
file://f:\mda\uml workshop\combine exported xmi with generated xmi.xsl
<xsl:param name="associationElement"/><xsl:variable name="associationName" select="substring-before($associationElement/@name, '{')"/><xsl:variable name="sourceReference" select="$associationElement/UML:Association.connection/UML:AssociationEnd[2
]/UML:AssociationEnd.type/Foundation.Core.Classifier/@xmi.idref"/><xsl:variable name="targetName" select="$associationElement/UML:Association.connection/UML:AssociationEnd[1]/@na
me"/><xsl:variable name="sourceType" select="//UML:Class[@xmi.id = $sourceReference]/@name"/><xsl:value-of select="concat($associationName, '.', $sourceType, '.', $targetName)"/>
</xsl:template>
<xsl:template name="getGeneratedIdForGeneralization"><xsl:param name="exportedElement"/><xsl:variable name="superclassRef" select="$exportedElement/UML:Generalization.parent/Foundation.Core.Generaliza
bleElement/@xmi.idref"/><xsl:variable name="subclassRef" select="$exportedElement/UML:Generalization.child/Foundation.Core.Generalizable
Element/@xmi.idref"/><xsl:variable name="superclassName" select="//UML:Class[@xmi.id = $superclassRef]/@name"/><xsl:variable name="subclassName" select="//UML:Class[@xmi.id = $subclassRef]/@name"/><xsl:value-of select="concat('inheritance.', $packageName, '.', $superclassName, '.', $subclassName)"/>
</xsl:template>
</xsl:stylesheet>
Page: 4
![Page 135: Metadata Alchemy with MDA - Object Management …...1 Metadata Alchemy with MDA Turning Metadata into Integration Gold using MDA Ken Sayers - Chubb and Son, Inc. OMG UML Workshop Oct](https://reader036.vdocuments.site/reader036/viewer/2022070823/5f33ec2d6fc90a0b005804a6/html5/thumbnails/135.jpg)
file://f:\mda\uml workshop\sample model configuration.xml
<?xml version="1.0" encoding="UTF-16"?><recordSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:UML="//org.omg/UML/1.3">
<homePrefix>DemoPolicy</homePrefix><javaPackageName>demoPolicy</javaPackageName>
</recordSet>
Page: 1