Download presentation
Presentation is loading. Please wait.
Published byMartha Long Modified over 9 years ago
1
Domain Modelling and Implementation From model to implementation Simon Cox Research Scientist Sydney - December, 3 rd 2010
2
Overview Serialization rules Technical finalization of a model FullMoon CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010
3
Serialization rules
4
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Encoding ISO 19118 Encoding principles ISO 19136 (a.k.a. GML 3.2) Annex D – XML implementation of ISO 19107, 19108, 19111, 19123 (sort-of) Annex E – UML GML 3.2 encoding rule ISO TS 19139 Variant UML XML encoding rule - generally follows GML pattern, except: All types implemented as elements, even gco:CharacterString! Sophisticated treatment of codelists
5
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML → XML/GML ‘striped’ syntax - Alternating UpperCamelCase objects, lowerCamelCase properties gcDD0214 48.3... -31.939 115.832......
6
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Inline or by-reference gcDD0214 48.3... -31.939 115.832 34.5...... gcDD0214 48.3......
7
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 GML rule Object = XML element Attribute & association = sub-element Association target or attribute value = inline or by reference Some standard qualifiers → XML attributes srsName, codeSpace, uom xlink for references xlink:href – URI of target resource xlink:role – type of target, xlink:role – name of target, etc Other xlinks … gcDD0214 48.3......
8
GML rule For more detail: https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/GmlImplementation https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlTestModels CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010
9
Finishing a model
10
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Finishing the model Tagged values: XML implementation details on each package targetNamespace xmlns xsdDocument on properties (attributes and association-ends) inlineOrByReference on attributes and association ends sequenceNumber on each attribute and association end https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlStereotypesAndTaggedValues
11
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Associations 1.Navigable end must carry a roleName Else can’t be encoded 2.Tagged value: inlineOrByReference ‘inline’ sub-element only ‘byReference’ xlink 3.«DataType» has no (external) identity composition association
12
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Package tags «Application Schema» TestAS08 + Sample tags classMap = Map_ta08.xml gmlProfileSchema = owner = Simon Cox targetNamespace = urn:cgi:xmlns:CSIRO:TestAS08:1.0 version = 1.0.0 xmlns = ta08 xsdDocument = testas08.xsd «Leaf» Sample + Sample tags xsdDocument = sample.xsd Name: Package: Version: Author: Package Dependencies «Application Schema» TestAS08 1.0 Simon Cox Test model 08
13
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Property tags
14
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Finishing the model Tagged values: XML implementation details Record package dependencies
15
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Link to standard components
16
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Package dependencies HollowWorld ‘add-in’ will build these automagically «Application Schema» TestAS08 + Sample tags classMap = Map_ta08.xml gmlProfileSchema = owner = Simon Cox targetNamespace = urn:cgi:xmlns:CSIRO:TestAS08:1.0 version = 1.0.0 xmlns = ta08 xsdDocument = testas08.xsd «Leaf» Sample + Sample tags xsdDocument = sample.xsd (from TestApplications) «import» ISO 19103 Conceptual Schema Language + Basic Types (from ISO 19100) ISO 19108 Temporal + Temporal Objects + Temporal Reference System (from ISO 19100) ISO 19107 Spatial Schema + Geometry + Topology (from ISO 19100) «import» Name: Package: Version: Author: Package Dependencies «Application Schema» TestAS08 1.0 Simon Cox Test model 08
17
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Do you use packages not in HollowWorld? You must tell the encoded (FullMoon) how to find them 1.Register the external package... and how its classes are implemented in XML 2.Publish its ‘classmap’ http://projects.arcs.org.au/trac/fullmoon/wiki/ExternalDependencyConfiguration
18
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Finishing the model Tagged values Record package dependencies Documentation Add a scope note for every package, class, attribute, association https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/ModelDocumentation
19
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Complete all scope notes
20
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Finishing the model Tagged values Record package dependencies Documentation Refer to the modelling check-list https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/ModelingCheckList
21
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Create Artefacts for encoder (FullMoon) Export model from UML tool Exported package must be «Application Schema» XMI 1.1 XMI sample with EAStub elements Make sure all external dependencies are recorded Register of external packages Standard UML XML classmaps, published classmapsStandard UML XML classmapspublished classmaps http://projects.arcs.org.au/trac/fullmoon/wiki/ExternalDependencyConfiguration
22
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 FullMoon
23
Conformance Documentation XML Encoder FullMoon overview CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 FullMoon eXist XQuery FullMoon eXist XQuery report OWL
24
FullMoon implementation Uses XMI representation of UML structure model Three rulesets (for now): Model conformance GML schema generation HTML documentation Processing rules expressed in XQuery Coming soon? UML OWL UML ISO 19110 Feature Type Catalogue UML data bindings (header files) CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010
25
FullMoon setup Requirements Java Apache Ant Tomcat eXist FullMoon See FullMoon Installation http://projects.arcs.org.au/trac/fullmoon/wiki/FullMoonInstallation Run the installation tests! http://projects.arcs.org.au/svn/fullmoon/trunk/doc/user-manual/quick-start.html
26
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 FullMoon operation Command line ant -f bin/run.xml add -Di=“myModel” -Dd=“c:/tmp:MyModel.xml” ant -f bin/run.xml test -Di=“myModel” ant -f bin/run.xml execute-enc –Di=“myModel” –Dg=“3.2” ant -f bin/run.xml export -Do=“c:/tmp/xsd” ant -f bin/run.xml execute-doc –Di=“myModel” –Dl=“better.css” –Dt=“My terrific domain model” Bat scripts run-test.bat run-encode.bat run-doc.bat For support, see usage guide Trac mailing listusage guideTrac mailing list http://projects.arcs.org.au/svn/fullmoon/trunk/doc/user-manual/usage.html http://projects.arcs.org.au/trac/fullmoon/
27
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 FullMoon Examples
28
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Conformance tests http://projects.arcs.org.au/trac/fullmoon/wiki/ModelConformanceT ests Run FullMoon test on TestAS08***.xml (in xmi-samples)
29
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 XML Schema Generation See outputs in http://projects.arcs.org.au/trac/fullmoon/wiki/UmlGmlTestModels http://projects.arcs.org.au/trac/fullmoon/wiki/UmlGmlTestModels
30
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Documentation Requires scope notes for every Package Class Attribute Association See outputs in http://projects.arcs.org.au/trac/fullmoon/wiki/UmlGmlTestModels http://projects.arcs.org.au/trac/fullmoon/wiki/UmlGmlTestModels Extended example - http://www.geosciml.org/geosciml/2.0/doc/http://www.geosciml.org/geosciml/2.0/doc/
31
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 End-to-end checklist https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/EndTo EndCheckListhttps://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/EndTo EndCheckList
32
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 FullMoon highlights 1.Conformance tests + diagnostics 2.Management of external dependencies Register of known models with XML bindings Map of UML Class XML for each model Separately maintained and published 3.Documentation generator including XSD fragments 4.Modular architecture Relatively easy to add a new rule-set … separation of concerns
33
Contact Us Phone: 1300 363 400 or +61 3 9545 2176 Email: enquiries@csiro.au Web: www.csiro.au Thank you Earth Science & Resource Engineering Simon Cox Research Scientist Phone: 08 6436 8639 Email: simon.cox@csiro.au Web: www.csiro.au CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010
34
Qualified values … GSNSW785 500 Mafic volcaniclastic sandstone, siltstone, shale, chert; minor limestone, conglomerate Kabadah Formation Ojck urn:cgi:feature:GA:Stratno:29570 published description typicalNorm urn:cgi:classifier:ICS:StratChart:2004:Ordovician unspecified … Most content is taken from controlled sources Common values interoperability
35
CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 XMI XML Model Interchange Verbose serialization of the UML See Test Model 5 (one empty class!)Test Model 5 (one empty class!) Not very standardized FullMoon is designed around Enterprise Architect XMI 1.1 Puts some key information in tagged values XMI 2 is more standard and complete May include representation of diagrams These are not used by FullMoon
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.