PEVE (ΠΕΒΕ) — Funding Programme for Basic Research

Funding Agency: Athens University of Economics and Business
Project type: RTD
Starting date: 2009-03-01
Ending date: 2010-09-01
AUEB budget: 9,400 €
Total budget: 640,000 €

Project manager: Vassilios Karakoidas
Contact: Vassilios Karakoidas
Scientific coordinator: Diomidis Spinellis


Integrating Domain-Specific Languages with General-Purpose Languages

Domain-specific languages (DSL) are small, usually declarative languages that focus on a specific problem domain. SQL and regular expressions are two of the most common DSL's. General-purpose languages (GPL) such as C, C++ and Java are covering a wider application domain, but lack expressive power when applicable to specific problems. Usually DSL's are implemented as external application libraries when used by GPLs and the compiler is unaware of the DSL syntax and data types, creating a series of problems in the software development process.

Our approach attempts to fill this scientific gap will introduce J% (j-mod), a DSL-aware programming language. J% will be an extension of the Java programming language. Its prototype implementation consists of a pre-processor, which translates the J% source code to Java compatible code.

The J% approach tries to give a more pragmatic approach to DSL integration. All research efforts so far, have one of the following weaknesses:

  • They deal with the problem for one DSL and for one GPL.
  • They propose complex solutions that act as a burden to mainstream programming languages, obliging programmers to remember difficult semantics.
  • They offer a new programming language that deals with the problem efficiently, but usually require a complete rewrite of complex DSL systems.

In J% we will avoid the aforementioned weaknesses. In addition, we will address the theoretical aspects of the problem, like possible type system extension etc.

Our prototype implementation will have as target the Java programming language. As a research result, we will provide a solid implementation and a more generalised methodology that could guide the application of our techniques to other programming languages like C and C++.


Conference Publications

    • Dimitris Mitropoulos and Diomidis Spinellis. Securing e-voting against MITM attacks. In Vassilios Chrissikopoulos, Nikolaos Alexandris, Christos Douligeris, and Spyros Sioutas, editors, Proceedings of the 13th Pan-Hellenic Conference on Informatics (PCI 2009). September 2009.
    • Dimitris Mitropoulos, Vassilios Karakoidas, and Diomidis Spinellis. Fortifying applications against XPath injection attacks. In A. Poulymenakou, N. Pouloudi, and K. Pramatari, editors, 4th Mediterranean Conference on Information Systems, 1169–1179. September 2009.
    • Vassilios Karakoidas and Diomidis Spinellis. J%: integrating domain specific languages with java. In Vassilios Chrissikopoulos, Nikolaos Alexandris, Christos Douligeris, and Spyros Sioutas, editors, Proceedings of 13th Panhelenic Conference on Informatics (PCI 2009), 109–113. IEEE Computer Society, September 2009.