PsiLight: a Lightweight Programming Language to Explore Multiple Program Execution and Data-binding in a Web-Client DSL Evaluation Engine

Domain-Specific Languages (DSLs) allow building software applications by simplifying the labour of both software engineers and domain experts thanks to the abstraction provided by a high-level code. Introducing a DSL in the software development process requires the use of technologies and frameworks in the design and implementation activities. If we are restricted to web-client applications, then XML-based languages and JavaScript frameworks and widgets are commonly used and combined in order to provide fast, robust and flexible solutions. Under this scenario, we have developed the PsiEngine, an interpreter able to evaluate programs coded in high-level XML-based DSLs (XML-DSLs) to provide solutions to domain specific problems within a web-client application. Thus, the goal of this article is to detail how we have built PsiLight, a lightweight programming language that runs on web-client. PsiLight supposes the exploratory case study we have conducted to check some features of PsiEngine, namely: multiple programs execution and data-binding capabilities in our interpreter.

[1]  Enrique Chavarriaga,et al.  An approach to build XML-based domain specific languages solutions for client-side web applications , 2017, Comput. Lang. Syst. Struct..

[2]  Paul Anderson Web 2.0 and Beyond: Principles and Technologies , 2012 .

[3]  Paul McGuire,et al.  Getting started with pyparsing , 2007 .

[4]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[5]  José Ambrosio Toval Álvarez,et al.  ModelSec: A Generative Architecture for Model-Driven Security , 2009, J. Univers. Comput. Sci..

[6]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language Toolkit , 2009 .

[7]  Christoph Kern Securing the Tangled Web , 2014 .

[8]  Derrick G. Kourie,et al.  Virtual machine framework for constructing domain-specific languages , 2009, IET Softw..

[9]  Fergal Dearle Groovy for Domain-Specific Languages , 2010 .

[10]  Amanda Sandford ASH , .

[11]  Harvey P. Siy,et al.  Making aspect-orientation accessible through syntax-based language composition , 2009, IET Softw..

[12]  Mike P. Papazoglou,et al.  Towards Model-Driven Engineering Support for Service Evolution , 2012, J. Univers. Comput. Sci..

[13]  Amjed Tahir,et al.  A systematic mapping study on dynamic metrics and software quality , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[14]  Barry W. Boehm,et al.  A SLOC Counting Standard , 2007 .

[15]  Pamela Baxter,et al.  Qualitative Case Study Methodology: Study Design and Implementation for Novice Researchers , 2008 .

[16]  Vicky Reich,et al.  The Computer Science Technical Report (CS-TR) Project: Considerations from the Library Perspective. , 1995 .

[18]  Ayende Rahien DSLs in Boo: Domain Specific Languages in .NET , 2010 .

[19]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[20]  Eelco Visser,et al.  WebDSL: A Case Study in Domain-Specific Language Engineering , 2007, GTTSE.

[21]  Haining Wang,et al.  A measurement study of insecure javascript practices on the web , 2013, TWEB.

[22]  Terence Parr,et al.  The Definitive ANTLR 4 Reference , 2013 .

[23]  Marjan Mernik,et al.  Domain-Specific Languages: A Systematic Mapping Study , 2016, Inf. Softw. Technol..

[24]  Steve Cook,et al.  Domain-Specific Development with Visual Studio DSL Tools , 2007 .

[25]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.