Upload
ngodiep
View
221
Download
0
Embed Size (px)
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 (!)