Code Monkey home page Code Monkey logo

erscript's Introduction

ER Script

ER Script is an XML based ER modelling language supporting the notation and concepts described in John Cartmell's online book www.entitymodelling.org.

ER Script is defined by an XML schema for defining entity models inclusive of their representation as diagrams.

From an ER model represented in XML, transforms written in xslt can be used to generate documentation, data definitions and code.

Documentation

  • Diagrams can be generated in svg.
  • Diagrams can be generated in postscript and included in pdf documents built using latex by making use of the pstricks package.

Data Definition

By use of transform logical2physical.xslt, a hierarchical ER model and a relational ER model can be generated from a single logical ER model. This transform implements John Cartmell's 2016 algorithm and provided that definitions of relationship scopes are included in the logical model then both the hierarchical and the relational model will be in normal form.

From a physical hierarchical ER model:

Code

From a physical hierarchical ER model:

  • typescript (www.wikipedia.org/wiki/TypeScript) can be generated for management of data serialised to and from XML. Functionality includes support for copy and for pullback.
  • python code can be generated in support of data serialisation to and from XML and to and from Google protocol buffers.
  • xslt can be generated in support of data transformation and includes support for both referential integrity checking of data and enrichment by pullbacks.

Acknowledgements

The author, John Cartmell, was employed by Cyprotex Discovery Ltd. 2001-2017 where version 1.2 of this software was written by him, with assistance from David Roe and Bob Appleyard, jointly, on the python generator, and from Bob Appleyard on the implementation of the support for Typescript and for Google Protocol buffers and who, significantly, championed both these technologies in software development projects within Cyprotex. In July 2017 Cyprotex elected to support this software being released as open source software.

Many of the ideas in this software were conceived of when working at Ipsys Software on Computer Aided software Engineering (CASE) tools and particularly on the Toolbuilder Meta-CASE tool with Albert Alderson, Tony Elliott, Ferrie Smit and Brian Passingham.

Code generators inclusive of the diagram generators have been written in xslt 2.0 and we gratefully acknowledge use of the Saxon xslt processor; Saxon-HE (home edition) is an open source product available under the Mozilla Public License version 2.0 ( www.saxon.sourceforge.net).

Schema checking for both models and instances is carried out using the jing RELAX NG validator from the Thai Open Software Centre (www.thaiopensource.com/relaxng/jing.html).

erscript's People

Contributors

johnwcartmell avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.