a model-based approach to language integration

Post on 20-Jul-2015

229 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related