the role of (software) languages in the socio-technical coordination (oct., 2014)
TRANSCRIPT
The Role of (Software) Languages in the Socio-Technical Coordination
Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/Benoit.Combemale [email protected] @bcombemale
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!
Aerodynamics
Authorities
Avionics
Safety Regulations
Airlines
Propulsion System
Mechanical Structure
Environmental Impact
Navigation Communications
Human-Machine
Interaction
3
Multiple Concerns
4
Aerodynamics
Authorities
Avionics
Safety Regulations
Airlines
Propulsion System
Mechanical Structure
Environmental Impact
Navigation Communications
Human-Machine
Interaction
Heterogeneous Modeling
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)
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 »
ComplaintRecovery 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 »
NotificationRecovery Block
Manager
« Client »
User Citizen Manager
Fault tolerance Roles
ActivitiesViews
Contexts
Security
Functional behavior
Book state : String User
borrow return
deliver setDamaged
reserve
Use case
Platform Model Design
Model Code Model
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)
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)
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)
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)
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
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, 2014
68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE
COLUMN SECTION TITLESOF T WARE TECHNOLOGIES
Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management.
In 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 LANGUAGESModel-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 LanguagesBenoit 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)
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, 2014
68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE
COLUMN SECTION TITLESOF T WARE TECHNOLOGIES
Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management.
In 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 LANGUAGESModel-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 LanguagesBenoit 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
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, 2014
68 COMPUTER Published by the IEEE Computer Society 0018-9162/14/$31.00 © 2014 IEEE
COLUMN SECTION TITLESOF T WARE TECHNOLOGIES
Coordinating domain-specific modeling languages provides support for language heterogeneity in software-intensive systems’ development and runtime management.
In 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 LANGUAGESModel-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 LanguagesBenoit 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
Language interoperability
- 15 The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
Information in one model can be related to information in other models.
Language collaboration
- 16 The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
One model can directly influence the form and content of other models.
Language composability
- 17 The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
Creation of new forms by combining information scattered in other models
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)
GEMOC: The Community
- 19
United States
Canada
The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
GEMOC: Scientific Background
- 20
Language Engineering
Global Software
Engineering
Model-Driven Engineering
The Role of (Software) Languages in the Socio-Technical Coordination (B. Combemale)
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)
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 (?)
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
aSQLquery
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
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)