Presentation is loading. Please wait.

Presentation is loading. Please wait.

Domain Modelling and Implementation Canonical modelling approach Simon Cox Research Scientist Sydney - December, 3 rd 2010.

Similar presentations


Presentation on theme: "Domain Modelling and Implementation Canonical modelling approach Simon Cox Research Scientist Sydney - December, 3 rd 2010."— Presentation transcript:

1 Domain Modelling and Implementation Canonical modelling approach Simon Cox Research Scientist Sydney - December, 3 rd 2010

2 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Overview UML, Modeling basics Hollow-World: the ISO HM, SWE and O&M Standard stereotypes Tagged values Modeling practices

3 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Unified Modeling Language

4 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Unified Modelling Language (UML) OMG’s ‘Platform Independent’ modelling environment Object-oriented 13 types of diagrams Structure Package, class, object, component, deployment … Behaviour Use-case, activity, state Interactions Sequence, communication …

5 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Classes

6 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 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

7 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Relationships

8 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Class attributes & navigable association-ends Navigable end owned by source class Composite association ≈ attribute Properties

9 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML Constraints Rules that can’t be captured in boxes and lines Text, or OCL

10 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Diagrams are selective The diagrams are not the model Each diagram is a ’projection’ or ‘view’ of part of the model, to communicate a key point Fight the A0 plotter syndrome!

11 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Lots of diagrams are a Good Thing Especially in packages containing many classes

12 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Other diagrams used in data modeling

13 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Package diagrams Dependencies & maintenance arrangements

14 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Object diagrams … can get busy very fast “Accidents in Legoland” Mostly useful in the analysis phase

15 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Summary of UML structure diagrams Package ownership (governance arrangements) dependencies Class the data model Objects examples in action

16 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 HollowWorld

17 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 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 Optimized for Sparx Enterprise Architect …

18 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 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)

19 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 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)

20 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Elements from external standards The standard components are loaded by EA 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 domain model separately

21 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Hollow World UI Access to standard/utility components Access to standard stereotypes

22 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML extensibility points

23 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML extensions Stereotypes Extend the meta-model: To create an additional class-of- [classes, associations, attributes]

24 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML Stereotypes «FeatureType»  standard properties & behaviour ~multiple inheritance

25 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 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010

26 Package stereotypes «Application Schema» independently governed package, separate XML namespace «Leaf» Convenience package, no sub- packages, separate XSD document

27 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML extensions Stereotypes Tagged values Embed information for specific implementation platforms Doesn’t relate to the conceptual level

28 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML Tagged values

29 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 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

30 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 High level usage guidelines

31 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 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

32 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 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

33 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 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’

34 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 More information For more detail: https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlOutline https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlStereotypesAndTagg edValueshttps://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlStereotypesAndTagg edValues https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlTestModels

35 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Design strategy

36 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Model is in the markup ‘striped’ syntax - UpperCamelCase objects, lowerCamelCase properties Manually generate Instance examples - Don’t need XSD during design phase gcDD0214 48.3... -31.939 115.832 34.5......

37 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Design strategy – UML + XML instances Iterative design process test the model with manually generated XML fragments Wait to generate an XML Schema until model is substantially complete E.g. https://www.seegrid.csiro.au/subversion/GeoSciML/trunk/instances https://www.seegrid.csiro.au/subversion/GeoSciML/trunk/instances

38 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

39 UML vs. other formalizations

40 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML = objects, operations Object associations - graph topology XML = elements, attributes – no ops Element nesting = tree topology UML vs. XML A1 C G T M A3 H

41 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Use links used to build graphs in XML In general, link targets are identified by URI N.B. URI  open-world Links X A1 C G T M A3 H

42 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML Profile for XML XML is not as expressive as UML restricted profile of UML must be used, to enable XML serialization following these patterns

43 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 UML Structure models vs. RDF/OWL Both are based on graphs of resources + relationships Largely transformable Key relationships have special symbols in UML E.g. subClassOf == Generalization RDF one diagram type, two meta-levels: class and individual Description Logic is based on set-theory, i.e sets and members UML many diagram types, separate diagrams for class and object; but UML includes an arbitrary number of meta-levels «metaclass» stereotype, --«implements»-  relationship UML does not support “complement” or “not” UML closed-world Strictly cardinality rules, complete model, validity checking RDF open-world Anyone can say anything, never see complete model, inferencing

44 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 The model-based method

45 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Information modeling [ISO 19103] The following modeling phases are recommended: Phase 0: Identify scope and context. Phase 1: Identify basic classes. Phase 2: Specify relationships, attributes and operations. Phase 3: Completion of constraints using text/OCL. Phase 4: Model definition harmonization – with sub-models and other work items.

46 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Model based design Premise: domain analysis captured in a formal model should precede, and if possible drive, implementations Argument: Analysis can be done at the right level of abstraction Applications derived from a conceptual view are more robust than software developed directly on a specific technology Platform independent representation supports multiple platforms Types can be reliably traced between platforms Revisions flow through automatically to all platforms Goal One normative artefact – the UML model Software and documentation generated automatically Origins in ‘CASE’ tools

47 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Object diagrams

48 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Standard components: GML extensions to HM Key elements used in Application Schema design: AbstractFeature Definition, Dictionary LineString, Polygon (go to EA live to explore)

49 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Using HollowWorld

50 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Software and configuration 1.Checkout HollowWorld SVN 2.Make a copy of the HollowWorld template model 3.Checkout any other models that will be used as dependencies of your model 4.Install Enterprise Architect 5.Run EA, load the template, fix the Version Control Settings, load the GML profile https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/ ConfiguringUMLToolForHollowWorld Create «Application Schema» package Start modelling … https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/ModelingUsingHollowWorld https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlTestModels

51 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Classes https://www.seegrid.csiro.au/twiki/bin/view/AppSchemas/UmlGmlTestModels Test model 08Test model 19

52 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Example project

53 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Example project: GGIC Earth Resource model

54 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Main dependencies

55 CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Class diagrams


Download ppt "Domain Modelling and Implementation Canonical modelling approach Simon Cox Research Scientist Sydney - December, 3 rd 2010."

Similar presentations


Ads by Google