SlideShare una empresa de Scribd logo
1 de 19
Enhancing Xtext for 
General Purpose 
Languages 
Adolfo Sánchez-Barbudo Herrera 
asbh500@york.ac.uk
Outline 
★ EngD Project 
○ Context 
○ Motivation 
○ Scope 
★ Research 
○ Problems 
○ Directions 
○ Evaluation 
★ Current Status
EngD Project Context 
New impl. 
OCL / QVT 
Eclipse OCL 
Eclipse QVTo 
2005 2007 2010 2013 
Alignment 
Extension 
Classic 
3/13
EngD Project Motivation 
● New QVTo implementation 
o Xtext-based parsers and editors 
o Extending “new” OCL implementation 
● Problem 
o Xtext provides strong support for textual DSLs 
o Eclipse OCL required significant hand written code 
● Main goal 
o Enhancing Xtext grammars -> Reduce the need of 
hand written code for QVTo (and other languages) 
4/13
EngD Project Scope 
● Restriction 
o Xtext as a language workbench. 
● Other language workbenches not considered 
Spoofax 
5/13
Research Problem (I) 
● Gap between fixed CS and AS 
Bridge 
6/13
Research Problem (II) 
● Name Resolution ● 
o Qualified access 
o Nested scopes 
o Inheritance 
o i.e. Name visibility rules 
7/13
Research Problem (III) 
● Syntax rewrites 
o Syntax sugar resolution, disambiguation rules, etc. 
● Examples (OCL expression): 
o abc => NameExpCS 
 abc => VariableExp 
 self.abc => PropertyCallExp 
o self.aProp->size() 
 aProp is single-valued ? 
● implicit collection conversion => self.aProp.asSet()->size() 
8/13
Research Directions (I) 
● Higher level of abstraction DSLs 
9/13 
o Name resolution 
o Syntax rewrites (CS2AS bridge, disambiguation, etc.)
Research Directions (II) 
● Activities dependency analysis 
CS 2 AS 
Name 
Resolution Disambiguation 
10/13
Research Evaluation 
● Compare amount of LOC for manual 
artefacts 
o Measurements of LOC for hand-written java code 
o Measurements of LOC for equivalent DSL instances 
● Compare execution times of test cases 
o Measurements based on current Eclipse OCL impl. 
o Measurements based on future Eclipse OCL impl. 
o Backed up by: Theoretical algorithm analysis 
11/13
Current Status (I) 
● OCL Documents as intermediate artefacts 
12/13 
o High expressiveness + Eclipse OCL2Java generator 
o OCL descriptions as part of OMG specifications
Current Status (II) 13/13 
● DSLs still need to be researched
Questions & Discussion 
? 
e-mail: asbh500@york.ac.uk 
twitter: @adolfosbh
Discussion - Related Work 
● Spoofax 
o NaBL (name resolution) & Stratego (syntax rewrites) 
● JastAdd (& JastEMF) 
o Attribute grammars: name resol. & syntax rewrites 
● Gra2Mol 
o DSTL to bridge CS and AS 
● Xsemantics 
o A DSL for writing semantic rules for Xtext languages
Discussion - Future Work 
● Finish source code generators 
o Syntax rewrites and name resolution descriptions 
o From Complete OCL documents to Java code 
o Improve generated source code based on activities 
dependency analysis 
● DSLs 
o Design high level of abstraction DSLs 
o Implement generators (to generate Complete OCL) 
● Evaluate research project contributions
Discussions - Dep. Analysis 14/14
Acknowledgements 
Prof. Richard F. Paige from University of York 
Dr. Edward Willink from Willink Transformations 
Engineering & Physical Sciences Research Council 
ES group colleagues 
Anonymous reviewers
References 
[1] OMG. OCL, V2.4. http://www.omg.org/spec/OCL/2.4, January 2013 
[2] OMG. QVT, V1.2. http://www.omg.org/spec/QVT/1.2, May 2014. 
[3] M. Eysholdt and H. Behrens. Xtext: Implement your language faster than the quick and dirty way. In OOPSLA, 2010. 
[4] Edward D. Willink. Re-engineering Eclipse MDT/OCL for Xtext. Electronic Communications of the EASST, 2010. 
[5] Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Compilers: principles, techniques, & tools. 
Pearson Education Inc., 2007. 
[6] Gabriel Konat, Lennart Kats, Guido Wachsmuth, and Eelco Visser. Declarative name binding and scope rules. In 
Software Language Engineering, volume 7745. Springer Berlin Heidelberg, 2013. 
[7] Lennart Kats and Eelco Visser. The spoofax language workbench: rules for declarative specification of languages 
and IDEs. In ACM Sigplan Notices, volume 45, 2010. 
[8] Torbj•orn Ekman and G•orel Hedin. Modular name analysis for Java using JastAdd. In Generative and 
Transformational Techniques in SE. Springer, 2006. 
[9] Christoff B•urger, Sven Karol, and Christian Wende. Applying attribute grammars for metamodel semantics. In 
Proceedings of the International Workshop on Formalization of Modeling Languages, 2010. 
[10] Javier Canovas Izquierdo and Jesus Garcia Molina. Extracting models from source code in software 
modernization. Software & Systems Modeling, 2012.

Más contenido relacionado

Destacado

Building Your Own DSL with Xtext
Building Your Own DSL with XtextBuilding Your Own DSL with Xtext
Building Your Own DSL with XtextGlobalLogic Ukraine
 
Executable specifications for xtext
Executable specifications for xtextExecutable specifications for xtext
Executable specifications for xtextmeysholdt
 
Parsing Expression With Xtext
Parsing Expression With XtextParsing Expression With Xtext
Parsing Expression With XtextSven Efftinge
 
Jazoon 2010 - Building DSLs with Eclipse
Jazoon 2010 - Building DSLs with EclipseJazoon 2010 - Building DSLs with Eclipse
Jazoon 2010 - Building DSLs with EclipsePeter Friese
 
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Pragmatic DSL Design with Xtext, Xbase and Xtend 2Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Pragmatic DSL Design with Xtext, Xbase and Xtend 2Dr. Jan Köhnlein
 
Test-Driven Development of Xtext DSLs
Test-Driven Development  of Xtext DSLsTest-Driven Development  of Xtext DSLs
Test-Driven Development of Xtext DSLsmeysholdt
 
Recipes to build Code Generators for Non-Xtext Models with Xtend
Recipes to build Code Generators for Non-Xtext Models with XtendRecipes to build Code Generators for Non-Xtext Models with Xtend
Recipes to build Code Generators for Non-Xtext Models with XtendKarsten Thoms
 
Graphical Views For Xtext With FXDiagram
Graphical Views For Xtext With FXDiagramGraphical Views For Xtext With FXDiagram
Graphical Views For Xtext With FXDiagramDr. Jan Köhnlein
 
Xtend - A Language Made for Java Developers
Xtend - A Language Made for Java DevelopersXtend - A Language Made for Java Developers
Xtend - A Language Made for Java DevelopersSebastian Zarnekow
 
Serializing EMF models with Xtext
Serializing EMF models with XtextSerializing EMF models with Xtext
Serializing EMF models with Xtextmeysholdt
 

Destacado (20)

Building Your Own DSL with Xtext
Building Your Own DSL with XtextBuilding Your Own DSL with Xtext
Building Your Own DSL with Xtext
 
Xtext Best Practices
Xtext Best PracticesXtext Best Practices
Xtext Best Practices
 
Executable specifications for xtext
Executable specifications for xtextExecutable specifications for xtext
Executable specifications for xtext
 
Parsing Expression With Xtext
Parsing Expression With XtextParsing Expression With Xtext
Parsing Expression With Xtext
 
Java DSLs with Xtext
Java DSLs with XtextJava DSLs with Xtext
Java DSLs with Xtext
 
Java Performance MythBusters
Java Performance MythBustersJava Performance MythBusters
Java Performance MythBusters
 
Jazoon 2010 - Building DSLs with Eclipse
Jazoon 2010 - Building DSLs with EclipseJazoon 2010 - Building DSLs with Eclipse
Jazoon 2010 - Building DSLs with Eclipse
 
Graphical Views For Xtext
Graphical Views For XtextGraphical Views For Xtext
Graphical Views For Xtext
 
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Pragmatic DSL Design with Xtext, Xbase and Xtend 2Pragmatic DSL Design with Xtext, Xbase and Xtend 2
Pragmatic DSL Design with Xtext, Xbase and Xtend 2
 
Future of Xtext
Future of XtextFuture of Xtext
Future of Xtext
 
Xtext Webinar
Xtext WebinarXtext Webinar
Xtext Webinar
 
Test-Driven Development of Xtext DSLs
Test-Driven Development  of Xtext DSLsTest-Driven Development  of Xtext DSLs
Test-Driven Development of Xtext DSLs
 
Recipes to build Code Generators for Non-Xtext Models with Xtend
Recipes to build Code Generators for Non-Xtext Models with XtendRecipes to build Code Generators for Non-Xtext Models with Xtend
Recipes to build Code Generators for Non-Xtext Models with Xtend
 
The Xtext Grammar Language
The Xtext Grammar LanguageThe Xtext Grammar Language
The Xtext Grammar Language
 
EMF - Beyond The Basics
EMF - Beyond The BasicsEMF - Beyond The Basics
EMF - Beyond The Basics
 
EMF Tips n Tricks
EMF Tips n TricksEMF Tips n Tricks
EMF Tips n Tricks
 
Graphical Views For Xtext With FXDiagram
Graphical Views For Xtext With FXDiagramGraphical Views For Xtext With FXDiagram
Graphical Views For Xtext With FXDiagram
 
Xtend - A Language Made for Java Developers
Xtend - A Language Made for Java DevelopersXtend - A Language Made for Java Developers
Xtend - A Language Made for Java Developers
 
DSLs for Java Developers
DSLs for Java DevelopersDSLs for Java Developers
DSLs for Java Developers
 
Serializing EMF models with Xtext
Serializing EMF models with XtextSerializing EMF models with Xtext
Serializing EMF models with Xtext
 

Similar a Enhancing Xtext for General Purpose Languages

Computer Programming - Lecture E
Computer Programming - Lecture EComputer Programming - Lecture E
Computer Programming - Lecture ECMDLearning
 
lecture-1-overview.pptx
lecture-1-overview.pptxlecture-1-overview.pptx
lecture-1-overview.pptxMweeneMweemba1
 
A Mathematical Approach to Ontology Authoring and Documentation
A Mathematical Approach to Ontology Authoring and DocumentationA Mathematical Approach to Ontology Authoring and Documentation
A Mathematical Approach to Ontology Authoring and DocumentationChristoph Lange
 
Avogadro 2 and Open Chemistry
Avogadro 2 and Open ChemistryAvogadro 2 and Open Chemistry
Avogadro 2 and Open ChemistryMarcus Hanwell
 
Reasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven Recipes
Reasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven RecipesReasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven Recipes
Reasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven RecipesOntotext
 
Realization of natural language interfaces using
Realization of natural language interfaces usingRealization of natural language interfaces using
Realization of natural language interfaces usingunyil96
 
The Rise of Approximate Ontology Reasoning: Is It Mainstream Yet? --- Revisit...
The Rise of Approximate Ontology Reasoning: Is It Mainstream Yet? --- Revisit...The Rise of Approximate Ontology Reasoning: Is It Mainstream Yet? --- Revisit...
The Rise of Approximate Ontology Reasoning: Is It Mainstream Yet? --- Revisit...Jeff Z. Pan
 
NL to OCL via SBVR
NL to OCL via SBVRNL to OCL via SBVR
NL to OCL via SBVRImran Bajwa
 
NANO266 - Lecture 12 - High-throughput computational materials design
NANO266 - Lecture 12 - High-throughput computational materials designNANO266 - Lecture 12 - High-throughput computational materials design
NANO266 - Lecture 12 - High-throughput computational materials designUniversity of California, San Diego
 
DSD-INT 2017 State updating using OpenDA and WFlow - Weerts
DSD-INT 2017 State updating using OpenDA and WFlow - WeertsDSD-INT 2017 State updating using OpenDA and WFlow - Weerts
DSD-INT 2017 State updating using OpenDA and WFlow - WeertsDeltares
 
Managing XML documents with Epsilon
Managing XML documents with EpsilonManaging XML documents with Epsilon
Managing XML documents with EpsilonDimitris Kolovos
 
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Deep Learning Italia
 
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)Lac Hong University
 
Knowledge extraction in Web media: at the frontier of NLP, Machine Learning a...
Knowledge extraction in Web media: at the frontier of NLP, Machine Learning a...Knowledge extraction in Web media: at the frontier of NLP, Machine Learning a...
Knowledge extraction in Web media: at the frontier of NLP, Machine Learning a...Julien PLU
 
Automatic Construction of Nanotechnology Ontology
Automatic Construction of Nanotechnology OntologyAutomatic Construction of Nanotechnology Ontology
Automatic Construction of Nanotechnology OntologyAxel Peter MUSTAD
 
Ontology Access Kit_ Workshop Intro Slides.pptx
Ontology Access Kit_ Workshop Intro Slides.pptxOntology Access Kit_ Workshop Intro Slides.pptx
Ontology Access Kit_ Workshop Intro Slides.pptxChris Mungall
 

Similar a Enhancing Xtext for General Purpose Languages (20)

Computer Programming - Lecture E
Computer Programming - Lecture EComputer Programming - Lecture E
Computer Programming - Lecture E
 
lecture-1-overview.pptx
lecture-1-overview.pptxlecture-1-overview.pptx
lecture-1-overview.pptx
 
A Mathematical Approach to Ontology Authoring and Documentation
A Mathematical Approach to Ontology Authoring and DocumentationA Mathematical Approach to Ontology Authoring and Documentation
A Mathematical Approach to Ontology Authoring and Documentation
 
Avogadro 2 and Open Chemistry
Avogadro 2 and Open ChemistryAvogadro 2 and Open Chemistry
Avogadro 2 and Open Chemistry
 
Reasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven Recipes
Reasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven RecipesReasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven Recipes
Reasoning with Big Knowledge Graphs: Choices, Pitfalls and Proven Recipes
 
Realization of natural language interfaces using
Realization of natural language interfaces usingRealization of natural language interfaces using
Realization of natural language interfaces using
 
The Rise of Approximate Ontology Reasoning: Is It Mainstream Yet? --- Revisit...
The Rise of Approximate Ontology Reasoning: Is It Mainstream Yet? --- Revisit...The Rise of Approximate Ontology Reasoning: Is It Mainstream Yet? --- Revisit...
The Rise of Approximate Ontology Reasoning: Is It Mainstream Yet? --- Revisit...
 
NL to OCL via SBVR
NL to OCL via SBVRNL to OCL via SBVR
NL to OCL via SBVR
 
NANO266 - Lecture 12 - High-throughput computational materials design
NANO266 - Lecture 12 - High-throughput computational materials designNANO266 - Lecture 12 - High-throughput computational materials design
NANO266 - Lecture 12 - High-throughput computational materials design
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
DSD-INT 2017 State updating using OpenDA and WFlow - Weerts
DSD-INT 2017 State updating using OpenDA and WFlow - WeertsDSD-INT 2017 State updating using OpenDA and WFlow - Weerts
DSD-INT 2017 State updating using OpenDA and WFlow - Weerts
 
Managing XML documents with Epsilon
Managing XML documents with EpsilonManaging XML documents with Epsilon
Managing XML documents with Epsilon
 
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
Transformer Seq2Sqe Models: Concepts, Trends & Limitations (DLI)
 
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
2.18 tổ chức lớp viết báo khoa học kỹ thuật đăng trên tạp chí quốc tế (13)
 
Knowledge extraction in Web media: at the frontier of NLP, Machine Learning a...
Knowledge extraction in Web media: at the frontier of NLP, Machine Learning a...Knowledge extraction in Web media: at the frontier of NLP, Machine Learning a...
Knowledge extraction in Web media: at the frontier of NLP, Machine Learning a...
 
Automatic Construction of Nanotechnology Ontology
Automatic Construction of Nanotechnology OntologyAutomatic Construction of Nanotechnology Ontology
Automatic Construction of Nanotechnology Ontology
 
Ontology Access Kit_ Workshop Intro Slides.pptx
Ontology Access Kit_ Workshop Intro Slides.pptxOntology Access Kit_ Workshop Intro Slides.pptx
Ontology Access Kit_ Workshop Intro Slides.pptx
 
Poster
PosterPoster
Poster
 
Object oriented databases
Object oriented databasesObject oriented databases
Object oriented databases
 
sample-resume
sample-resumesample-resume
sample-resume
 

Más de University of York

A DSTL to bridge concrete and abstract syntax
A DSTL to bridge concrete and abstract syntaxA DSTL to bridge concrete and abstract syntax
A DSTL to bridge concrete and abstract syntaxUniversity of York
 
An OCL-based bridge from CS to AS
An OCL-based bridge from CS to ASAn OCL-based bridge from CS to AS
An OCL-based bridge from CS to ASUniversity of York
 
Automatic Application of Visitors to Evolving Domain-Specific Languages
Automatic Application of Visitors to Evolving Domain-Specific LanguagesAutomatic Application of Visitors to Evolving Domain-Specific Languages
Automatic Application of Visitors to Evolving Domain-Specific LanguagesUniversity of York
 
Enriching your models with OCL
Enriching your models with OCLEnriching your models with OCL
Enriching your models with OCLUniversity of York
 
Reusing FEFEM in form-based model editor generation.
Reusing FEFEM in form-based model editor generation.Reusing FEFEM in form-based model editor generation.
Reusing FEFEM in form-based model editor generation.University of York
 

Más de University of York (6)

A DSTL to bridge concrete and abstract syntax
A DSTL to bridge concrete and abstract syntaxA DSTL to bridge concrete and abstract syntax
A DSTL to bridge concrete and abstract syntax
 
An OCL-based bridge from CS to AS
An OCL-based bridge from CS to ASAn OCL-based bridge from CS to AS
An OCL-based bridge from CS to AS
 
Visitors Framework Generator
Visitors Framework GeneratorVisitors Framework Generator
Visitors Framework Generator
 
Automatic Application of Visitors to Evolving Domain-Specific Languages
Automatic Application of Visitors to Evolving Domain-Specific LanguagesAutomatic Application of Visitors to Evolving Domain-Specific Languages
Automatic Application of Visitors to Evolving Domain-Specific Languages
 
Enriching your models with OCL
Enriching your models with OCLEnriching your models with OCL
Enriching your models with OCL
 
Reusing FEFEM in form-based model editor generation.
Reusing FEFEM in form-based model editor generation.Reusing FEFEM in form-based model editor generation.
Reusing FEFEM in form-based model editor generation.
 

Último

Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfrs7054576148
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 

Último (20)

(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Intro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdfIntro To Electric Vehicles PDF Notes.pdf
Intro To Electric Vehicles PDF Notes.pdf
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 

Enhancing Xtext for General Purpose Languages

  • 1. Enhancing Xtext for General Purpose Languages Adolfo Sánchez-Barbudo Herrera asbh500@york.ac.uk
  • 2. Outline ★ EngD Project ○ Context ○ Motivation ○ Scope ★ Research ○ Problems ○ Directions ○ Evaluation ★ Current Status
  • 3. EngD Project Context New impl. OCL / QVT Eclipse OCL Eclipse QVTo 2005 2007 2010 2013 Alignment Extension Classic 3/13
  • 4. EngD Project Motivation ● New QVTo implementation o Xtext-based parsers and editors o Extending “new” OCL implementation ● Problem o Xtext provides strong support for textual DSLs o Eclipse OCL required significant hand written code ● Main goal o Enhancing Xtext grammars -> Reduce the need of hand written code for QVTo (and other languages) 4/13
  • 5. EngD Project Scope ● Restriction o Xtext as a language workbench. ● Other language workbenches not considered Spoofax 5/13
  • 6. Research Problem (I) ● Gap between fixed CS and AS Bridge 6/13
  • 7. Research Problem (II) ● Name Resolution ● o Qualified access o Nested scopes o Inheritance o i.e. Name visibility rules 7/13
  • 8. Research Problem (III) ● Syntax rewrites o Syntax sugar resolution, disambiguation rules, etc. ● Examples (OCL expression): o abc => NameExpCS  abc => VariableExp  self.abc => PropertyCallExp o self.aProp->size()  aProp is single-valued ? ● implicit collection conversion => self.aProp.asSet()->size() 8/13
  • 9. Research Directions (I) ● Higher level of abstraction DSLs 9/13 o Name resolution o Syntax rewrites (CS2AS bridge, disambiguation, etc.)
  • 10. Research Directions (II) ● Activities dependency analysis CS 2 AS Name Resolution Disambiguation 10/13
  • 11. Research Evaluation ● Compare amount of LOC for manual artefacts o Measurements of LOC for hand-written java code o Measurements of LOC for equivalent DSL instances ● Compare execution times of test cases o Measurements based on current Eclipse OCL impl. o Measurements based on future Eclipse OCL impl. o Backed up by: Theoretical algorithm analysis 11/13
  • 12. Current Status (I) ● OCL Documents as intermediate artefacts 12/13 o High expressiveness + Eclipse OCL2Java generator o OCL descriptions as part of OMG specifications
  • 13. Current Status (II) 13/13 ● DSLs still need to be researched
  • 14. Questions & Discussion ? e-mail: asbh500@york.ac.uk twitter: @adolfosbh
  • 15. Discussion - Related Work ● Spoofax o NaBL (name resolution) & Stratego (syntax rewrites) ● JastAdd (& JastEMF) o Attribute grammars: name resol. & syntax rewrites ● Gra2Mol o DSTL to bridge CS and AS ● Xsemantics o A DSL for writing semantic rules for Xtext languages
  • 16. Discussion - Future Work ● Finish source code generators o Syntax rewrites and name resolution descriptions o From Complete OCL documents to Java code o Improve generated source code based on activities dependency analysis ● DSLs o Design high level of abstraction DSLs o Implement generators (to generate Complete OCL) ● Evaluate research project contributions
  • 17. Discussions - Dep. Analysis 14/14
  • 18. Acknowledgements Prof. Richard F. Paige from University of York Dr. Edward Willink from Willink Transformations Engineering & Physical Sciences Research Council ES group colleagues Anonymous reviewers
  • 19. References [1] OMG. OCL, V2.4. http://www.omg.org/spec/OCL/2.4, January 2013 [2] OMG. QVT, V1.2. http://www.omg.org/spec/QVT/1.2, May 2014. [3] M. Eysholdt and H. Behrens. Xtext: Implement your language faster than the quick and dirty way. In OOPSLA, 2010. [4] Edward D. Willink. Re-engineering Eclipse MDT/OCL for Xtext. Electronic Communications of the EASST, 2010. [5] Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. Compilers: principles, techniques, & tools. Pearson Education Inc., 2007. [6] Gabriel Konat, Lennart Kats, Guido Wachsmuth, and Eelco Visser. Declarative name binding and scope rules. In Software Language Engineering, volume 7745. Springer Berlin Heidelberg, 2013. [7] Lennart Kats and Eelco Visser. The spoofax language workbench: rules for declarative specification of languages and IDEs. In ACM Sigplan Notices, volume 45, 2010. [8] Torbj•orn Ekman and G•orel Hedin. Modular name analysis for Java using JastAdd. In Generative and Transformational Techniques in SE. Springer, 2006. [9] Christoff B•urger, Sven Karol, and Christian Wende. Applying attribute grammars for metamodel semantics. In Proceedings of the International Workshop on Formalization of Modeling Languages, 2010. [10] Javier Canovas Izquierdo and Jesus Garcia Molina. Extracting models from source code in software modernization. Software & Systems Modeling, 2012.