SlideShare a Scribd company logo
1 of 45
Download to read offline
Community-Driven Language
     Development

Javier Luis C´novas Izquierdo and Jordi Cabot
             a
     javier.canovas,jordi.cabot@inria.fr




                 June, 2012
Outline



Motivation

Our proposal

Example

Conclusion




               c AtlanMod – atlanmod-contact@mines-nantes.fr   2/13
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
Community?




c AtlanMod – atlanmod-contact@mines-nantes.fr   4/13
Community?




c AtlanMod – atlanmod-contact@mines-nantes.fr   4/13
Community?




c AtlanMod – atlanmod-contact@mines-nantes.fr   4/13
Community?




c AtlanMod – atlanmod-contact@mines-nantes.fr   4/13
Community?




c AtlanMod – atlanmod-contact@mines-nantes.fr   4/13
Community?




c AtlanMod – atlanmod-contact@mines-nantes.fr   4/13
Community-driven development




      c AtlanMod – atlanmod-contact@mines-nantes.fr   5/13
Community-driven development




      c AtlanMod – atlanmod-contact@mines-nantes.fr   5/13
Community-driven development




      c AtlanMod – atlanmod-contact@mines-nantes.fr   5/13
Community-driven development




      c AtlanMod – atlanmod-contact@mines-nantes.fr   5/13
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
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
Example




c AtlanMod – atlanmod-contact@mines-nantes.fr   7/13
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
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
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
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
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
Collaboro Abstract Syntax




    c AtlanMod – atlanmod-contact@mines-nantes.fr   9/13
Collaboro Abstract Syntax




    c AtlanMod – atlanmod-contact@mines-nantes.fr   9/13
Collaboro Abstract Syntax




    c AtlanMod – atlanmod-contact@mines-nantes.fr   9/13
Collaboro Abstract Syntax




    c AtlanMod – atlanmod-contact@mines-nantes.fr   9/13
Collaboro Abstract Syntax




    c AtlanMod – atlanmod-contact@mines-nantes.fr   9/13
Decision engine




c AtlanMod – atlanmod-contact@mines-nantes.fr   10/13
The tool




c AtlanMod – atlanmod-contact@mines-nantes.fr   11/13
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
Thank you!




c AtlanMod – atlanmod-contact@mines-nantes.fr   13/13

More Related Content

Similar to Collaboro - Community-Driven Language Development

Collaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks SessionCollaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks Session
Hugo Bruneliere
 
Collaboro - EclipseCon Europe 2012, Modeling Symposium
Collaboro - EclipseCon Europe 2012, Modeling SymposiumCollaboro - EclipseCon Europe 2012, Modeling Symposium
Collaboro - EclipseCon Europe 2012, Modeling Symposium
Hugo Bruneliere
 
Practical Groovy Domain-Specific Languages
Practical Groovy Domain-Specific LanguagesPractical Groovy Domain-Specific Languages
Practical Groovy Domain-Specific Languages
Guillaume Laforge
 
Sunnyvale Adapter-Logic Application
Sunnyvale Adapter-Logic ApplicationSunnyvale Adapter-Logic Application
Sunnyvale Adapter-Logic Application
Sunnyvale
 

Similar to Collaboro - Community-Driven Language Development (20)

Collaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks SessionCollaboro - EclipseCon France 2013 - Ignite Talks Session
Collaboro - EclipseCon France 2013 - Ignite Talks Session
 
Collaboro - EclipseCon Europe 2012, Modeling Symposium
Collaboro - EclipseCon Europe 2012, Modeling SymposiumCollaboro - EclipseCon Europe 2012, Modeling Symposium
Collaboro - EclipseCon Europe 2012, Modeling Symposium
 
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
 
On Lightweight Metamodel Extension to Support Modeling Tools Agility - ECMFA...
On Lightweight  Metamodel Extension to Support Modeling Tools Agility - ECMFA...On Lightweight  Metamodel Extension to Support Modeling Tools Agility - ECMFA...
On Lightweight Metamodel Extension to Support Modeling Tools Agility - ECMFA...
 
ECMFA 2015 MoNoGe metamodel extension
ECMFA 2015 MoNoGe metamodel extensionECMFA 2015 MoNoGe metamodel extension
ECMFA 2015 MoNoGe metamodel extension
 
Practical Groovy Domain-Specific Languages
Practical Groovy Domain-Specific LanguagesPractical Groovy Domain-Specific Languages
Practical Groovy Domain-Specific Languages
 
EMIMT ASP 2013
EMIMT ASP 2013EMIMT ASP 2013
EMIMT ASP 2013
 
Sunnyvale Adapter-Logic Application
Sunnyvale Adapter-Logic ApplicationSunnyvale Adapter-Logic Application
Sunnyvale Adapter-Logic Application
 
Airbus and open source for fossa 2010
Airbus and open source for fossa 2010Airbus and open source for fossa 2010
Airbus and open source for fossa 2010
 
Challenges and solutions for mobile application testing and continuous integr...
Challenges and solutions for mobile application testing and continuous integr...Challenges and solutions for mobile application testing and continuous integr...
Challenges and solutions for mobile application testing and continuous integr...
 
Tales of modernizing trello's web stack
Tales of modernizing trello's web stackTales of modernizing trello's web stack
Tales of modernizing trello's web stack
 
Our research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringOur research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software Engineering
 
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...
MONDO Project @ H2020 Info Day- Cloud computing et Technologies logicielles –...
 
Cs15.lecture 13 design_patterns.10.18.18
Cs15.lecture 13 design_patterns.10.18.18Cs15.lecture 13 design_patterns.10.18.18
Cs15.lecture 13 design_patterns.10.18.18
 
CHOReOS presented @CeBIT 2013, Hannover, Germany
CHOReOS presented @CeBIT 2013, Hannover, GermanyCHOReOS presented @CeBIT 2013, Hannover, Germany
CHOReOS presented @CeBIT 2013, Hannover, Germany
 
LA DUCK CONF 2023 - Parce que nos plateformes le valent bien
LA DUCK CONF 2023 - Parce que nos plateformes le valent bienLA DUCK CONF 2023 - Parce que nos plateformes le valent bien
LA DUCK CONF 2023 - Parce que nos plateformes le valent bien
 
CWIN17 Toulouse / How robotics as a service improves your industrial perform...
CWIN17 Toulouse / How robotics as a service improves  your industrial perform...CWIN17 Toulouse / How robotics as a service improves  your industrial perform...
CWIN17 Toulouse / How robotics as a service improves your industrial perform...
 
TenCate Corporate Magazine txtures autumn 2013
TenCate Corporate Magazine txtures autumn 2013TenCate Corporate Magazine txtures autumn 2013
TenCate Corporate Magazine txtures autumn 2013
 
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
MONDO Project, a scalable modeling and model management on the Cloud  - Paris...MONDO Project, a scalable modeling and model management on the Cloud  - Paris...
MONDO Project, a scalable modeling and model management on the Cloud - Paris...
 
European Green Cars Initiative Projects HELIOS Proposal Paper (July 2012)
European Green Cars Initiative Projects HELIOS Proposal Paper (July 2012)European Green Cars Initiative Projects HELIOS Proposal Paper (July 2012)
European Green Cars Initiative Projects HELIOS Proposal Paper (July 2012)
 

More from Javier Canovas

More from Javier Canovas (20)

On the Analysis of Non-Coding Roles in Open Source Development
On the Analysis of Non-Coding Roles in Open Source DevelopmentOn the Analysis of Non-Coding Roles in Open Source Development
On the Analysis of Non-Coding Roles in Open Source Development
 
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
Open Source Software Governance Guide: Developing a Matrix of Leading Questio...
 
A Model-based Chatbot Generation Approach to Converse with Open Data Sources
A Model-based Chatbot Generation Approach to Converse with Open Data SourcesA Model-based Chatbot Generation Approach to Converse with Open Data Sources
A Model-based Chatbot Generation Approach to Converse with Open Data Sources
 
Chatbots to Democratize the Access to Information and Internet Services
Chatbots to Democratize the Access to Information and Internet ServicesChatbots to Democratize the Access to Information and Internet Services
Chatbots to Democratize the Access to Information and Internet Services
 
Analysis and Modeling of the Governance in General Programming Languages
Analysis and Modeling of the Governance in General Programming LanguagesAnalysis and Modeling of the Governance in General Programming Languages
Analysis and Modeling of the Governance in General Programming Languages
 
Automatic Generation of Test Cases for REST APIs: a Specification-Based Approach
Automatic Generation of Test Cases for REST APIs: a Specification-Based ApproachAutomatic Generation of Test Cases for REST APIs: a Specification-Based Approach
Automatic Generation of Test Cases for REST APIs: a Specification-Based Approach
 
A UML Profile for Privacy Enforcement
A UML Profile for Privacy EnforcementA UML Profile for Privacy Enforcement
A UML Profile for Privacy Enforcement
 
The Role of Foundations in Open Source Projects
The Role of Foundations in Open Source ProjectsThe Role of Foundations in Open Source Projects
The Role of Foundations in Open Source Projects
 
An Empirical Study on the Maturity of the Eclipse Modeling Ecosystem
An Empirical Study on the Maturity of the Eclipse Modeling EcosystemAn Empirical Study on the Maturity of the Eclipse Modeling Ecosystem
An Empirical Study on the Maturity of the Eclipse Modeling Ecosystem
 
Example-driven Web API Specification Discovery
Example-driven Web API Specification DiscoveryExample-driven Web API Specification Discovery
Example-driven Web API Specification Discovery
 
Software Modernization Revisited: Challenges and Prospects
Software Modernization Revisited:Challenges and ProspectsSoftware Modernization Revisited:Challenges and Prospects
Software Modernization Revisited: Challenges and Prospects
 
Findings from GitHub. Methods, Datasets and Limitations
Findings from GitHub. Methods, Datasets and LimitationsFindings from GitHub. Methods, Datasets and Limitations
Findings from GitHub. Methods, Datasets and Limitations
 
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
Enabling the Definition and Enforcement of Governance Rules in Open Source Sy...
 
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
Exploring the Use of Labels to Categorize Issues in Open-Source Software Pro...
 
Composing JSON-based Web APIs
Composing JSON-based Web APIsComposing JSON-based Web APIs
Composing JSON-based Web APIs
 
Retos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
Retos Actuales en el Desarrollo de Lenguajes Específicos del DominioRetos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
Retos Actuales en el Desarrollo de Lenguajes Específicos del Dominio
 
Discovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON DataDiscovering Implicit Schemas in JSON Data
Discovering Implicit Schemas in JSON Data
 
Enabling the Collaborative Definition of DSMLs
Enabling the Collaborative Definition of DSMLsEnabling the Collaborative Definition of DSMLs
Enabling the Collaborative Definition of DSMLs
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific Languages
 
Modernization in Eclipse
Modernization in EclipseModernization in Eclipse
Modernization in Eclipse
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Buy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdfBuy Epson EcoTank L3210 Colour Printer Online.pdf
Buy Epson EcoTank L3210 Colour Printer Online.pdf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 

Collaboro - Community-Driven Language Development