AN ORGANISATION FOR A NATIONAL EARTH SCIENCE INFRASTRUCTURE PROGRAM Information modelling – tools Simon Cox
Overview A little more UML –Governance concerns, packaging and namespaces Hollow World interface Usage guidelines A few unavoidable details 2
UML structure diagrams
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
Package diagrams Dependencies & maintenance arrangements
Packaging is important Unit of governance UML Package = XML Namespace –If stereotyped «applicationSchema» 6
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
HollowWorld
Hollow World template A template for designing application schemas in UML Contains key standards components –ISO Harmonized Model –OGC SWE Model –ISO stereotypes and tagged values –INSPIRE themes
Hollow World UI Access to standard/utility components Access to standard stereotypes
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
High level usage guidelines
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’
Document as you go 19
More information For more detail: – – ueshttps:// ues –
UML extensibility points
UML extensions Stereotypes –Extend the meta-model: –To create an additional class-of- [classes, associations, attributes]
UML Stereotypes «FeatureType» standard properties & behaviour
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
UML Tagged values
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)
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:
AN ORGANISATION FOR A NATIONAL EARTH SCIENCE INFRASTRUCTURE PROGRAM AuScope