A DSL for modeling application-specific functionalities of business applications

Models have been widely used in the information system development process. Models are not just means for system analysis and documentation. They may be also transformed into system implementation, primarily program code. Generated program code of screen forms and transaction programs mainly implements generic functionalities that can be expressed by simple retrieval, insertion, update, or deletion operations over database records. Besides the program code of generic functionalities, each application usually includes program code for specific business logic that represents application-specific functionalities, which may include complex calculations, as well as a series of database operations. There is a lack of domain-specific and tool-supported techniques for specification of such application-specific functionalities at the level of platform-independent models (PIMs). In this paper, we propose an approach and a domain-specific language (DSL), named IIS*CFuncLang, aimed at enabling a complete specification of application-specific functionalities at the PIM level. We have developed algorithms for transformation of IIS*CFuncLang specifications into executable program code, such as PL/SQL program code. In order to support specification of application-specific functionalities using IIS*CFuncLang, we have also developed appropriate tree-based and textual editors. The language, editors, and the transformations are embedded into a Model-Driven Software Development tool, named Integrated Information Systems CASE (IIS*Case). IIS*Case supports platform-independent design and automated prototyping of information systems, which allows us to verify and test our approach in practice. HighlightsA DSL for specifying application-specific functionalities of business applications.Application-specific functionalities are specified at the PIM level.Complete program code is generated.We present the language editor.

[1]  Iain D. Craig,et al.  Virtual machines , 2005 .

[2]  Nuno Oliveira,et al.  A DSL for PIM specifications: Design and attribute grammar based implementation , 2011, Comput. Sci. Inf. Syst..

[3]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[4]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[5]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[6]  Ivan Luković,et al.  DATABASE SCHEMA INTEGRATION PROCESS { A METHODOLOGY AND ASPECTS OF ITS APPLYING , 2006 .

[7]  Janez Brest,et al.  Design and implementation of domain-specific language easytime , 2011, Comput. Lang. Syst. Struct..

[8]  Nuno Oliveira,et al.  VisualLISA: A visual environment to develop attribute grammars , 2010, Comput. Sci. Inf. Syst..

[9]  Jeffrey C. Carver,et al.  Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments , 2011, Empirical Software Engineering.

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

[11]  Ivan Luković,et al.  An approach to developing complex database schemas using form types , 2007 .

[12]  Nuno Oliveira,et al.  Comparing general-purpose and domain-specific languages: An empirical study , 2010, Comput. Sci. Inf. Syst..

[13]  Terence Parr The Definitive ANTLR Reference: Building Domain-Specific Languages , 2007 .

[14]  Ivan Lukovic,et al.  A MOF based meta-model and a concrete DSL syntax of IIS*Case PIM concepts , 2012, Comput. Sci. Inf. Syst..

[15]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[16]  Hanspeter Mössenböck,et al.  Monaco - A domain-specific language solution for reactive process control programming with hierarchical components , 2013, Comput. Lang. Syst. Struct..

[17]  Bernhard Hoisl,et al.  Comparing Three Notations for Defining Scenario-Based Model Tests: A Controlled Experiment , 2014, 2014 9th International Conference on the Quality of Information and Communications Technology.

[18]  Ivan Lukovic,et al.  A generator of SQL schema specifications , 2007, Comput. Sci. Inf. Syst..

[19]  Maria João Varanda Pereira,et al.  Domain specific languages: a theoretical survey , 2009 .

[20]  Viljem Zumer,et al.  LISA: An Interactive Environment for Programming Language Development , 2002, CC.

[21]  Robert W. Sebesta,et al.  Programming Language Processors in Java: Compilers and Interpreters: AND Concepts of Programming Languages , 2000 .

[22]  Moharram Challenger,et al.  A DSL for the development of software agents working within a semantic web environment , 2013, Comput. Sci. Inf. Syst..

[23]  Ivan Luković,et al.  DSLs in Action with Model Based Approaches to Information System Development , 2014 .

[24]  Andrew W. Appel,et al.  Modern Compiler Implementation in Java , 1997 .

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

[26]  Dragan Milicev Model-Driven Development with Executable UML , 2009 .

[27]  Ivan Lukovic,et al.  Transformations of Check Constraint PIM Specifications , 2012, Comput. Informatics.

[28]  Geylani Kardas,et al.  A model driven architecture for the development of smart card software , 2014, Comput. Lang. Syst. Struct..

[29]  Semih Bilgen,et al.  A framework for qualitative assessment of domain-specific languages , 2015, Software & Systems Modeling.

[30]  Marjan Mernik,et al.  Towards building a forensics aware language for secure logging , 2014, Comput. Sci. Inf. Syst..