the role of (software) languages in the socio-technical coordination (oct., 2014)

25
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

Upload: benoit-combemale

Post on 19-Feb-2017

175 views

Category:

Software


1 download

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)

Join us!

The GEMOC Initiative http://gemoc.org ~ @gemocinitiative

Advisory Board: Benoit Combemale, Robert B. France, Jeff Gray and Jean-Marc Jézéquel