Presentation is loading. Please wait.

Presentation is loading. Please wait.

Domain Modelling and Implementation From model to implementation Simon Cox Research Scientist Sydney - December, 3 rd 2010.

Similar presentations


Presentation on theme: "Domain Modelling and Implementation From model to implementation Simon Cox Research Scientist Sydney - December, 3 rd 2010."— Presentation transcript:

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


Download ppt "Domain Modelling and Implementation From model to implementation Simon Cox Research Scientist Sydney - December, 3 rd 2010."

Similar presentations


Ads by Google