Successfully reported this slideshow.

Collaboro - Community-Driven Language Development

1

Share

1 of 45
1 of 45

Collaboro - Community-Driven Language Development

1

Share

Download to read offline

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 non- technical) 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 end-users. 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.

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 non- technical) 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 end-users. 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.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Collaboro - Community-Driven Language Development

  1. 1. Community-Driven Language Development Javier Luis C´novas Izquierdo and Jordi Cabot a javier.canovas,jordi.cabot@inria.fr June, 2012
  2. 2. Outline Motivation Our proposal Example Conclusion c AtlanMod – atlanmod-contact@mines-nantes.fr 2/13
  3. 3. Collaboration in Software Engineering In software development Processes are increasingly becoming more collaborative, trying to engage users in all development phases Agile methodologies, development of Free Open Source Systems... In Domain-Specific Language development DSL development is usually centered on developers rather than the users Even if a DSL is a language specific for a domain, domain experts have very limited participation in its creation. Why not making the development process for DSLs more collaborative? The importance of the Community c AtlanMod – atlanmod-contact@mines-nantes.fr 3/13
  4. 4. Community? c AtlanMod – atlanmod-contact@mines-nantes.fr 4/13
  5. 5. Community? c AtlanMod – atlanmod-contact@mines-nantes.fr 4/13
  6. 6. Community? c AtlanMod – atlanmod-contact@mines-nantes.fr 4/13
  7. 7. Community? c AtlanMod – atlanmod-contact@mines-nantes.fr 4/13
  8. 8. Community? c AtlanMod – atlanmod-contact@mines-nantes.fr 4/13
  9. 9. Community? c AtlanMod – atlanmod-contact@mines-nantes.fr 4/13
  10. 10. Community-driven development c AtlanMod – atlanmod-contact@mines-nantes.fr 5/13
  11. 11. Community-driven development c AtlanMod – atlanmod-contact@mines-nantes.fr 5/13
  12. 12. Community-driven development c AtlanMod – atlanmod-contact@mines-nantes.fr 5/13
  13. 13. Community-driven development c AtlanMod – atlanmod-contact@mines-nantes.fr 5/13
  14. 14. How to get it? What do we need? Infrastructure to deal with the collaborations arisen when developing/evolving a language What do we propose? A new DSL, called Collaboro, to represent proposals, solutions and comments which arise among the members of a language community. What shall we get? With Collaboro we can: Justify and argument about changes in Ecore models (Eclipse) Record the discussions and apply a voting mechanism Track changes Traceability of design decisions c AtlanMod – atlanmod-contact@mines-nantes.fr 6/13
  15. 15. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  16. 16. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  17. 17. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  18. 18. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  19. 19. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  20. 20. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  21. 21. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  22. 22. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  23. 23. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  24. 24. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  25. 25. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  26. 26. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  27. 27. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  28. 28. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  29. 29. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  30. 30. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  31. 31. Example c AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  32. 32. Example What does Collaboro provide? Justify and argument about changes in Ecore models (Eclipse) Record the discussions and apply a voting mechanism Track changes Traceability of design decisions c AtlanMod – atlanmod-contact@mines-nantes.fr 8/13
  33. 33. Example What does Collaboro provide? Justify and argument about changes in Ecore models (Eclipse) Record the discussions and apply a voting mechanism Track changes Traceability of design decisions c AtlanMod – atlanmod-contact@mines-nantes.fr 8/13
  34. 34. Example What does Collaboro provide? Justify and argument about changes in Ecore models (Eclipse) Record the discussions and apply a voting mechanism Track changes Traceability of design decisions c AtlanMod – atlanmod-contact@mines-nantes.fr 8/13
  35. 35. Example What does Collaboro provide? Justify and argument about changes in Ecore models (Eclipse) Record the discussions and apply a voting mechanism Track changes Traceability of design decisions c AtlanMod – atlanmod-contact@mines-nantes.fr 8/13
  36. 36. Example What does Collaboro provide? Justify and argument about changes in Ecore models (Eclipse) Record the discussions and apply a voting mechanism Track changes Traceability of design decisions c AtlanMod – atlanmod-contact@mines-nantes.fr 8/13
  37. 37. Collaboro Abstract Syntax c AtlanMod – atlanmod-contact@mines-nantes.fr 9/13
  38. 38. Collaboro Abstract Syntax c AtlanMod – atlanmod-contact@mines-nantes.fr 9/13
  39. 39. Collaboro Abstract Syntax c AtlanMod – atlanmod-contact@mines-nantes.fr 9/13
  40. 40. Collaboro Abstract Syntax c AtlanMod – atlanmod-contact@mines-nantes.fr 9/13
  41. 41. Collaboro Abstract Syntax c AtlanMod – atlanmod-contact@mines-nantes.fr 9/13
  42. 42. Decision engine c AtlanMod – atlanmod-contact@mines-nantes.fr 10/13
  43. 43. The tool c AtlanMod – atlanmod-contact@mines-nantes.fr 11/13
  44. 44. Conclusion and Future Work What have we presented? Collaboro, a brand new DSL which: Allows representing change requests and solutions (and comments) Promotes participation and tracking language changes More work? Support the collaborative development of concrete syntax Enable Change by example Complex decision algorithms Generation of examples to control the evolution Check it out! http://code.google.com/a/eclipselabs.org/p/collaboro c AtlanMod – atlanmod-contact@mines-nantes.fr 12/13
  45. 45. Thank you! c AtlanMod – atlanmod-contact@mines-nantes.fr 13/13

×