collaborative definition of domain - specific languages (dsls ) - caise'13

39
Enabling the Collaborative Definition of DSMLs Javier Luis Cánovas Izquierdo, Jordi Cabot {javier.canovas,jordi.cabot}@inria.fr CAiSE Conference Valencia

Upload: jordi-cabot

Post on 10-May-2015

429 views

Category:

Technology


2 download

DESCRIPTION

Proposing a community-aware language development process where all community members (both developers and end-users of the DSL) participate: voting and discussing proposals, solutions and decisions.

TRANSCRIPT

Page 1: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Enabling the Collaborative Definition of DSMLs

Javier Luis Cánovas Izquierdo, Jordi Cabot

{javier.canovas,jordi.cabot}@inria.fr

CAiSE ConferenceValencia

Page 2: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Wait!Let’s make the

presentation more interesting

Let’s play…flickr/DonkeyHotey

Page 3: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

http://badpresentationbingo.com

Page 4: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration inSofware Engineering

flickr/quique_fs

Page 5: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 6: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 7: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration inDSML development

flickr/erix!

Page 8: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 9: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 10: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

No support for DSMLs

Page 11: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 12: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 13: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

what do we need?

flickr/Eleaf

Page 14: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Participationflic

kr/r

om

ain

gu

y

Page 15: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Participationflic

kr/r

om

ain

gu

y

Providing means to discuss about language

elements

Overcoming technical barriers

Page 16: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration flic

kr/t

imjm

ansf

ield

Page 17: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration flic

kr/t

imjm

ansf

ield

Fostering end-user discussion

Facilitating voting processes

Suitable environment

Page 18: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

ExampleWikimedia/Abbey Hendrickson

Page 19: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Abstract Syntax

Concrete Syntax

Page 20: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 21: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 22: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 23: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 24: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 25: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 26: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 27: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13
Page 28: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Participation Collaboration

Page 29: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Participation CollaborationTraceability

Extra

Page 30: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

flickr/Tsahi Levent-Levi

What do we propose toget this?

Page 31: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration DSML DefinitionDecision

Collaboro Process

Page 32: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration DSML DefinitionDecision

Page 33: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration DSML DefinitionDecision

Page 34: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration DSML DefinitionDecision

Page 35: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Collaboration DSML DefinitionDecision

Page 36: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Environment

Page 37: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Environment

Page 38: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Not enough…

• End-users are required to express changes at high-level of abstraction• Solution: Example-driven collaboration

Engagement is limited

• How to adapt the collaboration protocol?• Solution: Mechanism to define a democratic process

Collaboration strategies

• What happens with semantics?• Solution: Mechanisms to make easier the discussion about semantics

Semantics

• What is exactly a good notation?• Need of experimentation on this field

Good notations

CDVE

Page 39: Collaborative definition of Domain - Specific Languages (DSLs ) - CAiSE'13

Check it out!

Check it out!http://code.google.com/a/eclipselabs.org/p/

collaboroExcept where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License.