Upload
patience-gallagher
View
215
Download
2
Embed Size (px)
Citation preview
AN ORGANISATION FOR A NATIONAL EARTH SCIENCE INFRASTRUCTURE PROGRAM
Information modelling – tools
Simon Cox
2
Overview
• A little more UML– Governance concerns, packaging and namespaces
• Hollow World interface• Usage guidelines• A few unavoidable details
Class diagrams• Show information objects, their properties and
relationships
}Class attributes
}Class constraints
Not shown – class operations
Additional parent not shown
Specialization
Association
Class stereotype
Attribute stereotype
Association-end role name
Class
pkg GeoSciML package dependencies
«Application Schema»GeoSciML-Core
«Application Schema»CGI_Utilities
«Application Schema»PhysicalProperties
«Application Schema»Borehole
«Application Schema»LaboratoryAnalysis-Specimen
«Application Schema»GeologicTimescale
«Application Schema»TemporalReferenceSystem
ISO 19108:2006 Temporal Schema
(from ISO 19108 Temporal schema)
ISO DIS 19156:2010 Observ ations and Measurements
(from ISO 19156 Observations and Measurements)
SensorML v 1.0
(from Sensor Web Enablement 1.0)
ISO 19107:2003 Spatial Schema
(from ISO 19107 Spatial Schema)
ISO 19115:2006 Metadata (Corrigendum)
(from ISO 19115-All Metadata)
ISO 19103:2005 Schema Language
(from ISO 19103 Conceptual Schema Language)
«Application Schema»EarthMaterial
Need to update to SWE v2 when available
«import»
«import»
«import»
«import»
«import»
«import» «import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
«import»
Name:Package:Version:Author:
GeoSciML package dependenciesGeoSciML3.0.0CGI Interoperability Working Group
Package diagrams
Dependencies & maintenance arrangements
6
Packaging is important
• Unit of governance• UML Package = XML Namespace
– If stereotyped «applicationSchema»
Object diagrams
• … can get busy very fast
“Accidents in Legoland”
Mostly useful in the analysis phase
Summary of UML structure diagrams
• Package – ownership (governance arrangements) – dependencies
• Class – the data model
• Objects – examples in action
Hollow World template
• A template for designing application schemas in UML
• Contains key standards components– ISO 19100 Harmonized Model– OGC SWE Model– ISO 19136 stereotypes and tagged values– INSPIRE themes
ISO Harmonized Model
• Key packages used for Application Schema design:– 19103 – primitive types – 19107 – geometry – 19108 – temporal – 19111 – coords – 19115 – metadata – 19123 – coverages– 19136 – GML – 19156 – O&M
• (go to EA live to explore)
Standard components: OGC Sensor Web
• Key packages used for Application Schema design:– SensorML– Observations & Measurements– SWE Common– SOS, SPS ...
• (go to EA live to explore)
Elements from external standards
• Standard components are loaded from remote SVNs• They are locked against modification by unauthorized
users (i.e. mere application-schema designers!)– i.e. the tool enforces the governance arrangements
• Package your domain model separately
Use of UML
• Informative - sketch or illustrate ideas– Ambler (Agile methodologies …) uses it mostly this way
vs. • Formal & complete
– In order to feed a CASE tool
• For automatic implementation, the model must be complete– Everything required for implementation must be in either
• The model• The rule for converting from model to implementation
– UML == ‘graphical programming language’• Every comma counts, just like real programming
Be aware of the workflow
• Raw observations– E.g. temperature field, flow-rate history, density distribution, colour distribution
(image)– i.e. evidence
• Interpolated/modelled properties– Geophysics, MetOcean– Results of simulations and process models,
conditioned by observations– i.e. predictions, simulations, inversions
• ‘Real-world’ features– E.g. weather system, ore-body, forest, reef– i.e. result of interpretation
• Often useful to segregate these viewpoints into different packages
Be consistent about the abstraction level
• Conceptual - Domain semantics– Terminology as used by practitioners in the discipline
• not an abstraction from data management – ‘Ore-body’, not ‘Table’ or ‘Polygon’ or ‘URI’
• Don’t show identifier, key/keyref in the class model – these are implicit in the relationships
• Implementation – Shows implementation artefacts like ‘string’, ‘id’, ‘index’
More information
• For more detail:– https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlOutline – https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlStereotypesAndTaggedVal
ues
– https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlTestModels
UML extensions
• Stereotypes– Extend the meta-model: – To create an additional class-of- [classes, associations, attributes]
class Context Diagram : BoreholeDetails
«DataType»BoreholeDetails
+ coreCustodian: CI_ResponsibleParty+ coredInterval: GM_Envelope [1..*]+ dateOfDril l ing: TM_CalDate+ dril ler: CI_ResponsibleParty+ dril l ingMethod: BoreholeDril l ingMethodCode+ inclinationType: BoreholeInclinationCode+ nominalDiameter: Quantity+ operator: CI_ResponsibleParty+ startPoint: BoreholeStartPointCode
«CodeList»BoreholeStartPointCode
+ from pre-existing hole+ natural ground surface+ open pit floor or wall+ underground
«CodeList»BoreholeInclinationCode
+ horizontal+ inclined down+ inclined up+ vertical
SF_SamplingCurve
«FeatureType»Borehole
TM_TemporalPosition
Temporal Reference System::TM_CalDate
+ calDate: Sequence<Integer>+ calendarEraName: CharacterString
«datatype»Citation and responsible party information::
CI_ResponsibleParty
+ contactInfo: CI_Contact [0..1]+ individualName: CharacterString [0..1]+ organisationName: CharacterString [0..1]+ positionName: CharacterString [0..1]+ role: CI_RoleCode
«CodeList»BoreholeDrillingMethodCode
+ air core+ auger+ cable tool+ diamond core+ direct push+ hand auger+ hydraulic rotary+ RAB+ RC+ unknown+ vibratory
Coordinate geometry::GM_Env elope
{root}
+ lowerCorner: DirectPosition+ upperCorner: DirectPosition
AbstractDataComponent
simpleTypes::Quantity
+ constraint: AllowedValues [0..1]+ quality: Quality [0..*]+ uom: UomIdentifier [0..1]+ value: double [0..1]
+indexData
1
Name:Package:Version:Author:
Context Diagram : BoreholeDetails«Application Schema» Borehole3.0.0CGI Interoperabil ity Working Group
Class stereotypes
• «FeatureType»– Domain class,
instances have identity• «Type» or none
– Has identity, but not a feature; e.g. geometry, topology, temporal object, definition
• «DataType»– Just a data structure,
no external identity, always inline
• «Union»– Ad-hoc choice
• «Enumeration»– Closed enumeration
• «Codelist»– Extensible enumeration
Package stereotypes
• «Application Schema»– independently governed
package, separate XML namespace
• «Leaf» – Convenience package, no sub-
packages, separate XSD document
UML extensions
• Stereotypes• Tagged values
– Embed information for specific implementation platforms – Doesn’t relate to the conceptual level
Tagged values for GML encoding
• Package– xsdDocument– xmlns– targetNamespace
• Class– noPropertyType– byValuePropertyType– asDictionary («codeList» only)– ownedBy (proposed)
• Attribute and association end– sequenceNumber– inlineOrByReference– estimatedProperty (proposed)
https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlStereotypesAndTaggedValues
Acknowledgements
•SISS Project Sponsors:
•AuScope, ANDS and the ARCS Organisations are supported by the Australian Government through the National Collaborative Research Infrastructure Strategy Program and/or the Education Investment
Fund (EIF) Super Science Initiative
•Workshop assistance provided by: