Date post: | 11-May-2015 |
Category: |
Technology |
Upload: | javier-canovas |
View: | 1,170 times |
Download: | 0 times |
Community-Driven LanguageDevelopment
Javier Luis Canovas Izquierdo and Jordi Cabotjavier.canovas,[email protected]
June, 2012
Collaboration in Software Engineering
In software development
I Processes are increasingly becoming more collaborative, trying to engageusers in all development phases
I Agile methodologies, development of Free Open Source Systems...
In Domain-Specific Language development
I DSL development is usually centered on developers rather than the users
I Even if a DSL is a language specific for a domain, domain experts havevery limited participation in its creation.
I Why not making the development process for DSLs more collaborative?
The importance of the Community
c© AtlanMod – [email protected] 3/13
How to get it?
What do we need?
Infrastructure to deal with the collaborations arisen when developing/evolving alanguage
What 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:
I Justify and argument about changes in Ecore models (Eclipse)
I Record the discussions and apply a voting mechanism
I Track changes
I Traceability of design decisions
c© AtlanMod – [email protected] 6/13
Example
What does Collaboro provide?
I Justify and argument about changes in Ecore models (Eclipse)
I Record the discussions and apply a voting mechanism
I Track changes
I Traceability of design decisions
c© AtlanMod – [email protected] 8/13
Example
What does Collaboro provide?
I Justify and argument about changes in Ecore models (Eclipse)
I Record the discussions and apply a voting mechanism
I Track changes
I Traceability of design decisions
c© AtlanMod – [email protected] 8/13
Example
What does Collaboro provide?
I Justify and argument about changes in Ecore models (Eclipse)
I Record the discussions and apply a voting mechanism
I Track changes
I Traceability of design decisions
c© AtlanMod – [email protected] 8/13
Example
What does Collaboro provide?
I Justify and argument about changes in Ecore models (Eclipse)
I Record the discussions and apply a voting mechanism
I Track changes
I Traceability of design decisions
c© AtlanMod – [email protected] 8/13
Example
What does Collaboro provide?
I Justify and argument about changes in Ecore models (Eclipse)
I Record the discussions and apply a voting mechanism
I Track changes
I Traceability of design decisions
c© AtlanMod – [email protected] 8/13
Conclusion and Future Work
What have we presented?
Collaboro, a brand new DSL which:
I Allows representing change requests and solutions (and comments)
I Promotes participation and tracking language changes
More work?
I Support the collaborative development of concrete syntax
I Enable Change by example
I Complex decision algorithms
I Generation of examples to control the evolution
Check it out!http://code.google.com/a/eclipselabs.org/p/collaboro
c© AtlanMod – [email protected] 12/13