13
Data Evolution in conjunction with Domain Specific Languages Intermediate Presentation Guido Smeets

Data Evolution in conjunction with Domain Specific Languages

  • Upload
    naiya

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Data Evolution in conjunction with Domain Specific Languages. Intermediate Presentation Guido Smeets. Overview. Recap of the Problem Description Recap Research Questions Current Status Implementation Details Observations. Recap: Problem Description. Handwritten. Handwritten. - PowerPoint PPT Presentation

Citation preview

Page 1: Data Evolution in conjunction with Domain Specific Languages

Data Evolution in conjunction with Domain Specific LanguagesIntermediate PresentationGuido Smeets

Page 2: Data Evolution in conjunction with Domain Specific Languages

Overview

• Recap of the Problem Description

• Recap Research Questions

• Current Status

• Implementation Details

• Observations

Page 3: Data Evolution in conjunction with Domain Specific Languages

Recap: Problem Description

Handwritten

GeneratedHandwritten Handwritten

Handwritten

Page 4: Data Evolution in conjunction with Domain Specific Languages

Recap: Research Questions

• Research and implement a solution to generate relational database schemas for the data models and business logic to operate on these data models;

• Research and implement a solution to generate deltas for the relational database for different version of the same data model.

Page 5: Data Evolution in conjunction with Domain Specific Languages

Current Status

DB Creation Fully FunctionalDB Evolution Partially Functional

Fully FunctionalPartially Functional Not Functional

Partially Functional

Page 6: Data Evolution in conjunction with Domain Specific Languages

Implementation: Specification Language

Module News{ Entity Article { UniqueName [!] : String; Title [@] : String; SubTitle [@?] : String; Location [@] : String; HyperLink [@] : String; ShortIntro [@] : Text; ArticleText [@] : Text; }

Entity Category [@] { UniqueName [!] : String; Description [@] : String; }

Relationship { Category : 1!; Article : n?; }}

! : Unique Constraint on Attribute

@ : Multi-Lingual Attribute

? : Optional Attribute

@ : Website Bound Entity

^ : Tree Structure

Page 7: Data Evolution in conjunction with Domain Specific Languages

Implementation: Specification Language

Module News{ Entity Article { UniqueName [!] : String; Title [@] : String; SubTitle [@] : String; Location [@] : String; HyperLink [@] : String; ShortIntro [@] : Text; ArticleText [@] : Text; }

Entity Category [@] { UniqueName [!] : String; Description [@] : String; }

Relationship { Category : 1!; Article : n?; }}

Page 8: Data Evolution in conjunction with Domain Specific Languages

Implementation: Generation Pipeline

Page 9: Data Evolution in conjunction with Domain Specific Languages

Implementation: Transformation Overview

Page 10: Data Evolution in conjunction with Domain Specific Languages

Implementation: Data Model Evolution

• Remove all current Foreign Key Constraints• Add new Entities• Add new Attributes to existing Entities• Perform “data preserving” operations• Remove Attributes from Entities• Remove Entities• Restore existing Foreign Key Constraints &

Add new Foreign Key Constraints

Page 11: Data Evolution in conjunction with Domain Specific Languages

Implementation: Data Model Evolution

Module News{ Entity Article { UniqueName [!] : String; Title : String; }}

Module News{ Entity Article { UniqueName [!] : String; Title [@] : String; }}

Page 12: Data Evolution in conjunction with Domain Specific Languages

Observations

• Code too immature to be converted to templates• Restricted possibilities in Repleo templates disallows

“Template hacking”

• Multi-Tier Transformation Pipeline enhances consistency between different target platforms

• Development is an iterative process which involves a lot of rework. More tooling to help the developer with this process is needed.

Page 13: Data Evolution in conjunction with Domain Specific Languages

Questions?