Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Data Evolution in conjunction with Domain Specific Languages Intermediate Presentation Guido Smeets."— Presentation transcript:

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

2 Overview Recap of the Problem Description Recap Research Questions Current Status Implementation Details Observations

3 Recap: Problem Description Handwritten Generated Handwritten

4 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.

5 Current Status DB Creation Fully Functional DB Evolution Partially Functional Fully Functional Partially Functional Not Functional Partially Functional

6 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

7 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?; }

8 Implementation: Generation Pipeline

9 Implementation: Transformation Overview

10 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

11 Implementation: Data Model Evolution Module News { Entity Article { UniqueName [!]: String; Title : String; } Module News { Entity Article { UniqueName [!]: String; Title [@] : String; }

12 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.

13 Questions?


Download ppt "Data Evolution in conjunction with Domain Specific Languages Intermediate Presentation Guido Smeets."

Similar presentations


Ads by Google