A Model-Based Approach to Language Integration
-
Upload
marco-torchiano -
Category
Technology
-
view
229 -
download
0
Transcript of A Model-Based Approach to Language Integration
A Model-Based Approach to Language
Integration
Federico Tomassetti Antonio Vetro’
Marco Torchiano
Markus Völter,Bernd Kolb
MiSE 2013
Problem
Problem
Is my XML configuration file referring to an existing Java class?
Does the HTML and the CSS file specify the same selector or is there a typo?
Most IDE do not guarantee consistency• Tools guarantee consistency at
intra-language level
• e.g. a java class extends another Java class which exists
• Tools do not check for global consistency: the editor of each language is not aware of the semantics of another language
• e.g., the XML editor does not know how to check for a Java class existence
Existing solutions are very specific
An editor for Android configuration files
Goal
Achieving language integration using
language workbenches
Type of interactions
• There are different type of interactions (actually we are currently working on a classification system)
• Here we consider the most common: cross-reference
Example: context
Consider a framework for logging.
In the configuration file we set the verbosity level for each class.
Example: context
• Class could be misspelled•The class could be later renamed or deleted
Example: MPS
We used the MetaProgramming System from Jetbrains.
It is a Language Workbench based on a projectional editor.
Example: implementation
We create the new concept which represents a reference to a Java Class
inside an XML file.
Example: implementation
Auto completion is provided
Example: implementation
Broken reference are automatically recognized
Example: implementation
Pure XML code can be generated at any time
Future workEmpirical assessment: we performed some initial evaluation (see EASE’12) but more evidence on the effects of language interactions is needed.
Categorization of interactions: cross reference is the most common mechanism but there are others. Which types there are? How common they are?
Queries: inside a LW formulating queries about my system in a cross-language fashion (e.g., which XML files are referring to my Java class?)
Thank you!
A Model-Based Approach to Language Integration
Federico Tomassetti, Antonio Vetro’, Marco Torchiano
Markus Völter, Bernd Kolb