A Model-Based Approach to Language Integration

Marco Torchiano
Marco TorchianoAssociate Professor
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 work
Empirical 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
1 of 16

Recommended

Scientific and Technical Translation in English - Week 4 by
Scientific and Technical Translation in English - Week 4Scientific and Technical Translation in English - Week 4
Scientific and Technical Translation in English - Week 4Ron Martinez
1.1K views53 slides
Scientific and Technical Translation in English - Week 7 by
Scientific and Technical Translation in English - Week 7Scientific and Technical Translation in English - Week 7
Scientific and Technical Translation in English - Week 7Ron Martinez
1.1K views20 slides
Scientific and Technical Translation in English: Week 2 by
Scientific and Technical Translation in English: Week 2Scientific and Technical Translation in English: Week 2
Scientific and Technical Translation in English: Week 2Ron Martinez
1.4K views74 slides
Mit4021 c# and .net by
Mit4021   c# and .netMit4021   c# and .net
Mit4021 c# and .netsmumbahelp
298 views3 slides
Acl reading@2016 10-26 by
Acl reading@2016 10-26Acl reading@2016 10-26
Acl reading@2016 10-26sekizawayuuki
507 views13 slides
Model based testing for Integration and Regression Tests in ERP by
Model based testing for Integration and Regression Tests in ERPModel based testing for Integration and Regression Tests in ERP
Model based testing for Integration and Regression Tests in ERPTransWare AG
4.6K views20 slides

More Related Content

Similar to A Model-Based Approach to Language Integration

Using construction grammar in conversational systems by
Using construction grammar in conversational systemsUsing construction grammar in conversational systems
Using construction grammar in conversational systemsCJ Jenkins
2.7K views43 slides
Oops design pattern_amitgupta by
Oops design pattern_amitguptaOops design pattern_amitgupta
Oops design pattern_amitguptaAmit Gupta, MCSD TOGAF
166 views9 slides
Challenges in transfer learning in nlp by
Challenges in transfer learning in nlpChallenges in transfer learning in nlp
Challenges in transfer learning in nlpLaraOlmosCamarena
265 views23 slides
Oop by
OopOop
OopJun-jun Lagman
1K views18 slides
Java OOPs Concepts.docx by
Java OOPs Concepts.docxJava OOPs Concepts.docx
Java OOPs Concepts.docxFredWauyo
29 views83 slides
Cdao Evolution08 by
Cdao Evolution08Cdao Evolution08
Cdao Evolution08Brandon Chisham
457 views12 slides

Similar to A Model-Based Approach to Language Integration (20)

Using construction grammar in conversational systems by CJ Jenkins
Using construction grammar in conversational systemsUsing construction grammar in conversational systems
Using construction grammar in conversational systems
CJ Jenkins2.7K views
Java OOPs Concepts.docx by FredWauyo
Java OOPs Concepts.docxJava OOPs Concepts.docx
Java OOPs Concepts.docx
FredWauyo29 views
Feelin' Groovy: An Afternoon of Reflexive Metaprogramming by Matt Stine
Feelin' Groovy: An Afternoon of Reflexive MetaprogrammingFeelin' Groovy: An Afternoon of Reflexive Metaprogramming
Feelin' Groovy: An Afternoon of Reflexive Metaprogramming
Matt Stine1.8K views
Practical OOP In Java by wiradikusuma
Practical OOP In JavaPractical OOP In Java
Practical OOP In Java
wiradikusuma5.7K views
Growing an ecosystem on the JVM by Iulian Dragos
Growing an ecosystem on the JVMGrowing an ecosystem on the JVM
Growing an ecosystem on the JVM
Iulian Dragos71 views
Packages and Interfaces by AkashDas112
Packages and InterfacesPackages and Interfaces
Packages and Interfaces
AkashDas11225 views
What Did They Do? Deriving High-Level Edit Histories in Wikis by Robert Biuk-Aghai
What Did They Do? Deriving High-Level Edit Histories in WikisWhat Did They Do? Deriving High-Level Edit Histories in Wikis
What Did They Do? Deriving High-Level Edit Histories in Wikis
Robert Biuk-Aghai336 views
Dita for the web: Make Adaptive Content Simple for Writers and Developer by Don Day
Dita for the web: Make Adaptive Content Simple for Writers and DeveloperDita for the web: Make Adaptive Content Simple for Writers and Developer
Dita for the web: Make Adaptive Content Simple for Writers and Developer
Don Day1.8K views
Programming Languages #devcon2013 by Iván Montes
Programming Languages #devcon2013Programming Languages #devcon2013
Programming Languages #devcon2013
Iván Montes1.2K views
Envisioning the Future of Language Workbenches by Markus Voelter
Envisioning the Future of Language WorkbenchesEnvisioning the Future of Language Workbenches
Envisioning the Future of Language Workbenches
Markus Voelter41 views
Collaborative modeling and metamodeling in MetaEdit+ by Juha-Pekka Tolvanen
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+
Juha-Pekka Tolvanen3.2K views
Knowledge engineering and the Web by Guus Schreiber
Knowledge engineering and the WebKnowledge engineering and the Web
Knowledge engineering and the Web
Guus Schreiber8.5K views

More from Marco Torchiano

Testing the UI of Mobile Applications by
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile ApplicationsMarco Torchiano
337 views118 slides
Software Engineering II Course at Politecnico di Torino by
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoMarco Torchiano
187 views14 slides
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools by
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsEspresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsMarco Torchiano
240 views30 slides
Research Activities: past, present, and future. by
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.Marco Torchiano
185 views21 slides
Data Quality - Standards e Applicazioni by
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniMarco Torchiano
626 views32 slides
Data Quality - Standards and Application to Open Data by
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataMarco Torchiano
845 views62 slides

More from Marco Torchiano(14)

Testing the UI of Mobile Applications by Marco Torchiano
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile Applications
Marco Torchiano337 views
Software Engineering II Course at Politecnico di Torino by Marco Torchiano
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di Torino
Marco Torchiano187 views
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools by Marco Torchiano
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsEspresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Marco Torchiano240 views
Research Activities: past, present, and future. by Marco Torchiano
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.
Marco Torchiano185 views
Data Quality - Standards e Applicazioni by Marco Torchiano
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e Applicazioni
Marco Torchiano626 views
Data Quality - Standards and Application to Open Data by Marco Torchiano
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open Data
Marco Torchiano845 views
Riflessioni su Riforma Costituzionale "Renzi-Boschi" by Marco Torchiano
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Marco Torchiano205 views
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech... by Marco Torchiano
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Marco Torchiano392 views
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms by Marco Torchiano
Energy Consumption Analysis
 of Image Encoding and Decoding AlgorithmsEnergy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Marco Torchiano475 views
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech... by Marco Torchiano
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Marco Torchiano611 views
On the computation of Truck Factor by Marco Torchiano
On the computation of Truck FactorOn the computation of Truck Factor
On the computation of Truck Factor
Marco Torchiano444 views
Language Interaction and Quality Issues: An Exploratory Study by Marco Torchiano
Language Interaction and Quality Issues: An Exploratory StudyLanguage Interaction and Quality Issues: An Exploratory Study
Language Interaction and Quality Issues: An Exploratory Study
Marco Torchiano928 views
The impact of process maturity on defect density by Marco Torchiano
The impact of process maturity on defect densityThe impact of process maturity on defect density
The impact of process maturity on defect density
Marco Torchiano1.3K views

Recently uploaded

"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
59 views29 slides
The Coming AI Tsunami.pptx by
The Coming AI Tsunami.pptxThe Coming AI Tsunami.pptx
The Coming AI Tsunami.pptxjohnhandby
14 views12 slides
NTGapps NTG LowCode Platform by
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
474 views30 slides
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023BookNet Canada
46 views19 slides
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf by
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdfBronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdfThomasBronack
31 views31 slides
What is Authentication Active Directory_.pptx by
What is Authentication Active Directory_.pptxWhat is Authentication Active Directory_.pptx
What is Authentication Active Directory_.pptxHeenaMehta35
15 views7 slides

Recently uploaded(20)

"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays59 views
The Coming AI Tsunami.pptx by johnhandby
The Coming AI Tsunami.pptxThe Coming AI Tsunami.pptx
The Coming AI Tsunami.pptx
johnhandby14 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu474 views
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023 by BookNet Canada
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
Redefining the book supply chain: A glimpse into the future - Tech Forum 2023
BookNet Canada46 views
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf by ThomasBronack
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdfBronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf
Bronack Skills - Risk Management and SRE v1.0 12-3-2023.pdf
ThomasBronack31 views
What is Authentication Active Directory_.pptx by HeenaMehta35
What is Authentication Active Directory_.pptxWhat is Authentication Active Directory_.pptx
What is Authentication Active Directory_.pptx
HeenaMehta3515 views
The Power of Generative AI in Accelerating No Code Adoption.pdf by Saeed Al Dhaheri
The Power of Generative AI in Accelerating No Code Adoption.pdfThe Power of Generative AI in Accelerating No Code Adoption.pdf
The Power of Generative AI in Accelerating No Code Adoption.pdf
Saeed Al Dhaheri44 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays37 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays38 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE85 views
Optimizing Communication to Optimize Human Behavior - LCBM by Yaman Kumar
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBM
Yaman Kumar39 views
"Node.js Development in 2024: trends and tools", Nikita Galkin by Fwdays
"Node.js Development in 2024: trends and tools", Nikita Galkin "Node.js Development in 2024: trends and tools", Nikita Galkin
"Node.js Development in 2024: trends and tools", Nikita Galkin
Fwdays37 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10180 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash171 views
Mobile Core Solutions & Successful Cases.pdf by IPLOOK Networks
Mobile Core Solutions & Successful Cases.pdfMobile Core Solutions & Successful Cases.pdf
Mobile Core Solutions & Successful Cases.pdf
IPLOOK Networks16 views

A Model-Based Approach to Language Integration

  • 1. A Model-Based Approach to Language Integration Federico Tomassetti Antonio Vetro’ Marco Torchiano Markus Völter, Bernd Kolb MiSE 2013
  • 3. 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?
  • 4. 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
  • 5. Existing solutions are very specific An editor for Android configuration files
  • 7. 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
  • 8. Example: context Consider a framework for logging. In the configuration file we set the verbosity level for each class.
  • 9. Example: context • Class could be misspelled •The class could be later renamed or deleted
  • 10. Example: MPS We used the MetaProgramming System from Jetbrains. It is a Language Workbench based on a projectional editor.
  • 11. Example: implementation We create the new concept which represents a reference to a Java Class inside an XML file.
  • 13. Example: implementation Broken reference are automatically recognized
  • 14. Example: implementation Pure XML code can be generated at any time
  • 15. Future work Empirical 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?)
  • 16. Thank you! A Model-Based Approach to Language Integration Federico Tomassetti, Antonio Vetro’, Marco Torchiano Markus Völter, Bernd Kolb