Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
The Role of (Software) Languages in
the Socio-Technical Coordination
Benoit Combemale (Inria & Univ. Rennes 1)
http://peop...
Disclaimer
The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) - 2
•  I’m a Software Engin...
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impact...
4
Aerodynamics 
Authorities
Avionics
Safety
Regulations
Airlines
Propulsion
System
Mechanical
Structure
Environmental
Impa...
The Quest for the Modularity
- 5
1.  Module: separation of concerns
2.  Object, Aspect, Trait: functional encapsulation
3....
Model-Driven Engineering (MDE)
- 6
J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model-
Driven ...
Software Language Engineering (SLE)
- 7
•  On the The separation of concerns…
Modularization [Parnas72] to allow the struc...
Global Software Engineering (GSE)
- 8
J.D. Herbsleb, “Global Software Engineering: The Future of Socio-Technical
Coordinat...
MDE + SLE + GSE (The Village Metaphor)
- 9
A. Vallecillo. “A Journey through the Secret Life of Models,“ Dagstuhl seminar ...
MDE + SLE + GSE (The Tunnel Digging Analogy)
- 10
David Harel, Assaf Marron: The quest for runware: on compositional, exec...
Languages in the Socio-Technical Coordination
- 11
•  DSLs bridge the gap between the problem and the
solution spaces
•  D...
Globalization of Modeling Languages
- 12
Challenge:
•  DSMLs are developed in an independent manner
to meet the specific n...
Globalization of Modeling Languages
- 13
Supporting coordinated use of modeling
languages leads to what we call the
global...
Globalization of Modeling Language
- 14
•  Context: new emerging DSML in open world
⇒  impossible a priori unification
⇒  ...
Language interoperability
- 15The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
Informat...
Language collaboration
- 16The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
One model c...
Language composability
- 17The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
Creation of...
The GEMOC Initiative
- 18
An open and international initiative to
•  coordinate (between members)
•  disseminate (on behal...
GEMOC: The Community
- 19
United States
Canada
The Role of (Software) Languages in the Socio-Technical Coordination (B. Co...
GEMOC: Scientific Background
- 20
Language
Engineering
Global
Software
Engineering
Model-Driven
Engineering
The Role of (S...
GEMOC: The Studio
- 21
Design and compose
your executable DSMLs
http://gemoc.org/studio
Language
Workbench
Modeling
Workbe...
The Case of the French ANR Project
Grant #ANR-12-INSE-0011 (01.12.12 – 30.03.16)
- 22
Breakthroughs:
•  modular and explic...
The Case of Metamorphic DSLs
Automating the Formalization of Product Comparison Matrices - 23
Mathieu Acher, Benoît Combem...
Conclusion
- 24
•  MDE => SLE => GSE => use of multiple DSMLs
•  Languages are the key pivot for the socio-technical coord...
Join us!
The GEMOC Initiative
http://gemoc.org ~ @gemocinitiative
Advisory Board: Benoit Combemale, Robert B. France, Jeff...
Prochain SlideShare
Chargement dans…5
×

The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2014)

271 vues

Publié le

Invited talk given at the workshop AMINO @ MODELS 2014

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2014)

  1. 1. The Role of (Software) Languages in the Socio-Technical Coordination Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale benoit.combemale@irisa.fr @bcombemale
  2. 2. Disclaimer The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) - 2 •  I’m a Software Engineer! •  with a background on formal methods, programming/modeling languages, validation & verification and model-driven engineering ; •  in the context of complex software-intensive systems (embedded, critical, distributed, reactive, real-time…). •  No background in EA, MDO… •  happy to learn for cross-fertilization!
  3. 3. Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction 3 Multiple Concerns
  4. 4. 4 Aerodynamics Authorities Avionics Safety Regulations Airlines Propulsion System Mechanical Structure Environmental Impact Navigation Communications Human- Machine Interaction Heterogeneous Modeling
  5. 5. The Quest for the Modularity - 5 1.  Module: separation of concerns 2.  Object, Aspect, Trait: functional encapsulation 3.  Component: extra-functional encapsulation 4.  DS(M)L: accidental complexity management •  continuity from requirement to runtime. The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  6. 6. Model-Driven Engineering (MDE) - 6 J. Whittle, J. Hutchinson, and M. Rouncefield, “The State of Practice in Model- Driven Engineering,” IEEE Software, vol. 31, no. 3, 2014, pp. 79–85. The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) "Perhaps surprisingly, the majority of MDE examples in our study followed domain-specific modeling paradigms" "A clear challenge, then, is how to integrate multiple DSLs." Distribution « Service Provider Manager » Notification Alternate Manager « Recovery Block Manager » Complaint Recovery Block Manager « Service Provider Manager » Notification Manager « Service Provider Manager » Complaint Alternate Manager « Service Provider Manager » Complaint Manager « Acceptance Test Manager » Notification Acceptance Test Manager « Acceptance Test Manager » Complaint Acceptance Test Manager « Recovery Block Manager » Notification Recovery Block Manager « Client » User Citizen Manager Fault tolerance Roles Activities Views Contexts Security Functional behavior Book state : StringUser borrow return deliver setDamaged res erv e Use case Platform Model Design Model Code Model
  7. 7. Software Language Engineering (SLE) - 7 •  On the The separation of concerns… Modularization [Parnas72] to allow the structure of the product to resemble the structure of the organization that designed it [Conway68] •  … at the language level Domain-Specific (Modeling) Language (DSML) should serve to implement a solution in terms of a problem (socio-technical coordination [Herbsleb07]). •  requires to manage the relations between languages to avoid social isolation and non sharing information (e.g., as observed in the use of APIs [Souza04]) The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  8. 8. Global Software Engineering (GSE) - 8 J.D. Herbsleb, “Global Software Engineering: The Future of Socio-Technical Coordination,” Future of Software Eng., IEEE CS, 2007, pp. 188–198. "The need for interoperable tools with standard data formats and interaction protocols will become increasingly important as we move toward more integration of collaborative capabilities into the environment." The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  9. 9. MDE + SLE + GSE (The Village Metaphor) - 9 A. Vallecillo. “A Journey through the Secret Life of Models,“ Dagstuhl seminar on Model Engineering of Complex Systems (MECS), Aug. 2008. The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  10. 10. MDE + SLE + GSE (The Tunnel Digging Analogy) - 10 David Harel, Assaf Marron: The quest for runware: on compositional, executable and intuitive models. Software and System Modeling 11(4): 599-608 (2012). The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  11. 11. Languages in the Socio-Technical Coordination - 11 •  DSLs bridge the gap between the problem and the solution spaces •  DSLs are a key pivot for the socio-technical coordination: •  Generative approaches abstract the technical coordination •  Concepts tailored for particular domains provide a cognitive support to the social coordination •  Support for coordinated use of DSMLs leads to language-based support for social translucence The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) goals of an organization(?) processes/ workflows
  12. 12. Globalization of Modeling Languages - 12 Challenge: •  DSMLs are developed in an independent manner to meet the specific needs of domain experts, •  DSMLs should also have an associated framework that regulates interactions needed to support collaboration and work coordination across different system domains. Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 201468 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n the software and sys- tems modeling community, domain-specific modeling language (DSML) research is focused on providing technolo- gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur- rent lack of support for explicitly relating concepts expressed in dif- ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili- tate coordination of work across different domains of expertise. DOMAIN-SPECIFIC MODELING LANGUAGES Model-driven engineering (MDE) aims to reduce the accidental com- plexity associated with developing complex software-intensive systems.1 A primary source of this complex- ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac- tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech- niques that support separation of concerns and automated generation of major system artifacts (for exam- ple, test cases and implementations) from models. In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif- ferent modeling languages, each providing constructs based on ab- stractions that are specific to an aspect of a system. For example, gen- eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula- tion models. MDE technologies also provide support for manipulating models, such as for querying, trans- forming, merging, and analyzing (including executing) models. Model- ing languages are thus at MDE’s core. Globalizing Modeling Languages Benoit Combemale, Inria and Univerity of Rennes Julien DeAntoni, University of Nice Sophia-Antipolis Benoit Baudry, Inria Robert B. France, Colorado State University Jean-Marc Jézéquel, University of Rennes Jeff Gray, University of Alabama r6sof.indd 68 5/22/14 10:47 AM The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  13. 13. Globalization of Modeling Languages - 13 Supporting coordinated use of modeling languages leads to what we call the globalization of modeling languages, that is, the use of multiple modeling languages to support coordinated development of diverse aspects of a system. Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 201468 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n the software and sys- tems modeling community, domain-specific modeling language (DSML) research is focused on providing technolo- gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur- rent lack of support for explicitly relating concepts expressed in dif- ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili- tate coordination of work across different domains of expertise. DOMAIN-SPECIFIC MODELING LANGUAGES Model-driven engineering (MDE) aims to reduce the accidental com- plexity associated with developing complex software-intensive systems.1 A primary source of this complex- ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac- tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech- niques that support separation of concerns and automated generation of major system artifacts (for exam- ple, test cases and implementations) from models. In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif- ferent modeling languages, each providing constructs based on ab- stractions that are specific to an aspect of a system. For example, gen- eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula- tion models. MDE technologies also provide support for manipulating models, such as for querying, trans- forming, merging, and analyzing (including executing) models. Model- ing languages are thus at MDE’s core. Globalizing Modeling Languages Benoit Combemale, Inria and Univerity of Rennes Julien DeAntoni, University of Nice Sophia-Antipolis Benoit Baudry, Inria Robert B. France, Colorado State University Jean-Marc Jézéquel, University of Rennes Jeff Gray, University of Alabama r6sof.indd 68 5/22/14 10:47 AM The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) coordination of different parts of an organization towards satisfying strategic and operational goals
  14. 14. Globalization of Modeling Language - 14 •  Context: new emerging DSML in open world ⇒  impossible a priori unification ⇒  require a posteriori globalization •  Objective: socio-technical coordination to support interactions across different system aspects ⇒  Language-based support for technical integration of multiples domains ⇒  Language-based support for social translucence •  Problem: relationships among heterogeneous languages must be established (incl., data, control and time concerns) The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) Benoit Combemale, Julien DeAntoni, Benoit Baudry, Robert B. France, Jean-Marc Jezequel, Jeff Gray, "Globalizing Modeling Languages," Computer, vol. 47, no. 6, pp. 68-71, June, 201468 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE COLUMN SECTION TITLESOFTWARE TECHNOLOGIES Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management. I n the software and sys- tems modeling community, domain-specific modeling language (DSML) research is focused on providing technolo- gies for developing languages and tools that allow domain experts to develop system solutions efficiently. Unfortunately, it’s very difficult for software and systems engineers to reason about information spread across models describing different system aspects because of the cur- rent lack of support for explicitly relating concepts expressed in dif- ferent DSMLs. Here, we describe a research initiative that broadens the DSML research focus beyond independent DSML development to one that supports globalized DSMLs—that is, DSMLs that facili- tate coordination of work across different domains of expertise. DOMAIN-SPECIFIC MODELING LANGUAGES Model-driven engineering (MDE) aims to reduce the accidental com- plexity associated with developing complex software-intensive systems.1 A primary source of this complex- ity is the wide gap between the high-level concepts used by domain experts to express their specific needs and the low-level abstrac- tions provided by general-purpose programming languages.2 Manually bridging this gap, particularly in the presence of changing requirements, is costly in terms of both time and effort. MDE approaches this problem through the use of modeling tech- niques that support separation of concerns and automated generation of major system artifacts (for exam- ple, test cases and implementations) from models. In MDE, a model describes an aspect of a system and is typically created for specific development purposes. Separation of concerns is supported through the use of dif- ferent modeling languages, each providing constructs based on ab- stractions that are specific to an aspect of a system. For example, gen- eralized stochastic Petri nets can be used to create performance models, whereas the notation provided by the Simulink tool is adapted to simula- tion models. MDE technologies also provide support for manipulating models, such as for querying, trans- forming, merging, and analyzing (including executing) models. Model- ing languages are thus at MDE’s core. Globalizing Modeling Languages Benoit Combemale, Inria and Univerity of Rennes Julien DeAntoni, University of Nice Sophia-Antipolis Benoit Baudry, Inria Robert B. France, Colorado State University Jean-Marc Jézéquel, University of Rennes Jeff Gray, University of Alabama r6sof.indd 68 5/22/14 10:47 AM
  15. 15. Language interoperability - 15The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) Information in one model can be related to information in other models.
  16. 16. Language collaboration - 16The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) One model can directly influence the form and content of other models.
  17. 17. Language composability - 17The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) Creation of new forms by combining information scattered in other models
  18. 18. The GEMOC Initiative - 18 An open and international initiative to •  coordinate (between members) •  disseminate (on behalf the members) worldwide R&D efforts on the globalization of modeling languages http://gemoc.org @gemocinitiative The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  19. 19. GEMOC: The Community - 19 United States Canada The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  20. 20. GEMOC: Scientific Background - 20 Language Engineering Global Software Engineering Model-Driven Engineering The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  21. 21. GEMOC: The Studio - 21 Design and compose your executable DSMLs http://gemoc.org/studio Language Workbench Modeling Workbench Edit, simulate and animate your heterogeneous models The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  22. 22. The Case of the French ANR Project Grant #ANR-12-INSE-0011 (01.12.12 – 30.03.16) - 22 Breakthroughs: •  modular and explicit definition of the behavioral semantics of modeling languages, incl. concurrency [APSEC’12, SLE’12, SLE’13] •  explicit behavioral interface of modeling languages [GEMOC’13] •  integration of modeling languages for heterogeneous model coordination [Computer'14] • Abstract syntax (domain model) • Concrete syntax (static and dynamic) • Operational semantics • Composition operators DSML Specifications • Graphical and textual modeling • Concurrent execution • Trace management • Graphical animation Heterogeneous Models Visit http://gemoc.org/ins Focus: concurrent execution of behavioral heterogeneous models The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale) Let’s try to implement ESL (?)
  23. 23. The Case of Metamorphic DSLs Automating the Formalization of Product Comparison Matrices - 23 Mathieu Acher, Benoît Combemale, Philippe Collet, "Metamorphic Domain- Specific Languages," Onward! Essays, ACM, 2014. FAMILIAR definition a SQL query a FAMILIAR script <<conformsTo>> <<editedWith>> <<generates>>SQL definition mysql>'SELECT&*&FROM&products; +)))))))))))+)))))))))))))+)))))))))))+))))))))))+))))))))))))+ |'productID'|'productCode'|'name''''''|'quantity'|'gps''''''''| +)))))))))))+)))))))))))))+)))))))))))+))))))))))+))))))))))))+ |''''''1001'|'PEN'''''''''|'Car'Red'''|'''''5000'|'''''''true'| |''''''1002'|'PEN'''''''''|'Car'Blue''|'''''8000'|'''''''true'| |''''''1003'|'PEN'''''''''|'Car'Black'|'''''2000'|'''''''true'| |''''''1004'|'PEC'''''''''|'Car'2B''''|''''10000'|'''''''true'| |''''''1005'|'PEC'''''''''|'Car'2H''''|'''''8000'|'''''''false| |''''''1006'|'PEC'''''''''|'Car'HB''''|''''''''0'|'''''''false|'' +)))))))))))+)))))))))))))+)))))))))))+))))))))))+))))))))))))+ 6'rows'in'set'(0.02'sec) product manager marketing engineer software engineer
  24. 24. Conclusion - 24 •  MDE => SLE => GSE => use of multiple DSMLs •  Languages are the key pivot for the socio-technical coordination •  Next challenge: the globalization of modeling languages •  Identified levels of relations: interoperability, collaboration and composability •  The GEMOC Initiative: Join us to include MDO in the scope! The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
  25. 25. Join us! The GEMOC Initiative http://gemoc.org ~ @gemocinitiative Advisory Board: Benoit Combemale, Robert B. France, Jeff Gray and Jean-Marc Jézéquel

×