program registration submissions committee lodging portland

D06: OO Design Methodology of a DSL using EMF

D06: OO Design Methodology of a DSL using EMF

Tuesday, Oct 24, from 11:00 to 11:30
Tuesday, Oct 24, from 16:30 to 17:00
Wednesday, Oct 25, from 15:30 to 16:00
Thursday, Oct 26, from 14:30 to 15:00

The software engineering community has taken a great interest in domain specific languages (DSL) to improve the productivity of software development. We demonstrate the design of a DSL as a variant of object-oriented development by applying UML via the Eclipse Modeling Framework (EMF), exposing significant software functionality to the non-programmer domain experts. We model the language concepts and their relations, and then define them as language entities using UML. We restrict UML so the resulting model can be converted to eCore model specifications and applied to EMF, where language editing and parsing tools can be easily generated. The result of this approach is an Eclipse plug-in that domain experts can use to directly manipulate the abstract syntax tree of the language instances or "programs". We refer to these programs as "specification plans", which are represented as XMI files. We use the EMF code generation and framework to compile and execute the plans. In the Telco Revenue Assurance domain, billions of call detail records (CDRs) are processed every day by applying business rules for cleansing, transforming and other manipulations, using this language. Domain experts can use our method to author these plans throughout the application implementation and maintenance, without having to resort to GPL programming. The demo runs on an Eclipse platform and includes EMF and Rational modeling plug-ins. We will demonstrate how the language is modeled via UML diagrams, converted to executable Java code, and used to generate a plugin for the language interactive development environment (IDE). In that IDE, the EMF default tree editor is used to view and manipulate plans. Other tools are used to execute and debug the code. The execution performance is observed to be extremely efficient. Keywords: Domain Specific Languages, EMF, Eclipse, IDE, Software Development

Uri Shani, IBM Haifa Research Lab
Aviad Sela, IBM Haifa Research Lab

Demonstration Schedule

While Space Available
program registration submissions committee lodging portland
For comments and questions about the web site
please contact us at
© 2005 OOPSLA