Development of custom notation for XML-based language: A model-driven approach

In spite of its popularity, XML provides poor user experience and a lot of domain-specific languages can be improved by introducing custom, more humanfriendly notation. This paper presents an approach for design and development of the custom notation for existing XML-based language together with a translator between the new notation and XML. The approach supports iterative design of the language concrete syntax, allowing its modification based on users feedback. The translator is developed using a model-driven approach. It is based on explicit representation of language abstract syntax (metamodel) that can be augmented with mappings to both XML and the custom notation. We provide recommendations for application of the approach and demonstrate them on a case study of a language for definition of graphs.

[1]  Michaela Bacíková,et al.  Declarative specification of references in DSLs , 2013, 2013 Federated Conference on Computer Science and Information Systems.

[2]  A. G. Kleppe,et al.  A Language Description is More than a Metamodel , 2007 .

[3]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[4]  Manuel Wimmer,et al.  XMLText: from XML schema to xtext , 2015, SLE.

[5]  Branko Milosavljevic,et al.  UML Profile for Specifying User Interfaces of Business Applications , 2010, ADBIS.

[6]  Michal Smialek,et al.  Model-driven acceptance test automation based on use cases , 2015, Comput. Sci. Inf. Syst..

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

[8]  Michaela Bacíková,et al.  Automatized Generating of GUIs for Domain-Specific Languages , 2012, SLE.

[9]  Maria José,et al.  An agile model-driven method for involving end-users in DSL development , 2016 .

[10]  Jean Bézivin,et al.  Technological Spaces: An Initial Appraisal , 2002 .

[11]  Jaroslav Porubän,et al.  XML to annotations mapping definition with patterns , 2014, Comput. Sci. Inf. Syst..

[12]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools (2nd Edition) , 2006 .

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

[14]  Bent Thomsen,et al.  Discount method for programming language evaluation , 2016, PLATEAU@SPLASH.

[15]  Marjan Mernik,et al.  Ontology driven development of domain-specific languages , 2011, Comput. Sci. Inf. Syst..

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

[17]  Jaroslav Porubän,et al.  Annotation based parser generator , 2009, 2009 International Multiconference on Computer Science and Information Technology.

[18]  Ulrik Brandes,et al.  Graph Markup Language (GraphML) , 2013, Handbook of Graph Drawing and Visualization.

[19]  Matús Sulír,et al.  Source code annotations as formal languages , 2015, 2015 Federated Conference on Computer Science and Information Systems (FedCSIS).

[20]  Jakob Nielsen,et al.  Iterative user-interface design , 1993, Computer.

[21]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000 .

[22]  Angelo Gargantini,et al.  Deriving a textual notation from a metamodel: an experience on bridging Modelware and Grammarware , 2006 .

[23]  Gabor Karsai,et al.  Design Guidelines for Domain Specific Languages , 2014, ArXiv.

[24]  Gordana Milosavljevic,et al.  A domain-specific language for defining static structure of database applications , 2010, Comput. Sci. Inf. Syst..

[25]  Eric S. Raymond,et al.  The Art of Unix Programming , 2003 .

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

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

[28]  Mark Strembeck,et al.  An approach for the systematic development of domain‐specific languages , 2009, Softw. Pract. Exp..

[29]  Maria João Varanda Pereira,et al.  Converting Ontologies into DSLs , 2014, SLATE.

[30]  Eelco Visser,et al.  Pure and declarative syntax definition: paradise lost and regained , 2010, OOPSLA.

[31]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[32]  Miguel Goulão,et al.  Evaluating the Usability of Domain-Specific Languages , 2013 .

[33]  Moritz Eysholdt,et al.  Migrating a large modeling environment from XML/UML to Xtext/GMF , 2010, SPLASH/OOPSLA Companion.

[34]  Sergej Chodarev,et al.  Development of human-friendly notation for XML-based languages , 2016, 2016 Federated Conference on Computer Science and Information Systems (FedCSIS).