SlideShare a Scribd company logo
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.

More Related Content

Viewers also liked

Building Your Own DSL with Xtext
Building Your Own DSL with XtextBuilding Your Own DSL with Xtext
Building Your Own DSL with Xtext
GlobalLogic Ukraine
 
Xtext Best Practices
Xtext Best PracticesXtext Best Practices
Xtext Best Practices
Sebastian Zarnekow
 
Executable specifications for xtext
Executable specifications for xtextExecutable specifications for xtext
Executable specifications for xtext
meysholdt
 
Parsing Expression With Xtext
Parsing Expression With XtextParsing Expression With Xtext
Parsing Expression With Xtext
Sven Efftinge
 
Java DSLs with Xtext
Java DSLs with XtextJava DSLs with Xtext
Java DSLs with Xtext
Dr. Jan Köhnlein
 
Java Performance MythBusters
Java Performance MythBustersJava Performance MythBusters
Java Performance MythBusters
Sebastian Zarnekow
 
Jazoon 2010 - Building DSLs with Eclipse
Jazoon 2010 - Building DSLs with EclipseJazoon 2010 - Building DSLs with Eclipse
Jazoon 2010 - Building DSLs with Eclipse
Peter Friese
 
Graphical Views For Xtext
Graphical Views For XtextGraphical Views For Xtext
Graphical Views For Xtext
Dr. Jan Köhnlein
 
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
Dr. Jan Köhnlein
 
Future of Xtext
Future of XtextFuture of Xtext
Future of Xtext
Sven Efftinge
 
Xtext Webinar
Xtext WebinarXtext Webinar
Xtext Webinar
Heiko Behrens
 
Test-Driven Development of Xtext DSLs
Test-Driven Development  of Xtext DSLsTest-Driven Development  of Xtext DSLs
Test-Driven Development of Xtext DSLs
meysholdt
 
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
Karsten Thoms
 
The Xtext Grammar Language
The Xtext Grammar LanguageThe Xtext Grammar Language
The Xtext Grammar Language
Dr. Jan Köhnlein
 
EMF - Beyond The Basics
EMF - Beyond The BasicsEMF - Beyond The Basics
EMF - Beyond The Basics
Dr. Jan Köhnlein
 
EMF Tips n Tricks
EMF Tips n TricksEMF Tips n Tricks
EMF Tips n Tricks
Kaniska Mandal
 
Graphical Views For Xtext With FXDiagram
Graphical Views For Xtext With FXDiagramGraphical Views For Xtext With FXDiagram
Graphical Views For Xtext With FXDiagram
Dr. 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 Developers
Sebastian Zarnekow
 
DSLs for Java Developers
DSLs for Java DevelopersDSLs for Java Developers
DSLs for Java Developers
Dr. Jan Köhnlein
 
Serializing EMF models with Xtext
Serializing EMF models with XtextSerializing EMF models with Xtext
Serializing EMF models with Xtext
meysholdt
 

Viewers also liked (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 to Enhancing Xtext for General Purpose Languages

Computer Programming - Lecture E
Computer Programming - Lecture EComputer Programming - Lecture E
Computer Programming - Lecture E
CMDLearning
 
lecture-1-overview.pptx
lecture-1-overview.pptxlecture-1-overview.pptx
lecture-1-overview.pptx
MweeneMweemba1
 
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
Christoph Lange
 
Avogadro 2 and Open Chemistry
Avogadro 2 and Open ChemistryAvogadro 2 and Open Chemistry
Avogadro 2 and Open Chemistry
Marcus 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 Recipes
Ontotext
 
Realization of natural language interfaces using
Realization of natural language interfaces usingRealization of natural language interfaces using
Realization of natural language interfaces using
unyil96
 
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 SBVR
Imran 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 design
University of California, San Diego
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
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
Deltares
 
Managing XML documents with Epsilon
Managing XML documents with EpsilonManaging XML documents with Epsilon
Managing XML documents with Epsilon
Dimitris 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 Ontology
Axel 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.pptx
Chris Mungall
 
Poster
PosterPoster
Poster
tdsrogers
 
Object oriented databases
Object oriented databasesObject oriented databases
Object oriented databases
Sajith Ekanayaka
 
sample-resume
sample-resumesample-resume
sample-resume
Avinash Malik
 

Similar to 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
 

More from 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 syntax
University 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 AS
University of York
 
Visitors Framework Generator
Visitors Framework GeneratorVisitors Framework Generator
Visitors Framework Generator
University 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 Languages
University of York
 
Enriching your models with OCL
Enriching your models with OCLEnriching your models with OCL
Enriching your models with OCL
University 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
 

More from 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.
 

Recently uploaded

Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
Introduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptxIntroduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptx
MiscAnnoy1
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
SakkaravarthiShanmug
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
GauravCar
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
Madan Karki
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
architagupta876
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 

Recently uploaded (20)

Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
Introduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptxIntroduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptx
 
cnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classicationcnn.pptx Convolutional neural network used for image classication
cnn.pptx Convolutional neural network used for image classication
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
artificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptxartificial intelligence and data science contents.pptx
artificial intelligence and data science contents.pptx
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
Seminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptxSeminar on Distillation study-mafia.pptx
Seminar on Distillation study-mafia.pptx
 
AI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptxAI assisted telemedicine KIOSK for Rural India.pptx
AI assisted telemedicine KIOSK for Rural India.pptx
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 

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.