1 / 13

Evolution of Data Models with Domain-Specific Languages: An Intermediate Presentation

This presentation by Guido Smeets provides an overview of the challenges and current advancements in generating relational database schemas and managing data model evolution through domain-specific languages (DSLs). It outlines the problem description, research questions, and current implementation status. Key observations highlight the immaturity of existing code and the need for improved tooling to facilitate development processes. This work aims to enhance the consistency and efficiency of data management practices in relation to business logic and evolving data models.

naiya
Télécharger la présentation

Evolution of Data Models with Domain-Specific Languages: An Intermediate Presentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 Handwritten 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 Partially Functional Not Functional Partially Functional Fully Functional DB Creation Fully Functional DB Evolution 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?

More Related