VO-DML/Mapping status update. Omar Laurino SAO

Similar documents
Utypes: a standard for serializing Data models instances Version 0.7

IVOA PROVENANCE METADATA CURRENT STATUS

Scala, Your Next Programming Language

CA ERwin Data Modeler

arxiv: v2 [cs.db] 11 Jan 2018

CHAPTER 6 ACTIONS, METHODS, REFACTORING

Model-Code-Deploy platform. Product Overview. Features. UML support. Requirements management

Model Transformations for Embedded System Design and Virtual Platforms

3rd Lecture Languages for information modeling

D WSMO Data Grounding Component

WIRR. Florian Rothmaier, Markus Demleitner. Zentrum für Astronomie Heidelberg. IVOA Interop, Madrid, May 18-23

Lecturer 2: Spatial Concepts and Data Models

Model Driven Development with xtuml and BridgePoint

EDAN65: Compilers, Lecture 04 Grammar transformations: Eliminating ambiguities, adapting to LL parsing. Görel Hedin Revised:

SWIM Standards Evolution Workshop

Biocomputing II Coursework guidance

Defining Domain-Specific Modeling Languages

2/12/11. Addendum (different syntax, similar ideas): XML, JSON, Motivation: Why Scientific Workflows? Scientific Workflows

Syntax and Grammars 1 / 21

Lesson 5 Web Service Interface Definition (Part II)

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

Paper for Consideration by the S-100WG Focus Group / Test Strategy Meeting. Proposed Changes to the S-100 Portrayal

Architectural Design. Architectural Design. Software Architecture. Architectural Models

PROBLEM SOLVING AND PYTHON PROGRAMMING

Compositional Model Based Software Development

Evolution of XML Applications

JAVA CREATE XML DOCUMENT EXAMPLE

Thoughts about a new UI for the Eclipse BPEL Designer

Swinburne Research Bank

Approach for Mapping Ontologies to Relational Databases

Introduction to MDE and Model Transformation

A Roadmap for Development: The PIIM Canonic GUI Model Simplifies HL7 Messaging

ICD Wiki Framework for Enabling Semantic Web Service Definition and Orchestration

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

IVOA Provenance Data Model

Simplified RDF Syntax for Power System Model Exchange

CS560: Formal Modelling and Implementation of Systems (Term II) Lecture: CASE A. O Riordan, 2009.

First Programming Language in CS Education The Arguments for Scala

Arguing With the Machine Analysis of Auto-Generated Code. Jacob Cox, TASC

UPTR - a simple parse tree representation format

The Semantic Planetary Data System

RAPID Resource API Design Language

An Automation Framework for ns-3

IVOA Spectral Energy Distribution (SED) Data Model

What is a Data Model?

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML

CA ERwin Data Modeler

UML 2.5: Specification Simplification

Software Design and Analysis CSCI 2040

Querying Microsoft SQL Server (461)

Quick Start Guide. CodeGenerator v1.5.0

Introduction to Information Systems

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

ISO/IEC INTERNATIONAL STANDARD. Information technology Document Schema Definition Languages (DSDL) Part 3: Rule-based validation Schematron

Sql Server 2008 Query Table Schema Management Studio Create New

Introduction to Computer Science and Business

Axiomatic Specification. Al-Said, Apcar, Jerejian

Concepts of Programming Languages

Software Architectures

1. CONCEPTUAL MODEL 1.1 DOMAIN MODEL 1.2 UML DIAGRAM

Schemachine. (C) 2002 Rick Jelliffe. A framework for modular validation of XML documents

Open Source and Standards

Europlanet IDIS: Adapting existing VO building blocks to Planetary Sciences

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

Introduction. October 5, Petr Křemen Introduction October 5, / 31

A QUICK OVERVIEW OF THE OMNeT++ IDE

Grid Services and the Globus Toolkit

OpenPDK Symbol, Callbacks and Parameters Working Group

CSCIE-275. Guide for Chief Programmers

Appendix: Generic PbO programming language extension

Key components of a lang. Deconstructing OCaml. In OCaml. Units of computation. In Java/Python. In OCaml. Units of computation.

Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila

UML Sequence Diagrams for Process Views

Lesson 14 SOA with REST (Part I)

Model driven Engineering & Model driven Architecture

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

ISO/IEC INTERNATIONAL STANDARD. Information technology Document Schema Definition Languages (DSDL) Part 11: Schema association

Solution Architecture Template (SAT) Design Guidelines

Briefing Paper: developing the DOI Namespace

Chapter 2 FEATURES AND FACILITIES. SYS-ED/ Computer Education Techniques, Inc.

Workshop Data Modelling [en]

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Web Standards Mastering HTML5, CSS3, and XML

Chapter 2 XML, XML Schema, XSLT, and XPath

Intermediate Code Generation

Game Architecture and Modeling Assessment Eric Seckler,

Spemmet - A Tool for Modeling Software Processes with SPEM

Semantic Web. Lecture XIII Tools Dieter Fensel and Katharina Siorpaes. Copyright 2008 STI INNSBRUCK

SERES: ASEMANTICREGISTRY FOR ENTERPRISE SERVICES. Geir Jevne 9.juni 2011

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

CSCC24 Functional Programming Scheme Part 2

SAADA Overview. Supported by. And the CDS /05/ Victoria BC L. Michel 1

A SystemC Extension for Enabling Tighter Integration of IP-XACT Platforms with Virtual Prototypes

Contents ISO/IEC :2003/FDAM-1. Page

These are activated from the Averiti Control Panel, illustrated in Figure 1. Figure 1: Averiti Control Panel

Part I: Structured Data

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Taplint standards coverage

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Transcription:

VO-DML/Mapping status update Omar Laurino SAO

VO-DML status CubeDM, DatasetDM, STC2 Models follow VO-DML rules Feedback from modelers was positive: VO-DML facilitates modeling, can inform decisions, and avoids ad-hoc serialization specs for all formats Feedback from modelers informed changes in spec Translation scripts for Altova and Modelio UML Modelers Consistent reuse of models

VO-DML status New WD circulated in late September Document was decoupled from Mapping WD even more by moving some sections to Mapping WD Added introduction and renamed old introduction to Data Integration ReferencableElement > ReferableElement vodml-id SHOULD be human-readable according to the grammar in Appendix D (?) Model/ModelProxy Model does not extend Package Added version, Removed ivoid (?) in ModelProxy

VO-DML status Clarifications: Only models directly used must be imported Uniqueness and mutability of DataType instances VO-UML attribute notation Collection/Composition and Reference sections (navigation of instances, life cycles) Subsets/Redefines

Mapping WD New version in progress changed title to Mapping Data Model Instances to VOTable depends on possible changes to VOTable feedback from Cube, Dataset, STC2 to be folded in: Reference + Reference to external instances Composition/Collection might define some advanced ORM mappings Need to verify consensus on globally unique prefixes

Implementations VO-DML Mapper (Hawaii) Eclipse Domain Specific Language (Madrid) Python implementation - ~halfway through (Banff) Java (de-)serialization - complete (Heidelberg, TBU) VO-DML/XML to HTML, TAP Schema (Heidelberg) XMI > VO-DML/XML translation scripts for Modelio, Altova, Magic Draw (De-)serialization tutorial

Some lessons learned Continuous communication is key: Modeling for interoperability is no simple feat Critical issues must be identified early Iterations must be much shorter than 6 months Personal interaction works best Common repository most useful (please use volute :) ) Consistency matters: Models reuse makes standards light, interoperable, unambiguous Consistent models are easier to read (by both software and wetware) Separation of Modeling/Serialization makes life easier for everyone, and is key for interoperability

VOTable TOPCAT STC SpectrumDM FITS STCLib SEDLib NewAPP Without VO-DML Iris NewFormat NewDM

VOTable NewFormat SpectrumDM FITS NewDM STC VO-DML XML! Mappings! Drivers TOPCAT NewAPP Iris SEDLib With VO-DML STCLib

Mapping Data Model instances to VOTable A Tutorial

Disclaimer The following examples assume the current Mapping Document, i.e. the use of @utype. Depending on the conclusions of the VOTable discussion, examples might change syntactically, but not semantically, as all options on the table right now are perfectly equivalent.

Data Providers: how to serialize instances

UML VODML/XML Model UML VOTable/Mapping Instances

Model UML Class Diagram

Model A VO-DML/XML document unambiguously describes a Data Model and defines portable identifiers for each element in the DM stc:skycoordinate stc:skycoordinate.longitude! stc:skycoordinate.latitude! stc:skycoordinate.frame! src:source! src:source.name! src:source.position

Instance UML Object Diagram

Instance UML Object Diagram

Simple instance example Start of a VO-DML instance Instance s type Atomic attributes Direct representation: all values defined by PARAMs

Complex Instance example Start of a VO-DML instance Instance s type Structured Attribute Indirect representation: one instance per row through FIELDrefs Atomic attributes Reference

Backward Compatibility Accommodates old- and new-style annotations No name clashes Multiple views in same serialization

Serialization patterns

Or Simply Use VODML Mapper

Clients: how to deserialize instances (with DIY XPATH and Python)

Find all VO-DML instances

Find all VO-DML instances of a specific type

De-serialize Direct Representation

Find all VO-DML instances of a specific type

De-serialize Indirect Representation

Contexts The position of a source vs a position

Summary Serialization (data providers) is straightforward if: the model makes sense the instances have a clear representation in terms of the model Basic serialization patterns are simple and intuitive Advanced Object-Relational Mapping patterns are possible if required (multiple tables with foreign keys, etc.)

Summary Complete client implementation requires more effort, but: De-serialization strategy is model-agnostic I/O libraries are so straightforward they can be generated by a machine and reused as modules Most explicit syntax describes instances for both their role and type Custom/old usages allowed without clashes

Tutorial http://nbviewer.ipython.org/github/olaurino/ vo-dml/blob/master/mappingtutorial.ipynb Thanks!