How To Troubleshoot Collaboration Apps for the Modern Connected Worker
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2014)
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. 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!
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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. GEMOC: The Community
- 19
United States
Canada
The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
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. 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. 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. 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. 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. Join us!
The GEMOC Initiative
http://gemoc.org ~ @gemocinitiative
Advisory Board: Benoit Combemale, Robert B. France, Jeff Gray and Jean-Marc Jézéquel