77
AML OMG Archetype Modeling Language

OMG Archetype Modeling Language

  • Upload
    ngodiep

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OMG Archetype Modeling Language

AMLOMG Archetype Modeling Language

Page 2: OMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

• The AML Standard - what it is (and isn’t)

• AML Examples

• AML Tools

Page 3: OMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

• The AML Standard - what it is (and isn’t)

• AML Examples

• AML Tools

Page 4: OMG Archetype Modeling Language

ArchetypeModelingLanguage

“TopDown”Modeling

• Additive– Startwithmostabstract– Specializeaddingpropertiesandrelationships

• Instancesonlyvalidatselectedlevelup

4

Page 5: OMG Archetype Modeling Language

ArchetypeModelingLanguage

“TopDown”Modeling

5

Page 6: OMG Archetype Modeling Language

ArchetypeModelingLanguage

“TopDown”Modeling

6

<MusicalInstrumentname=“Guitar”maker=“Gibson/>

Page 7: OMG Archetype Modeling Language

ArchetypeModelingLanguage

“TopDown”Modeling

7

<MusicalInstrumentname=“Guitar”maker=“Gibson/>

<StringedInstrumentname=“Guitar”maker=“GibsonnumberOfStrings=“6”/>

Page 8: OMG Archetype Modeling Language

ArchetypeModelingLanguage

“TopDown”Modeling

8

<MusicalInstrumentname=“Guitar”maker=“Gibson/>

<StringedInstrumentname=“Guitar”maker=“GibsonnumberOfStrings=“6”/>

<Guitarname=“Guitar”brand=“GibsonnumberOfStrings=“6”/>

<ElectricGuitarname=“Guitar”brand=“GibsonnumberOfStrings=“6”numberOfPickups=“3”/>

Page 9: OMG Archetype Modeling Language

ArchetypeModelingLanguage

“TopDown”Modeling

9

ß Ifthisismymodel…

<ElectricGuitarname=“Guitar”brand=“GibsonnumberOfStrings=“6”numberOfPickups=“3”/>

ß …thismakesnosense!

Page 10: OMG Archetype Modeling Language

ArchetypeModelingLanguage

Constraintor“BottomUp”Modeling

• Startwithgeneralmodel– Becomesthemostabstractlevelofexchange

• Specializebyrestriction– Cardinality– Valueandvalueranges– Optionalà mandatory/prohibited– Enumerationsubsets– Renaming

10

Page 11: OMG Archetype Modeling Language

ArchetypeModelingLanguage

ConstraintBasedModels

• StartwithUML“ReferenceModel”thatdefinesthemostabstractlevelofexchange

• Addconstraints(restrictions)onreferencemodel– Canserveasdetailedtypecheckingforinput– Canserveasagenericgrammar(!)– Canfunctionasaquerylanguage

11

Page 12: OMG Archetype Modeling Language

ArchetypeModelingLanguage

ConstraintsasaGrammar

• Without– AbnormalHCT==labresultwithcode‘1234-5’,abnormalflagset?Result>specifiedvalue?

– Informationiscodedinapplications(!)• Brittle• Rigid

• With– AbnormalHCT=={setofconstraints}– Applicationsreferencemodel

12

Page 13: OMG Archetype Modeling Language

ArchetypeModelingLanguage

Constraints

• Needagrammar/interchangeformat– ADL1.5.1suitesthebillwell– UMLXMI(w/AMLProfiles)

• Tooling– ADLWorkbench/ClinicalKnowledgeManager– UMLTools(w/AMLProfiles)

• Representationalforms– ADLWB/Mindmaps/JSON/XML/…– UMLProfile/Modeltools

13

Page 14: OMG Archetype Modeling Language

ReferenceModel/ReferenceArchetypes

ReferenceModel• Maximalsetof“meaningfuldata”• Minimumconformancelevel

ReferenceArchetype(s)•SubsetofReferenceModel•FormsfoundationofArchetypecollections

14

Page 15: OMG Archetype Modeling Language

ReferenceModeReferenceArchetype

“Mini-Cimi”• ModelnotsignificantlydifferentthanEntity-Relationshipmeta-model• ClosertoRDFthanfullmodel• Notallinstancesarevalid/sensible

• Supportsrichersetofdatatypes• CompatiblewithFHIR/V3

• openEHR/FHIR/CDA/DCM/CDERA’s

15

Page 16: OMG Archetype Modeling Language

Constraint Modeling in ADLCIMI Reference

Model (UML)

CIMI Reference Archetypes

(ADL)

CIMI Archetypes

(ADL)

In the latest version of CIMI, the Reference Model is a combination of the UML model and the upper level (Reference) Archetypes in the ADL modeling space…

… this is why the RM itself is called “mini-CIMI”

Page 17: OMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

• The AML Standard - what it is (and isn’t)

• AML Examples

• AML Tools

Page 18: OMG Archetype Modeling Language

ArchetypeModelingLanguage

UML

Astandardforrepresentingandexchangingmodels• Amodelofmodels(a“metamodel”)– “Class”,“Property”,“Generalization”,“Association”

• Representationforelements(Aninstanceofa“Class”isrepresentedasaboxwithseparateslots…”

• Modelofmodelexchange

18

Page 19: OMG Archetype Modeling Language

ArchetypeModelingLanguage

Modelof“Class”

19

Page 20: OMG Archetype Modeling Language

ArchetypeModelingLanguage

Representationof“Class”

20

Page 21: OMG Archetype Modeling Language

ArchetypeModelingLanguage

UMLModelInstance

21

Page 22: OMG Archetype Modeling Language

ArchetypeModelingLanguage

UMLModelInstance

Class

22

Page 23: OMG Archetype Modeling Language

ArchetypeModelingLanguage

Instances

Generalization

Relationship

Property

23

Page 24: OMG Archetype Modeling Language

ArchetypeModelingLanguage

ModelInterchange

24

Page 25: OMG Archetype Modeling Language

ArchetypeModelingLanguage

UML

• Goodatgeneral,“extensible”models• NOTsogoodat“constraint”models• Extensible–elementsthemetamodelitselfcanbeextendedasa“Profile”

25

Page 26: OMG Archetype Modeling Language

ArchetypeModelingLanguage

Extension

‘Particularization’ofUMLbyspecializingsomeofitselements,imposingnewrestrictionsonthembutrespectingtheUMLmetamodel,andwithoutmodifyingtheoriginalsemanticsoftheUMLelements(i.e.,thepropertiesoftheUMLclasses,associations,attributes,etc.,willremainthesame,butnewconstraintswillbeaddedtotheiroriginaldefinitionsandrelationships).

26

Page 27: OMG Archetype Modeling Language

ArchetypeModelingLanguage

Extension

27

Tag

Restriction

Page 28: OMG Archetype Modeling Language

ArchetypeModelingLanguage

UsingaStereotype(extension)

28

Page 29: OMG Archetype Modeling Language

ArchetypeModelingLanguage

Profile

• CollectionsofStereotypesandClasses• Semanticsoftheabove• Suggestionsforrepresentationanduse

The(or“A”)GOAListohaveUMLmodelvendorsincorporateprofilesasfirstclassitemsintotheirtools…

29

Page 30: OMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

• The AML Standard - what it is (and isn’t)

• AML Examples

• AML Tools

Page 31: OMG Archetype Modeling Language

CIMIAML

London,Dec1,2011

• ADL1.5astheinitialformalism,includingtheArchetypeObjectModel

• ACIMIUMLprofile(ArchetypeModellingLanguage,AML)willbedevelopedconcurrentlyasasetofUMLstereotypes,XMIspecificationsandtransformations

31

Page 32: OMG Archetype Modeling Language

ArchetypeModelingLanguage

ObjectManagementGroup(OMG)

• Standardsconsortium• HometoUMLandModelDrivenArchitecture(MDA)• “NoShelf-ware”policy–standardsmustbeaccompaniedbyimplementations

• PlatformTechnicalCommittees–architecture,tools,middleware

• DomainTechnicalCommittees–“vertical”domains(Healthcare,Manufacturing,Robotics,Space,…)

32

Page 33: OMG Archetype Modeling Language

AML Archetype Modeling Language• Object Management Group (OMG) Standard

• Approved June, 2016

• (Finally) published on OMG web site

• Says “alpha” until we get a couple of issues resolved with publication

• Will be “beta” for one year

• Finalization Task Force (FTF) formed

• JIRA site for bug reporting and the like

Page 34: OMG Archetype Modeling Language

AML Specification

Page 35: OMG Archetype Modeling Language

The AML Specification• The actual spec (PDF) — largely generated from the model

• Three UML profiles:

Reference Model Profile

Terminology Profile

Constraint Profile

• QVT transforms for importing and exporting to AOM XML

• Magic Draw images of:

• Profiles, Ref models, samples

• Actual specification document

• Eclipse Implementation of AOM Schemas and metamodels

Page 36: OMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

• The AML Standard - what it is (and isn’t)

• AML Examples

• AML Tools

Page 37: OMG Archetype Modeling Language

AML The specification is not

• Tools

• QVT + Schemas give import/export capability(!)

• Representation

• “Out of the box” is UML classes, attributes, associations, etc

• Representations come with tools

• Interchange format for AML

• ADL Schema

• XMI

• Examples

• Tutorial / how to use manual

Page 38: OMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

• The AML Standard - what it is (and isn’t)

• AML Examples

• AML Tools

Page 39: OMG Archetype Modeling Language

Constraint Modeling1. Define a “maximal model” — the set of all possible

data instances. (Reference Model)

2. (Incrementally) restrict the set of possible instances to represent specific types (subsets) of information. (Archetypes)

3. Combine collections of archetypes and make implementation level decisions on cardinality, types, et. (Templates)

Page 40: OMG Archetype Modeling Language

Constraint Modeling in ADLCIMI Reference

Model (UML)

CIMI Reference Archetypes

(ADL)

CIMI Archetypes

(ADL)

In the latest version of CIMI, the Reference Model is a combination of the UML model and the upper level (Reference) Archetypes in the ADL modeling space…

… this is why the RM itself is called “mini-CIMI”

Page 41: OMG Archetype Modeling Language

Reference Models and ADL

Reference Model (UML)

Reference Model (BMM)

AOM Profile

ADL Workbench

Archetype Object Model

Transform

Dependency

Reference

Reference

Page 42: OMG Archetype Modeling Language

Basic Meta-Model (BMM)

CODED_TEXT “Data Type”

ELEMENT, ITEM, ITEM_Group…

Page 43: OMG Archetype Modeling Language

AOM “Profiles”AOM TERMINOLOGY_CODE

to CIMI CODED_TEXTmapping

AOM Primitive Types toCIMI RM Substitutions

Page 44: OMG Archetype Modeling Language

Reference Models and AML

Reference Model (UML)

Reference Model (BMM)

AOM Profile

ADL Workbench

Archetype Object Model

Transform

Dependency

Reference

Reference

Page 45: OMG Archetype Modeling Language

Reference Models and AML

Reference Model (UML)

Reference Model (BMM)

AOM Profile

UML Modeling Tool

Archetype Object Model

Transform

Dependency

Reference

Reference

Page 46: OMG Archetype Modeling Language

Reference Models and AML

Reference Model (UML)

AOM Profile

UML Modeling Tool

Archetype Object Model

Reference

Reference

Page 47: OMG Archetype Modeling Language

Reference Models and AML

Reference Model (UML)

UML Modeling Tool

Archetype Object Model

<<import>>

ReferenceArchetype

Library

Page 48: OMG Archetype Modeling Language

Reference Models and AML

Reference Model (UML)

UML Modeling Tool

Archetype Object Model

<<import>>

Reference

AML Reference Model

Profile

Archetype Library

<<apply>>

Page 49: OMG Archetype Modeling Language

Reference Models and AML

Reference Model (UML)

UML Modeling Tool

<<import>>

AML Reference Model

Profile

Archetype Library

<<apply>>

AML Terminology

Profile

AML Constraint

Profile

<<apply>><<apply>>

Page 50: OMG Archetype Modeling Language

Process• Download and install the 3 OMG profiles

• Download or install the reference model

• Annotate the reference model with RM Profile

• Create or extend archetypes

Page 51: OMG Archetype Modeling Language

Process• QVT allows ADL import and export (!)

• Visumpoint has tooling available

• ADL WB supports export to XML w/ XML schema

• (note on keeping QVT and schema in sync)

• ADL —> XML —> AML works!

• AML —> XML works

• Still holding on XML —> ADL

Page 52: OMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

• The AML Standard - what it is (and isn’t)

• AML Examples

• AML Tools

Page 53: OMG Archetype Modeling Language

Reference Model Profile• Infrastructure [property] - implementation aspect

such as archetype identifier

• Runtime [property] - dynamic / runtime property such as timestamp.

• ReferenceModel - root package of a reference model

Page 54: OMG Archetype Modeling Language

ReferenceModel

Page 55: OMG Archetype Modeling Language

Archetype

Page 56: OMG Archetype Modeling Language

Archetype Components

Page 57: OMG Archetype Modeling Language

ADL Observation

Page 58: OMG Archetype Modeling Language

ADL Reference Model

Page 59: OMG Archetype Modeling Language

ADL Constraint Class

Page 60: OMG Archetype Modeling Language

ADL Specialization

Page 61: OMG Archetype Modeling Language

ADL Languages

Page 62: OMG Archetype Modeling Language

ADL Metadata

Page 63: OMG Archetype Modeling Language

ADL Definition Section

Page 64: OMG Archetype Modeling Language

ADL Definition Section

Page 65: OMG Archetype Modeling Language

ADL Definition Section

Page 66: OMG Archetype Modeling Language

ADL Definition Section

Page 67: OMG Archetype Modeling Language

ADL Term Definitions

Page 68: OMG Archetype Modeling Language

ADL Identifiers

Page 69: OMG Archetype Modeling Language

ADL Term Definitions

Page 70: OMG Archetype Modeling Language

ADL Term Bindings

Page 71: OMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

• The AML Standard - what it is (and isn’t)

• AML Examples

• AML Tools

Page 72: OMG Archetype Modeling Language

AML Tools Standard

• Specification

Examples document (still rough draft)

https://github.com/opencimi/AML/tree/master/adl-examples-for-aml

• QVT Import and Export

• ADL Export and (pending) Import

Page 73: OMG Archetype Modeling Language

AML Tools Visumpoint

• Tutorials and introductory material

• Magic Draw Plugin

• Wizards

• DSL (Dropdown Menus, Context Driven Editing)

• Terminology Tables

• CTS2 Implementation (?)

Page 74: OMG Archetype Modeling Language

Terminology Editing Tools

Page 75: OMG Archetype Modeling Language

AML Tools• Michael van der Zel

• Enterprise Architect

• CTS2 Implementation

• David Carlson

• FHIR —> UML

• Possible AML

Page 76: OMG Archetype Modeling Language

Summary• AML Specification is final

• Finalization Task Force is in place

• AML Modeling works

• Import / export to AML

• Tooling, documentation, integration, etc. needs to happen

Page 77: OMG Archetype Modeling Language

Next Steps• AML and 11179

• Additional capabilities not shown in this presentation

• Tools, tutorials, documentation (!!!!)

• Finish XML —> ADL WB (!!!)

• Integration with MDHT FHIR tooling (?)

• UML / AML —> ShEx

• Instance implementation

• Data transformation (!)