A domain-specific language for defining static structure of database applications

In this paper we present DOMMLite - an extensible domain specific language (DSL) for static structure definition of data base oriented applications. The model-driven engineering (MDE) approach, an emerging software development paradigm, has been used. The language structure is defined by the means of a meta model supplemented by validation rules based on Check language and extensions based on Extend language, which are parts of the openArchitectureWare framework [1]. The meta model has been defined along with the textual syntax, which enables creation, update and persistence of DOMMLite models using a common text editor. DSL execution semantics has been defined by the specification and implementation of the source code generator for a target platform with an already defined execution semantics. In order to enable model editing, a textual Eclipse editor has also been developed. DSL, defined in this way, has the capability of generating complete source code for GUI forms with CRUDS (Create-Read-Update-Delete-Search) and navigation operations [2,3,4,5].

[1]  Gordana Milosavljevic,et al.  A method and a tool for rapid prototyping of large-scale business information systems , 2004, Comput. Sci. Inf. Syst..

[2]  Aniruddha S. Gokhale,et al.  A platform-independent component modeling language for distributed real-time and embedded systems , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[3]  Zora Konjovic,et al.  Automatic code generation for database-oriented web applications , 2002, PPPJ/IRE.

[4]  Jeffrey G. Gray,et al.  The 6th OOPSLA workshop on domain-specific modeling , 2006, OOPSLA '06.

[5]  Peri L. Tarr,et al.  Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications , 2006, OOPSLA 2006.

[6]  Martin Gaedke,et al.  Web Application Development Employing Domain-Specific Languages , 2006, IASTED Conf. on Software Engineering.

[7]  Branko Milosavljevic,et al.  User Interface Code Generation for EJB-Based Data Models Using Intermediate Form Representations , 2003, Software Engineering Research and Practice.

[8]  Les Hatton,et al.  The T-experiments: errors in scientific software , 1996, Quality of Numerical Software.

[9]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[10]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[11]  Paul Hudak,et al.  Building domain-specific embedded languages , 1996, CSUR.

[12]  Evans,et al.  Domain-driven design , 2003 .

[13]  Bran Selic,et al.  An MDA Manifesto , 2004 .

[14]  Christian Bauer,et al.  Hibernate in action , 2005 .

[15]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[16]  Gabor Karsai,et al.  An examination of DSLs for concisely representing model traversals and transformations , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[17]  Miroslav Hajdukovic,et al.  Using code generation approach in developing kiosk applications , 2008, Comput. Sci. Inf. Syst..

[18]  Charles Consel,et al.  Domain-Specific Languages: From Design to Implementation Application to Video Device Drivers Generation , 1999, IEEE Trans. Software Eng..

[19]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[20]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[21]  Markus Völter,et al.  Model Driven Software Development in the Context of Embedded Component Infrastructures , 2005, Component-Based Software Development for Embedded Systems.

[22]  Parastoo Mohagheghi,et al.  A Multi-dimensional Framework for Characterizing Domain Specific Languages , 2007 .

[23]  David S. Wile,et al.  Supporting the DSL Spectrum , 2001 .

[24]  H. Conrad Cunningham,et al.  A little language for surveys: constructing an internal DSL in Ruby , 2008, ACM-SE 46.

[25]  Martin Gaedke,et al.  The Impact of Domain-Specific Languages for Assembling Web Applications , .