140 likes | 286 Views
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. Language: tree-based DSL or a set of data without real structure?.
E N D
The 7th OOPSLA Workshop onDomain-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
Language: tree-based DSL or a set of data without real structure? Tooling: Assistance? Checking Process: Actor? Guidance? Notation: Graphical or textual? Style: Declarative or Imperative? Transformation: Used transformation techniques? Execution: Compilation or Interpretation? Update strategy of the produced artifacts: destructive or incremental? • Issue • Dealing With DSL & DSL Tool Variants • Resolution • DSL Feature Model Formalizing Variations Issue • DSL+Generation Raising the Level of Abstraction • Improving Productivity & Quality • Improving Capitalization / Reusability Reusability? Common vs. Specific DSL6 DSL1 DSL5 DSL2 DSL4 DSL3
Agenda • Issue • DSL Feature Model • Future Work & Issue
Covered Aspects DSL Language Transformation Tool Process Notation (FODA) Alternative Features Mandatory Feature Optional Feature Inclusive-or Features
Concrete Syntax Abstract Syntax Specific Representation Representation Dependency Declarative Metamodel Imperative Graphic AS2CS Wizard Table Style ASG AST Text Composition Elements + relationships of a domain without representation consideration Specific representation of a DSL in a human-usable form Language Features DSL Language Transformation Tool Process Language
Operational Transformation Target Asset Specification Transformation Features DSL Language Transformation Tool Process Transformation
Operational Transformation Transcribes emerging transformation criteria AS2Solution Target Asset Transformation Viewpoints: Design, Implementation, Platform, Architectural Decisions, Non-Functional Constraints Examples: Persistence mapping, Deployment Problem Solution Specification Viewpoint Mapping Model Complete & Exhaustive Specification Specification Features DSL Language Transformation Tool Process Specification
Software Artifact, result of the transformation Asset Lifecycle Specific Representation Representation Asset Update Incremental Destructive Asset Integration Graphic Binary Model Text Assembling and Packaging Target Assets DSL-to-DSL Transformation Process Specification Concrete Syntax Matching Destroyed & created at each generation Synchronization source/target Style AS2CS Declarative Imperative Representation Table Specific Representation Text Graphic Wizard Target Asset Features DSL Language Transformation Tool Process Target Asset Operational Transformation Target Asset
Transformation Scheduling Transformation Execution Transformation Technique Variability Phasing Automation Level Interpretation Environment Compilation Automated Technique External External Implicit Internal Explicit Internal Manual Mode M2M Stage Form M2T T2M T2T Ordering Transformation Specification, Generation / interpretation, Compilation, Integration, Deployment, Execution Specification Techniques realizing the AS2TA transformation Location Operational Transformation Features DSL Language Transformation Tool Process Target Asset Operational Transformation Operational Transformation Model/Text Technique
Quality Factor Non-Functional aspects of the DSL Tool Seamless transformation Intrusive transformation Adaptive Static Process Guidance Checking Respect of Abstraction Maintainability Completeness Functionality Consistency Assistance Reliability Portability Workflow Efficiency Usability Step Guiding the DSL Tool user during definition and transformation of domain data User has to be aware of internal transformation mechanisms & details or/and solution Transformation and solutions mechanisms & details are completely encapsulated Tool Features DSL Language Transformation Tool Process DSL Tool
Guidance Work Definition Role Checklist Tool Mentor Template Concept Defines how projects with DSL technique must be executed Lifecycle Phase Iteration Activity Guideline Practice Process Features DSL Language Transformation Tool Process DSL Process
Agenda • Issue • DSL Feature Model • Future Work & Issue
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.
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 • Selection of pertinent DSL families among all possible families from the feature model • Definition of DSL tool foundations • 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.