14
DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop on Domain-Specific Modeling October 21-22, 2007

DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

Embed Size (px)

Citation preview

Page 1: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

DSL Classification

October 21-22, 2007

Benoît Langlois / Thales-EPM

Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology

The 7th OOPSLA Workshop onDomain-Specific ModelingOctober 21-22, 2007

Page 2: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

2DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Issue

DSL + Generation Raising the Level of AbstractionImproving Productivity & Quality

Dealing With DSL & DSL Tool VariantsIssue

DSL Feature Model Formalizing VariationsResolution

Process: Actor? Guidance?

Language: tree-based DSL or a set of data without real structure?

Notation: Graphical or textual?

Style: Declarative or Imperative?

Transformation: Used transformation techniques?

Update strategy of the produced artifacts: destructive or incremental?

Execution: Compilation or Interpretation?

Tooling: Assistance? Checking

DSL1

DSL2

DSL3 DSL4

DSL5

DSL6Reusability?

Common vs. Specific

Improving Capitalization / Reusability

Page 3: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

3DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Agenda

Issue

DSL Feature Model

Future Work & Issue

Page 4: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

4DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Covered Aspects

DSL

Language Transformation Tool Process

Mandatory Feature

Optional Feature

Alternative Features

Inclusive-or Features

Notation (FODA)

Page 5: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

5DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Language Features

Language

Abstract Syntax Concrete Syntax

ASG AST Dependency

Text Graphic

AS2CS

Metamodel Composition

Style

Wizard Table SpecificRepresentation

Imperative DeclarativeRepresentation

DSL

Language Transformation Tool Process

Elements + relationships of a domain without

representation consideration

Specific representation of a DSL in a human-usable form

Page 6: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

6DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Transformation Features

Transformation

Specification Target Asset OperationalTransformation

DSL

Language Transformation Tool Process

Page 7: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

7DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Specification Features

DSL

Language Transformation Tool Process

Specification Target Asset OperationalTransformation

ViewpointAS2Solution

Specification

Problem Solution

Mapping Model

Transformation Viewpoints:Design, Implementation, Platform, Architectural Decisions, Non-Functional ConstraintsExamples:Persistence mapping, Deployment

Complete & Exhaustive Specification

Transcribes emerging transformation criteria

Page 8: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

8DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Target Asset Features

DSL

Language Transformation Tool Process

Specification Target Asset OperationalTransformation

Asset Update AssetIntegration

Destructive Incremental

Target Asset

Representation

Model Text Graphic Binary SpecificRepresentation

Asset Lifecycle

DSL-to-DSL Transformation Process

Concrete Syntax

Text Graphic

AS2CS Style

Wizard Table SpecificRepresentation

Imperative Declarative

Representation

Matching

Software Artifact, result of the transformation

Assembling and Packaging

Target Assets

Destroyed & created at each

generation

Synchronization source/target

Page 9: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

9DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Operational Transformation Features

DSL

Language Transformation Tool Process

Specification Target Asset OperationalTransformation

Form

Implicit ExplicitEnvironment

Internal External

TransformationTechnique

M2M M2T T2T T2M

Model/TextTechnique

OperationalTransformation

TransformationExecution

TransformationScheduling

Phasing

Location

Internal External

Automation Level

Manual Automated

Mode

Compilation Interpretation

Variability

Stage Technique

Ordering Transformatio

n

Techniques realizing the

AS2TA transformation

Specification,Generation /

interpretation, Compilation, Integration,

Deployment, Execution

Page 10: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

10DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Tool Features

DSL

Language Transformation Tool Process

DSL Tool

Respect of Abstraction

Assistance

Quality Factor

Process Guidance

Step Workflow

Adaptive Checking

Completeness Consistency

Intrusivetransformation

Seamlesstransformation

Functionality

Usability

Reliability

Efficiency

Static

Maintainability

Portability

User has to be aware of internal transformation mechanisms & details

or/and solution

Transformation and solutions mechanisms &

details are completely encapsulated

Guiding the DSL Tool user during definition and

transformation of domain data

Non-Functional aspects of the DSL Tool

Page 11: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

11DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Process Features

DSL

Language Transformation Tool Process

DSL Process

GuidanceWork Definition Role

Checklist

Guideline

Concept

Practice

Lifecycle IterationPhase Activity

Template

Tool Mentor

Defines how projects with DSL technique must be executed

Page 12: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

12DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Agenda

Issue

DSL Feature Model

Future Work & Issue

Page 13: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

13DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Future Work

Interest of this study:

Project 1: The DSL feature model has been experimented with a DSL tool factory of MDSoFa, a Thales software factory tool. Making explicit DSL tool variations which are implicit today.

Project 2: Usage of different tools including a UML modeller, GMF, Xactium XMF-MOSAIC and Microsoft DSL Tool. Additional insight with regards to the classification provided in this

paper, in a non-strictly software and code generation perspective.

Page 14: DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop

14DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop

Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne

Conclusion

Interest of the DSL feature model: Formalizing DSL and DSL tool variants.

Applications:1. Used by a DSL tool factory, which applies variations during

production of DSL tools

2. Selection of pertinent DSL families among all possible families from the feature model

3. Definition of DSL tool foundations

4. Selection of DSL tools

Extensible Feature Model

Feature Model in the scope of domain analysis of DSLs. Prerequisite for long-term and large-scale DSL developments.