47
Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency 2nd International Workshop on Executable Modeling (EXE 2016) co-located with MODELS 2016 in Saint-Malo, France @see: http://gemoc.org/exe16/ 2016 - 10 - 03 Florent Latombe, Xavier Cr´ egut, Marc Pantel Universit´ e de Toulouse, IRIT, Toulouse, France [email protected]

Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

Embed Size (px)

Citation preview

Page 1: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

Concurrency-aware eXecutable Domain-SpecificModeling Languages as Models of Concurrency

2nd International Workshop on Executable Modeling (EXE 2016)co-located with MODELS 2016 in Saint-Malo, France

@see: http://gemoc.org/exe16/

2016 - 10 - 03

Florent Latombe, Xavier Cregut, Marc Pantel

Universite de Toulouse,IRIT,

Toulouse, [email protected]

Page 2: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Overview

The GEMOC Concurrency-aware xDSML Approach

Tailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 2/26

Page 3: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

A Synergetic Language Design Approach

I Introduced by Benoit Combemale et al. in SLE 2012 and 2013.I xDSML design approach with a separation of concerns in the

operational semantics.I Concurrency concerns expressed using a Model of Concurrency

at the language level.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 3/26

Page 4: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

A Synergetic Language Design Approach

I Introduced by Benoit Combemale et al. in SLE 2012 and 2013.I xDSML design approach with a separation of concerns in the

operational semantics.I Concurrency concerns expressed using a Model of Concurrency

at the language level.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 3/26

Page 5: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Overview

The GEMOC Concurrency-aware xDSML ApproachOverview of the ApproachSpecificationExecutionBenefits

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 4/26

Page 6: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Structural ElementsExample xDSML:

I Concrete Syntax(es)I Abstract Syntax (metamodel)

The concurrent aspects are underspecified.⇒ Several possible executions.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 5/26

Page 7: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Structural ElementsExample xDSML:

I Concrete Syntax(es)I Abstract Syntax (metamodel)

The concurrent aspects are underspecified.⇒ Several possible executions.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 5/26

Page 8: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Structural ElementsExample xDSML:

I Concrete Syntax(es)I Abstract Syntax (metamodel)

The concurrent aspects are underspecified.⇒ Several possible executions.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 5/26

Page 9: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Semantic Rules

DefinitionDynamic data (Execution Data) and their evolution (Execution Functions).

I fUML Execution Data:Tokens held by ActivityEdges.

I fUML Execution Functions:ActivityNode.execute(),ActivityEdge.evaluateGuard().

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 6/26

Page 10: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Model of ConcurrencyApplication & Mapping

I MoCApplication: Concurrent aspects of a model.I Conforms to a Model of Concurrency (initially only Event Structure ).I Generated based on the MoCMapping (EventType Structure).

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 7/26

Page 11: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Communication Protocol

DefinitionMappings between the MoCTriggers (abstract actions of the MoCMapping)and the Execution Functions (concrete actions of the Semantic Rules).

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 8/26

Page 12: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The Concurrency-related Specifications

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 9/26

Page 13: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The Concurrency-related Specifications

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 9/26

Page 14: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Overview

The GEMOC Concurrency-aware xDSML ApproachOverview of the ApproachSpecificationExecutionBenefits

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 10/26

Page 15: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

ExecutionThe runtimes for each concern are coordinated by the Execution Engine.

Possible execution step(s):e MyInitial → ][ → MyInitial.execute()

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 11/26

Page 16: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

ExecutionThe runtimes for each concern are coordinated by the Execution Engine.

Possible execution step(s):e MyFork → ][ → MyFork.execute()

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 11/26

Page 17: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

ExecutionThe runtimes for each concern are coordinated by the Execution Engine.

Possible execution step(s):e Talk → ][ → Talk.execute()

OR e DrinkSomething → ][ → DrinkSomething.execute()

OR bothF. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 11/26

Page 18: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

ExecutionThe runtimes for each concern are coordinated by the Execution Engine.

Possible execution step(s):e Talk → ][ → Talk.execute()

OR e DrinkSomething → ][ → DrinkSomething.execute()

OR bothF. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 11/26

Page 19: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

ExecutionThe runtimes for each concern are coordinated by the Execution Engine.

Possible execution step(s):e Talk → ][ → Talk.execute()

OR e DrinkSomething → ][ → DrinkSomething.execute()

OR bothF. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 11/26

Page 20: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

ExecutionThe runtimes for each concern are coordinated by the Execution Engine.

Possible execution step(s):e MyJoin → ][ → MyJoin.execute()

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 11/26

Page 21: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

ExecutionThe runtimes for each concern are coordinated by the Execution Engine.

Possible execution step(s):e MyFinal → ][ → MyFinal.execute()

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 11/26

Page 22: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

ExecutionThe runtimes for each concern are coordinated by the Execution Engine.

Possible execution step(s):∅

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 11/26

Page 23: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Overview

The GEMOC Concurrency-aware xDSML ApproachOverview of the ApproachSpecificationExecutionBenefits

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 12/26

Page 24: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Systematic Use of a Model of Concurrency

I Concurrency concepts are not manipulated by the domain experts.I By construction, the MoC is used correctly.

I The different concerns can be implemented and debugged separately.I Depending on the Model of Concurrency used, behavioral properties

may be assessed.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 13/26

Page 25: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Overview of the ApproachSpecificationExecutionBenefits

Systematic Use of a Model of Concurrency

I Concurrency concepts are not manipulated by the domain experts.I By construction, the MoC is used correctly.

I The different concerns can be implemented and debugged separately.I Depending on the Model of Concurrency used, behavioral properties

may be assessed.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 13/26

Page 26: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Overview

The GEMOC Concurrency-aware xDSML Approach

Tailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 14/26

Page 27: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Overview

Tailoring Models of Concurrency to xDSMLsMotivationIllustration and GeneralizationValidation and Implementation

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 15/26

Page 28: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Adequacy of a Model of Concurrency

I In “Why Do ScalaDevelopers Mix theActor Model withOther ConcurrencyModels?”,inadequacies of theactor model.

I In the GEMOCproject,MoCCML wasdesigned as a mergeof CCSL andautomata.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 16/26

Page 29: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Integration of new Models of ConcurrencyDefining and integrating aModel of Concurrency = MoC + MoCMapping + tools

(rich editor, generator, runtime)

I MoCMappingmetalanguageoften notpre-existing.

I Identifying theMoCTriggers ofthe MoCMapping.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 17/26

Page 30: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Integration of new Models of ConcurrencyDefining and integrating aModel of Concurrency = MoC + MoCMapping + tools

(rich editor, generator, runtime)

I MoCMappingmetalanguageoften notpre-existing.

I Identifying theMoCTriggers ofthe MoCMapping.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 17/26

Page 31: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

A Recursive Definition of the Approach

For an xDSML LDomain:I MoC → Another concurrency-aware xDSML, hereafter LMoC.I MoCMapping → Model transformation from LDomain to LMoC.I MoCTriggers → Mappings of the Communication Protocol of LMoC.I MoCApplication → Model conforming to LMoC.I Runtime → Execution Engine of LMoC.F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 18/26

Page 32: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

A Recursive Definition of the Approach

For an xDSML LDomain:I MoC → Another concurrency-aware xDSML, hereafter LMoC.I MoCMapping → Model transformation from LDomain to LMoC.I MoCTriggers → Mappings of the Communication Protocol of LMoC.I MoCApplication → Model conforming to LMoC.I Runtime → Execution Engine of LMoC.F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 18/26

Page 33: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

A Recursive Definition of the Approach

For an xDSML LDomain:I MoC → Another concurrency-aware xDSML, hereafter LMoC.I MoCMapping → Model transformation from LDomain to LMoC.I MoCTriggers → Mappings of the Communication Protocol of LMoC.I MoCApplication → Model conforming to LMoC.I Runtime → Execution Engine of LMoC.F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 18/26

Page 34: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

A Recursive Definition of the Approach

For an xDSML LDomain:I MoC → Another concurrency-aware xDSML, hereafter LMoC.I MoCMapping → Model transformation from LDomain to LMoC.I MoCTriggers → Mappings of the Communication Protocol of LMoC.I MoCApplication → Model conforming to LMoC.I Runtime → Execution Engine of LMoC.F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 18/26

Page 35: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Overview

Tailoring Models of Concurrency to xDSMLsMotivationIllustration and GeneralizationValidation and Implementation

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 19/26

Page 36: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Illustration on fUML

With the Event Structures MoC. . .

. . . obtained after manual “translation” of thefUML specification.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 20/26

Page 37: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Illustration on fUML

With the Event Structures MoC. . .

. . . obtained after manual “translation” of thefUML specification.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 20/26

Page 38: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Illustration on fUML

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 20/26

Page 39: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Language SpecificationsI MoCMapping: Model transformation from LDomain to LMoC.

IUsed to capture exclusively the concurrency aspects.The source and the target are thus not semantically equivalent.

I Projections: part of the metamodel of the trace of the MoCMapping.Used to compensate the 1 → n nature of the MoCMapping.

e.g., ForkNode is transformed into many “start thread” instructions.

I Communication Protocol: Mappings (of LDomain) connect an ExecutionFunction (of LDomain) to a Mapping of LMoC through a Projection).

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 21/26

Page 40: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Language SpecificationsI MoCMapping: Model transformation from LDomain to LMoC.

IUsed to capture exclusively the concurrency aspects.The source and the target are thus not semantically equivalent.

I Projections: part of the metamodel of the trace of the MoCMapping.Used to compensate the 1 → n nature of the MoCMapping.e.g., ForkNode is transformed into many “start thread” instructions.

I Communication Protocol: Mappings (of LDomain) connect an ExecutionFunction (of LDomain) to a Mapping of LMoC through a Projection).

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 21/26

Page 41: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Validation on fUML

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 22/26

Page 42: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

MotivationIllustration and GeneralizationValidation and Implementation

Implementation

The GEMOC Studio:I Based on the Eclipse Modeling Framework (EMF).I Dedicated metalanguage for the different aspects of a

language specification.I Generic execution, animation and debugging facilities.

Implementation of the contribution in the GEMOC StudioI MoCMapping: any model transformation language can be used.I Projections: small dedicated metalanguage (using Ecore + Xtext).I Communication Protocol: dedicated metalanguage, the GEMOC Events

Language (GEL) [5], extended with the use of the Projections.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 23/26

Page 43: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Conclusion

Recursive definition of the concurrency-aware xDSML approach:I Seamless integration into the approach.I No MoC-specific MoCMapping metalanguage.I Common interface for MoCs (i.e., as concurrency-aware xDSMLs).I Verification of behavioral properties can be performed based on the

selected MoC.Additional overhead to the runtime performance.

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 24/26

Page 44: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Perspectives

I Standard library of Models of Concurrencyincluding a bootstrapping of Event Structures.

I Integration of existing verification tools for standard MoCs.e.g., for Petri nets, Actors, etc.

I Verification of domain properties through higher-order transformations.i.e., translating the verification results back into the original domain .

I Generating efficient implementations of the xDSMLs.

AcknowledgementThis work is partially supported by the ANR INS Project GEMOC(ANR-12-INSE-0011).More information at : http://www.gemoc.org

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 25/26

Page 45: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

The GEMOC Concurrency-aware xDSML ApproachTailoring Models of Concurrency to xDSMLs

Conclusion and Perspectives

Artefacts and Questions@see: http://gemoc.org/exe16/

contains:I Videos illustrating:

I the Language Workbench(Concurrency-aware specification of theThreading xDSML and of fUML usingThreading as its MoC);

I the Modeling Workbench (Execution of theexample fUML Activity).

I The GEMOC Studio with:I our Threading xDSML implementation;I our fUML implementation;I the example fUML Activity.

Thank you for your attention.Questions?

F. Latombe, X. Cregut, M. Pantel – IRIT, Universite de Toulouse Concurrency-aware xDSMLs as Models of Concurrency 26/26

Page 46: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

References I

L. Bettini.Implementing Domain-Specific Languages with Xtext and Xtend.Packt Publishing Ltd, 2013.

B. Combemale, J. Deantoni, M. Vara Larsen, F. Mallet, O. Barais, B. Baudry, and R. France.Reifying Concurrency for Executable Metamodeling.In SLE’13.

B. Combemale, C. Hardebolle, C. Jacquet, F. Boulanger, and B. Baudry.Bridging the Chasm between Executable Metamodeling and Models of Computation.In SLE, 2012.

J. Deantoni, P. Issa Diallo, C. Teodorov, J. Champeau, and B. Combemale.Towards a Meta-Language for the Concurrency Concern in DSLs.In DATE, 2015.

F. Latombe, X. Cregut, B. Combemale, J. Deantoni, and M. Pantel.Weaving Concurrency in eXecutable Domain-Specific Modeling Languages.In 8th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2015), 2015.

F. Mallet.Clock constraint specification language: specifying clock constraints with UML/MARTE.Innovations in Systems and Software Engineering, 2008.

S. Tasharofi, P. Dinges, and R. E. Johnson.Why do scala developers mix the actor model with other concurrency models?In ECOOP 2013. Springer, 2013.

G. Winskel.Event structures.In Petri Nets: Applications and Relationships to Other Models of Concurrency, LNCS. 1987.

Page 47: Concurrency-aware eXecutable Domain-Specific Modeling Languages as Models of Concurrency

References II

F. Zalila, X. Cregut, and M. Pantel.A Transformation-Driven Approach to Automate Feedback Verification Results.In Model and Data Engineering, pages 266–277. Springer, 2013.