Upload
lawrence-clarke
View
219
Download
2
Tags:
Embed Size (px)
Citation preview
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
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
3DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Agenda
Issue
DSL Feature Model
Future Work & Issue
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)
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
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
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
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
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
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
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
12DSL Classification – OOPSLA’07 – Domain-Specific Modeling Workshop
Benoît Langlois, Consuela-Elena Jitia, Eric Jouenne
Agenda
Issue
DSL Feature Model
Future Work & Issue
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.
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.