MDE Solutions Overview

Download Report

Transcript MDE Solutions Overview

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
Issue
DSL + Generation  Raising the Level of Abstraction
Improving Productivity & Quality
Improving Capitalization / Reusability
Language: tree-based DSL or a
set of data without real structure?
Tooling: Assistance? Checking
DSL1
Reusability?
Common vs. Specific
DSL6
Process: Actor? Guidance?
Notation: Graphical or textual?
DSL5
Style: Declarative or Imperative?
DSL2
Transformation: Used transformation
techniques?
Execution: Compilation or
Interpretation?
DSL3
DSL4
Update strategy of the produced
artifacts: destructive or incremental?
2
Issue
Dealing With DSL & DSL Tool Variants
Resolution
DSL Feature Model  Formalizing Variations
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Agenda
 Issue
 DSL Feature Model
 Future Work & Issue
3
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Covered Aspects
DSL
Language
Transformation
Tool
Process
Notation (FODA)
4
Mandatory Feature
Alternative Features
Optional Feature
Inclusive-or Features
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Language Features
DSL
Language
Transformation
Tool
Process
Language
Abstract Syntax
ASG
AST
Concrete Syntax
AS2CS
Dependency
Metamodel
Representation
Composition
Text
Elements + relationships of a
domain without
representation consideration
5
Style
Graphic
Wizard
Table
Specific representation of a
DSL in a human-usable form
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Imperative
Specific
Representation
Declarative
Transformation Features
DSL
Language
Transformation
Tool
Process
Transformation
Specification
6
Target Asset
Operational
Transformation
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Specification Features
DSL
Language
Transformation
Specification
Target Asset
Tool
Process
Operational
Transformation
Transcribes emerging transformation criteria
Specification
AS2Solution
Problem
Solution
Viewpoint
Transformation Viewpoints:
Design, Implementation, Platform,
Architectural Decisions, Non-Functional
Constraints
Examples:
Persistence mapping, Deployment
Mapping Model
Complete & Exhaustive Specification
7
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Target Asset Features
DSL
Language
Transformation
Specification
Target Asset
Tool
Process
Operational
Transformation
Software Artifact, result
of the transformation
Target Asset
Representation
Model
Text
Graphic
Binary
Asset Lifecycle
Specific
Representation
Asset Update
Destructive
DSL-to-DSL Transformation Process
Asset
Integration
Incremental
Concrete Syntax
Matching
Style
AS2CS
Imperative
Declarative
Destroyed &
created at each
generation
Synchronization
source/target
Representation
Text
8
Graphic
Wizard
Table
Specific
Representation
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Assembling and
Packaging Target
Assets
Operational Transformation Features
DSL
Language
Transformation
Specification
Target Asset
Tool
Process
Operational
Transformation
Operational
Transformation
Transformation
Technique
Variability
Stage
Model/Text
Technique
M2M
M2T
T2T
Ordering
Transformation
Mode
Techniques
realizing the
AS2TA
transformation
Environment
Implicit
Compilation
Interpretation
Specification,
Generation /
interpretation,
Compilation,
Integration,
Deployment,
Execution
Phasing
Form
Internal
External
Explicit
Automation Level
Manual
9
Transformation
Scheduling
Transformation
Execution
T2M
Technique
Automated
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Location
Internal
External
Tool Features
DSL
Language
Transformation
Tool
Process
Non-Functional aspects of the
DSL Tool
DSL Tool
Respect of Abstraction
Intrusive
transformation
Seamless
transformation
Quality Factor
Guiding the DSL Tool user
during definition and
transformation of domain data
10
Portability
Reliability
Maintainability
Usability
User has to be aware of
internal transformation
mechanisms & details
or/and solution
Transformation and
solutions mechanisms &
details are completely
encapsulated
Functionality
Assistance
Static
Adaptive
Process Guidance
Step
Workflow
Checking
Completeness
Consistency
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Efficiency
Process Features
DSL
Language
Transformation
Tool
Process
Defines how projects with DSL
technique must be executed
DSL Process
Role
Work Definition
Lifecycle
Phase
Iteration
Activity
Guidance
Checklist
Tool Mentor
Template
Concept
Guideline
11
Practice
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Agenda
 Issue
 DSL Feature Model
 Future Work & Issue
12
DSL 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.

13
Additional insight with regards to the classification provided in this
paper, in a non-strictly software and code generation perspective.
DSL 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:
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
1.
 Extensible Feature Model
 Feature Model in the scope of domain analysis of DSLs.

14
Prerequisite for long-term and large-scale DSL developments.
DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne