SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 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
 

Similaire à 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
 
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013
TEAP MDE Framework for Enterprise Architecture - AMINO 2013 @ MODELS 2013
 
Collaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source ProjectsCollaboration and Governance of Open Source Projects
Collaboration and Governance of Open Source Projects
 
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
 

Plus de Javier Canovas

Plus de 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
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

Collaboro - Community-Driven Language Development