Collaboro - Community-Driven Language Development

1,468 views
1,378 views

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,468
On SlideShare
0
From Embeds
0
Number of Embeds
551
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Collaboro - Community-Driven Language Development

  1. 1. Community-Driven Language DevelopmentJavier Luis C´novas Izquierdo and Jordi Cabot a javier.canovas,jordi.cabot@inria.fr June, 2012
  2. 2. OutlineMotivationOur proposalExampleConclusion c AtlanMod – atlanmod-contact@mines-nantes.fr 2/13
  3. 3. Collaboration in Software EngineeringIn 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 alanguageWhat do we propose?A new DSL, called Collaboro, to represent proposals, solutions and commentswhich 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. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  16. 16. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  17. 17. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  18. 18. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  19. 19. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  20. 20. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  21. 21. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  22. 22. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  23. 23. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  24. 24. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  25. 25. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  26. 26. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  27. 27. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  28. 28. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  29. 29. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  30. 30. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  31. 31. Examplec AtlanMod – atlanmod-contact@mines-nantes.fr 7/13
  32. 32. ExampleWhat 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. ExampleWhat 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. ExampleWhat 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. ExampleWhat 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. ExampleWhat 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 enginec AtlanMod – atlanmod-contact@mines-nantes.fr 10/13
  43. 43. The toolc AtlanMod – atlanmod-contact@mines-nantes.fr 11/13
  44. 44. Conclusion and Future WorkWhat have we presented?Collaboro, a brand new DSL which: Allows representing change requests and solutions (and comments) Promotes participation and tracking language changesMore 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

×