OMG Archetype Modeling Language

Preview:

Citation preview

AMLOMG Archetype Modeling Language

Outline• Constraint modeling and UML profiles

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

• AML Examples

• AML Tools

Outline• Constraint modeling and UML profiles

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

• AML Examples

• AML Tools

ArchetypeModelingLanguage

“TopDown”Modeling

• Additive– Startwithmostabstract– Specializeaddingpropertiesandrelationships

• Instancesonlyvalidatselectedlevelup

4

ArchetypeModelingLanguage

“TopDown”Modeling

5

ArchetypeModelingLanguage

“TopDown”Modeling

6

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

ArchetypeModelingLanguage

“TopDown”Modeling

7

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

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

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”/>

ArchetypeModelingLanguage

“TopDown”Modeling

9

ß Ifthisismymodel…

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

ß …thismakesnosense!

ArchetypeModelingLanguage

Constraintor“BottomUp”Modeling

• Startwithgeneralmodel– Becomesthemostabstractlevelofexchange

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

10

ArchetypeModelingLanguage

ConstraintBasedModels

• StartwithUML“ReferenceModel”thatdefinesthemostabstractlevelofexchange

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

11

ArchetypeModelingLanguage

ConstraintsasaGrammar

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

– Informationiscodedinapplications(!)• Brittle• Rigid

• With– AbnormalHCT=={setofconstraints}– Applicationsreferencemodel

12

ArchetypeModelingLanguage

Constraints

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

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

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

13

ReferenceModel/ReferenceArchetypes

ReferenceModel• Maximalsetof“meaningfuldata”• Minimumconformancelevel

ReferenceArchetype(s)•SubsetofReferenceModel•FormsfoundationofArchetypecollections

14

ReferenceModeReferenceArchetype

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

• Supportsrichersetofdatatypes• CompatiblewithFHIR/V3

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

15

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”

Outline• Constraint modeling and UML profiles

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

• AML Examples

• AML Tools

ArchetypeModelingLanguage

UML

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

• Representationforelements(Aninstanceofa“Class”isrepresentedasaboxwithseparateslots…”

• Modelofmodelexchange

18

ArchetypeModelingLanguage

Modelof“Class”

19

ArchetypeModelingLanguage

Representationof“Class”

20

ArchetypeModelingLanguage

UMLModelInstance

21

ArchetypeModelingLanguage

UMLModelInstance

Class

22

ArchetypeModelingLanguage

Instances

Generalization

Relationship

Property

23

ArchetypeModelingLanguage

ModelInterchange

24

ArchetypeModelingLanguage

UML

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

25

ArchetypeModelingLanguage

Extension

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

26

ArchetypeModelingLanguage

Extension

27

Tag

Restriction

ArchetypeModelingLanguage

UsingaStereotype(extension)

28

ArchetypeModelingLanguage

Profile

• CollectionsofStereotypesandClasses• Semanticsoftheabove• Suggestionsforrepresentationanduse

The(or“A”)GOAListohaveUMLmodelvendorsincorporateprofilesasfirstclassitemsintotheirtools…

29

Outline• Constraint modeling and UML profiles

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

• AML Examples

• AML Tools

CIMIAML

London,Dec1,2011

• ADL1.5astheinitialformalism,includingtheArchetypeObjectModel

• ACIMIUMLprofile(ArchetypeModellingLanguage,AML)willbedevelopedconcurrentlyasasetofUMLstereotypes,XMIspecificationsandtransformations

31

ArchetypeModelingLanguage

ObjectManagementGroup(OMG)

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

• PlatformTechnicalCommittees–architecture,tools,middleware

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

32

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

AML Specification

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

Outline• Constraint modeling and UML profiles

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

• AML Examples

• AML Tools

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

Outline• Constraint modeling and UML profiles

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

• AML Examples

• AML Tools

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)

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”

Reference Models and ADL

Reference Model (UML)

Reference Model (BMM)

AOM Profile

ADL Workbench

Archetype Object Model

Transform

Dependency

Reference

Reference

Basic Meta-Model (BMM)

CODED_TEXT “Data Type”

ELEMENT, ITEM, ITEM_Group…

AOM “Profiles”AOM TERMINOLOGY_CODE

to CIMI CODED_TEXTmapping

AOM Primitive Types toCIMI RM Substitutions

Reference Models and AML

Reference Model (UML)

Reference Model (BMM)

AOM Profile

ADL Workbench

Archetype Object Model

Transform

Dependency

Reference

Reference

Reference Models and AML

Reference Model (UML)

Reference Model (BMM)

AOM Profile

UML Modeling Tool

Archetype Object Model

Transform

Dependency

Reference

Reference

Reference Models and AML

Reference Model (UML)

AOM Profile

UML Modeling Tool

Archetype Object Model

Reference

Reference

Reference Models and AML

Reference Model (UML)

UML Modeling Tool

Archetype Object Model

<<import>>

ReferenceArchetype

Library

Reference Models and AML

Reference Model (UML)

UML Modeling Tool

Archetype Object Model

<<import>>

Reference

AML Reference Model

Profile

Archetype Library

<<apply>>

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>>

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

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

Outline• Constraint modeling and UML profiles

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

• AML Examples

• AML Tools

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

ReferenceModel

Archetype

Archetype Components

ADL Observation

ADL Reference Model

ADL Constraint Class

ADL Specialization

ADL Languages

ADL Metadata

ADL Definition Section

ADL Definition Section

ADL Definition Section

ADL Definition Section

ADL Term Definitions

ADL Identifiers

ADL Term Definitions

ADL Term Bindings

Outline• Constraint modeling and UML profiles

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

• AML Examples

• AML Tools

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

AML Tools Visumpoint

• Tutorials and introductory material

• Magic Draw Plugin

• Wizards

• DSL (Dropdown Menus, Context Driven Editing)

• Terminology Tables

• CTS2 Implementation (?)

Terminology Editing Tools

AML Tools• Michael van der Zel

• Enterprise Architect

• CTS2 Implementation

• David Carlson

• FHIR —> UML

• Possible AML

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

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 (!)

Recommended