Involving End-users in Domain-Specific Languages Development - Experiences from a Bioinformatics SME

Involving end-users in software development is a goal envisioned by the Software Engineering community. As they have the domain knowledge, it is feasible to develop software applications that really fulfil their requirements. Domain-specific languages (DSL) are widely applied to accomplish this vision. However, end-users collaboration in DSL development is also important to ensure that their needs are well understood and represented. This research work proposes a DSL development process that combines methodological guidelines for DSL development with good practices from agile methods to encourage end-user involvement. In this paper, we overview the complete process and we focus on the two first stages: Decision and Analysis. In order to illustrate the proposal, it is applied in the development of a DSL for a bioinformatics SME that works on genetic disease diagnosis.

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

[2]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[3]  Jordi Cabot,et al.  Community-driven language development , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

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

[5]  Francisca Pérez,et al.  Towards the Involvement of End-Users within Model-Driven Development , 2011, IS-EUD.

[6]  Arie van Deursen,et al.  Domain-specific languages , 2000 .

[7]  A. Nekrutenko,et al.  Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences , 2010, Genome Biology.

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

[9]  Gustavo Rossi,et al.  From Requirements to Web Applications in an Agile Model-Driven Approach , 2012, ICWE.

[10]  Gerhard Fischer,et al.  Metadesign: Guidelines for Supporting Domain Experts in Software Development , 2009, IEEE Software.

[11]  Junjun Zhang,et al.  BioMart Central Portal—unified access to biological data , 2009, Nucleic Acids Res..

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

[13]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[14]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[15]  Andreas Prlic,et al.  Sequence analysis , 2003 .

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

[17]  Nicole Rusk Focus on next-generation sequencing data analysis , 2009, Nature Methods.

[18]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[19]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[20]  Carole A. Goble,et al.  Taverna: a tool for building and running workflows of services , 2006, Nucleic Acids Res..

[21]  Gerhard Fischer,et al.  Meta-design , 2004, Commun. ACM.

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

[23]  Suman Roychoudhury,et al.  A Domain-Specific Language for Application-Level Checkpointing , 2008, ICDCIT.

[24]  Diomidis Spinellis,et al.  Notable design patterns for domain-specific languages , 2001, J. Syst. Softw..

[25]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[26]  Piero Mussio,et al.  End users as unwitting software developers , 2008, WEUSE '08.