Community-driven language development

Software development processes are becoming more collaborative, trying to integrate end-users as much as possible. The idea is to advance towards a community-driven process where all actors (both technical and nontechnical) work together to ensure that the system-to-be will satisfy all expectations. This seems specially appropriate in the field of Domain-Specific Languages (DSLs) typically designed to facilitate the development of software for a particular domain. DSLs offer constructs closer to the vocabulary of the domain which simplifies the adoption of the DSL by endusers. Interestingly enough, the development of DSLs is not a collaborative process itself. In this sense, the goal of this paper is to propose a collaborative infrastructure for the development of DSLs where end-users have a direct and active participation in the evolution of the language. This infrastructure is based on Collaboro, a DSL to represent change proposals, possible solutions and comments arisen during the development and evolution of a language.

[1]  Steven Kelly,et al.  Worst Practices for Domain-Specific Modeling , 2009, IEEE Software.

[2]  Grady Booch,et al.  Collaborative Development Environments , 2003, Adv. Comput..

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

[4]  Pierre-Yves Schobbens,et al.  Clear justification of modeling decisions for goal-oriented requirements engineering , 2008, Requirements Engineering.

[5]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[6]  Sandeep Purao,et al.  Repurposing Social Tagging Data for Extraction of Domain-Level Concepts , 2011, NLDB.

[7]  Aurora Vizcaíno,et al.  Collaboration Tools for Global Software Engineering , 2010, IEEE Software.

[8]  D HerbslebJames,et al.  Two case studies of open source software development , 2002 .

[9]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[10]  Siegfried Handschuh,et al.  Expressing Argumentative Discussions in Social Media Sites , 2008, SDoW@ISWC.

[11]  Petra Kaufmann,et al.  We can work it out: Collaborative Conflict Resolution in Model Versioning , 2009, ECSCW.

[12]  Enrico Motta,et al.  Bridging the gap between folksonomies and the semantic web: an experience report , 2007 .

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

[14]  Jesús Gallardo,et al.  A model-driven development method for collaborative modeling tools , 2012, J. Netw. Comput. Appl..

[15]  Manuel Wimmer,et al.  A survey on model versioning approaches , 2009, Int. J. Web Inf. Syst..

[16]  EbertChristof,et al.  Collaboration Tools for Global Software Engineering , 2010 .

[17]  Roy T. Fielding,et al.  Shared leadership in the Apache project , 1999, CACM.

[18]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[19]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[20]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[21]  Anneke Kleppe,et al.  Software Language Engineering: Creating Domain-Specific Languages Using Metamodels , 2008 .

[22]  Franz Rothlauf,et al.  Approaches to Collaborative Software Development , 2008, 2008 International Conference on Complex, Intelligent and Software Intensive Systems.

[23]  Volkmar Pipek,et al.  Community driven development as participation?: involving user communities in a software design process , 2008, PDC.