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

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

Information Modelling MOLES Metadata Objects for Linking Environmental Sciences S. Ventouras Rutherford Appleton Laboratory.
Community semantics and interoperability: the ISO/TC 211 framework and the “Hollow World” Simon Cox CSIRO Exploration and Mining 6 September.
AN ORGANISATION FOR A NATIONAL EARTH SCIENCE INFRASTRUCTURE PROGRAM Information modelling – tools Simon Cox.
Designing GML application schemas for Observations and Measurements Simon Cox CSIRO Exploration and Mining 6 January 2006.
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng) Supplementary: Using and Extending UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
Common Mechanisms in UML
David Harrison Senior Consultant, Popkin Software 22 April 2004
MTEI Methods & Tools for Enterprise Integration
Domain Modelling and Implementation From model to implementation Simon Cox Research Scientist Sydney - December, 3 rd 2010.
NIEM-UML Profile Justin Stekervetz, NIEM PMO
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
AN ORGANISATION FOR A NATIONAL EARTH SCIENCE INFRASTRUCTURE PROGRAM Information modelling – standards context Simon Cox.
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
1 CIM User Group Conference Call december 8th 2005 Using UN/CEFACT Core Component methodology for EIC/TC 57 works and CIM Jean-Luc SANSON Electrical Network.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Introduction to MDA (Model Driven Architecture) CYT.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Interfacing Registry Systems December 2000.
Information Viewpoints and Geoscience Service Architectures Simon Cox Research Scientist 13 December 2007.
UML Profiles Eclipse ECESIS Project The UML Profile technology SOFTEAM 144 Ave des Champs Elysées Paris, France
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Designing GML application schemas for Observations and Measurements Simon Cox CSIRO Exploration and Mining 22 March 2006.
UML Class Diagrams and Caché CAMTA Meeting – 1 st December 2011 John Murray Senior Product Engineer.
UNCERTML - DESCRIBING AND COMMUNICATING UNCERTAINTY WITHIN THE (SEMANTIC) WEB Matthew Williams
An OO schema language for XML SOX W3C Note 30 July 1999.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Sheet 1XML Technology in E-Commerce 2001Lecture 2 XML Technology in E-Commerce Lecture 2 Logical and Physical Structure, Validity, DTD, XML Schema.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Standards-based methodology for developing a geoscience markup language Simon Cox Research Scientist 9 August 2008.
The Unified Modeling Language (UML)
WIGOS Data model – standards introduction.
Slide 1 SDTSSDTS FGDC CWG SDTS Revision Project ANSI INCITS L1 Project to Update SDTS FGDC CWG September 2, 2003.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
AIXM 5 UML Modelling Conventions. AIXM is GML AIXM is an XML exchange standard based on a subset of GML. Essentially: –AIXM Features are GML features.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
® Using (testing?) the HY_Features model, 95th OGC Technical Committee Boulder, Colorado USA Rob Atkinson 3 June 2015 Copyright © 2015 Open Geospatial.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Leverage and Delegation in Developing an Information Model for Geology Simon Cox Research Scientist 14 December 2007.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Leverage and Delegation in Developing an Information Model for Geology Simon Cox Research Scientist 14 December 2007.
Basic Characteristics of Object-Oriented Systems
ESA UNCLASSIFIED – For Official Use INSPIRE Orthoimagery TWG Status Report Antonio Romeo ESRIN 15/02/2012.
UML (Unified Modeling Language)
Model Based Engineering Environment Christopher Delp NASA/Caltech Jet Propulsion Laboratory.
CTMS Coordination Team CTMS Coordination Team: Model and Documentation Management John Koisch Paul Boyes
Object Management Group Information Management Metamodel
SysML v2 Formalism: Requirements & Benefits
Systems Analysis and Design With UML 2
Simon Cox Research Scientist 16 April 2008
UML to XSD.
The Re3gistry software and the INSPIRE Registry
Session 3: Information Modelling and Information Communities
Presentation transcript:

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

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

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

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 …

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

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

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

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

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

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!

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

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

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

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

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

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

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 Harmonized Model OGC SWE Model ISO stereotypes and tagged values Optimized for Sparx Enterprise Architect …

CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 ISO Harmonized Model Key packages used for Application Schema design: – primitive types – geometry – temporal – coords – metadata – coverages – GML – O&M (go to EA live to explore)

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)

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

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

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

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]

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

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

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

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

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

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)

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

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

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

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’

CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 More information For more detail: edValueshttps:// edValues

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

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 gcDD

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.

Contact Us Phone: or Web: Thank you Earth Science & Resource Engineering Simon Cox Research Scientist Phone: Web: CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010

UML vs. other formalizations

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

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

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

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

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

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.

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

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

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)

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

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 ConfiguringUMLToolForHollowWorld Create «Application Schema» package Start modelling …

CSIRO. Masterclass: Domain Modelling and Implementation - Sydney 03/12/2010 Classes Test model 08Test model 19

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

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

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

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