JAX London 2014: A retrospective
Eclipse Project Proposal

EGL Development Tools Proposed as New Eclipse Project

Jessica Thornsby

Proposal for the IBM Rational Business Developer tool to form that basis of new Eclipse project.

The EGL Development Tools project has been proposed as a new Eclipse project.

EGL is a programming language that combines the concepts of statically typed languages with the Stereotype concept from the Universal Modeling Language (UML). This concept is used to tag UML elements with metadata, and acts as a mechanism for extending standard modeling concepts. In EGL the set of concepts to be compiled and transformed is extensible, so source code conversion and generation to the appropriate byte code must be explicitly separated into a compile step and a generation step. The EGL compiler validates and binds the basic core language, in addition to enforcing the constraints defined by the stereotypes and transforming the EGL model into runtime source code. New stereotypes can be added, but the generator must be extended to understand these new stereotypes.

This technology, currently exists in the Eclipse-Based IBM Rational Business Developer (RBM) development tool, where the code is compiled and generated into either Java, JavaScript or COBOL source code, depending on the target runtime environment. The initial contribution will come from this existing product, and will include EGL source editing, deployment capabilities, and tools to generate EGL from database table or view.

The EGL Development Tools project aims to provide development tools for the EGL language, and EGL language parser, compiler and generators, which will be accessible via the tools or command line. The project also proposes to reimplement Java and JavaScript generators on top of an extensible framework. This will enable the generators to be extended to support new runtime environments, or for new generators to be created using the extensible framework.

The final delivery of the initial EGL contribution is December 2010.

Author
Comments
comments powered by Disqus