SlideShare uma empresa Scribd logo
1 de 45
Baixar para ler 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

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Mais de Javier Canovas

Mais 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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+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@
 

Último (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
+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...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 

Collaboro - Community-Driven Language Development