SlideShare a Scribd company logo
An LSP infrastructure to build EMF language
servers for Web-deployable model editors
Roberto Rodriguez-Echeverria, Javier L. Cánovas, Manuel Wimmer and Jordi Cabot
MDETools 2018
Context
Increasing interest to move model editing support to Web tools
The development of graphical modeling editors is complex and challenging
=> Reusing MDE technologies (modeling frameworks) is mandatory
Motivation
Editor & Views
Semantic Operations
Diagramatic
Operations
Auxiliary Operations
Graphical modeling editor
Validation
Type-based selection
Completion
...
Align
Free selection
Group
... Storage
...
Motivation
Editor & Views
Semantic Operations
Diagramatic
Operations
Auxiliary Operations
Graphical modeling editor
Validation
Type-based selection
Completion
...
Align
Free selection
Group
... Storage
...
Modeling framework
(platform specific)
Motivation
Editor & Views
Diagramatic
Operations
Graphical modeling client
Modeling framework
(platform specific)
Semantic Operations
Diagramatic
Operations
Auxiliary Operations
Graphical language server
Web platform
Problem
Editor & Views
Diagramatic
Operations
Graphical modeling client
Modeling framework
(platform specific)
Semantic Operations
Diagramatic
Operations
Auxiliary Operations
Graphical language server
Web platform
?
LSP
Language Server Protocol
IDE Language servers
MxN problem (3x9) to M+N problem (3+9)
https://langserver.org/
Language Server Protocol
https://microsoft.github.io/language-server-protocol/overview
Language Server Protocol
Main issue
● designed for textual programming languages and not for graphical ones,
LSP basic types are (ids):
● document URI
● text range:
○ line number and character position
=> making easy for clients to connect to different LS in a seamless way, because
the protocol is completely language-agnostic
LSP infrastructure for graphical languages
Intermediate Representation Format
Graphical Language Server
Fundamental stack of functionalities:
1. management and validation of abstract model instances;
2. management and validation of concrete model instances;
3. provision of language descriptions (stencil palette & compositional rules);
4. diagrammatic operations, e.g., autolayout by means of ELK;
5. auxiliary operations, e.g., serialization support.
Graphical Language Server
Distributable generic client
Web technologies
Parametrized by language descriptions
● Symbols (stencils palette)
● Compositional rules
<svg><g id=”Family” class="rotatable">
<g class="scalable">
<rect y="0" x="0" height="10" width="20"
style="..."/>
</g>
<text id="name" y="20" x="5" style="...">
</text>
<text id="firstName" y="40" x="25"
style="...">
</text>
</g></svg>
LSP mapping for model editing operations
More information on this: Friday 19 Oct 2018
Conclusions
LSP-based infrastructure for Graphical Language Servers
Reuse first approach to get affordable implementations
● reuse model-driven technologies and frameworks
● reuse LSP implementations
Is LSP the right choice?
● despite its text-based design, most of the messages defined in LSP are
common for both textual and graphical languages.
● LSP expressiveness seems enough for graphical editors, so far
Future work
Roadmap:
● Automatic generation of graphical language servers
○ To what extent is feasible?
● Performance assessment
○ bandwidth optimization and server-side enhancements.
● IRF evolution
○ Is a node-edge notation enough for not graph-like languages (UML sequence diagrams)?
An LSP infrastructure to build EMF language
servers for Web-deployable model editors
Roberto Rodriguez-Echeverria, Javier L. Cánovas, Manuel Wimmer and Jordi Cabot
MDETools 2018
Ad

Recommended

Convert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.org
Convert BIM/ IFC models into graph database (Neo4j) based on IFCWebServer.org
Ali Ismail
 
AEC Hackathon -London (06-08/10/2017) Team Conenctivity- BIM and smart city c...
AEC Hackathon -London (06-08/10/2017) Team Conenctivity- BIM and smart city c...
Ali Ismail
 
BIMServer for IFC models ( www.ifcwebserver.org)
BIMServer for IFC models ( www.ifcwebserver.org)
Ali Ismail
 
Verwaltung und Qualitätssicherung von BIM-Modellen via IFCWebServer.org Data ...
Verwaltung und Qualitätssicherung von BIM-Modellen via IFCWebServer.org Data ...
Ali Ismail
 
Matlab Assistance Research Thesis
Matlab Assistance Research Thesis
Matlab Simulation
 
CRB Tech Solutions Pvt Ltd. .Net contents
CRB Tech Solutions Pvt Ltd. .Net contents
CRBTech
 
FlyCharts Presentation
FlyCharts Presentation
Origramy
 
Style visiondatasheet
Style visiondatasheet
Jagadish Babu
 
Towards a language server protocol infrastructure for graphical modeling
Towards a language server protocol infrastructure for graphical modeling
Roberto Rodriguez-Echeverria
 
GLOSS - A GLSP1 Model Server on the Smalltalk Platform
GLOSS - A GLSP1 Model Server on the Smalltalk Platform
ESUG
 
Feedback from an eclipse plugin developer to provide support to large set of ...
Feedback from an eclipse plugin developer to provide support to large set of ...
Aurélien Pupier
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
mikaelbarbero
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
Mickael Istria
 
Technology Tutorial and the basics of What Is SR MPLS
Technology Tutorial and the basics of What Is SR MPLS
RandyDookheran1
 
SDNImpactonMPLS_AdrianFarrel_MPLS2012.ppt
SDNImpactonMPLS_AdrianFarrel_MPLS2012.ppt
MuhammadWaqasArshad10
 
Builconn20071131 Presentation Jcd
Builconn20071131 Presentation Jcd
CABA
 
Plcopen xml exchange
Plcopen xml exchange
Kelvin Huynh
 
MENOG-Segment Routing Introduction
MENOG-Segment Routing Introduction
Rasoul Mesghali, CCIE RS
 
MPI, Erlang and the web
MPI, Erlang and the web
Lenz Gschwendtner
 
yun-MPLS.ppt
yun-MPLS.ppt
ssuserd0c720
 
Multi protocol label switching basics tutorial for beginners.ppt
Multi protocol label switching basics tutorial for beginners.ppt
samuela24
 
Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
openSAP_s4h27_Week_1_2025_All_Slides.pdf
openSAP_s4h27_Week_1_2025_All_Slides.pdf
Thomas Qiao
 

More Related Content

Similar to An LSP infrastructure to build EMF language servers for Web-deployable model editors (13)

Towards a language server protocol infrastructure for graphical modeling
Towards a language server protocol infrastructure for graphical modeling
Roberto Rodriguez-Echeverria
 
GLOSS - A GLSP1 Model Server on the Smalltalk Platform
GLOSS - A GLSP1 Model Server on the Smalltalk Platform
ESUG
 
Feedback from an eclipse plugin developer to provide support to large set of ...
Feedback from an eclipse plugin developer to provide support to large set of ...
Aurélien Pupier
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
mikaelbarbero
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
Mickael Istria
 
Technology Tutorial and the basics of What Is SR MPLS
Technology Tutorial and the basics of What Is SR MPLS
RandyDookheran1
 
SDNImpactonMPLS_AdrianFarrel_MPLS2012.ppt
SDNImpactonMPLS_AdrianFarrel_MPLS2012.ppt
MuhammadWaqasArshad10
 
Builconn20071131 Presentation Jcd
Builconn20071131 Presentation Jcd
CABA
 
Plcopen xml exchange
Plcopen xml exchange
Kelvin Huynh
 
MENOG-Segment Routing Introduction
MENOG-Segment Routing Introduction
Rasoul Mesghali, CCIE RS
 
MPI, Erlang and the web
MPI, Erlang and the web
Lenz Gschwendtner
 
yun-MPLS.ppt
yun-MPLS.ppt
ssuserd0c720
 
Multi protocol label switching basics tutorial for beginners.ppt
Multi protocol label switching basics tutorial for beginners.ppt
samuela24
 
Towards a language server protocol infrastructure for graphical modeling
Towards a language server protocol infrastructure for graphical modeling
Roberto Rodriguez-Echeverria
 
GLOSS - A GLSP1 Model Server on the Smalltalk Platform
GLOSS - A GLSP1 Model Server on the Smalltalk Platform
ESUG
 
Feedback from an eclipse plugin developer to provide support to large set of ...
Feedback from an eclipse plugin developer to provide support to large set of ...
Aurélien Pupier
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
mikaelbarbero
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
Mickael Istria
 
Technology Tutorial and the basics of What Is SR MPLS
Technology Tutorial and the basics of What Is SR MPLS
RandyDookheran1
 
SDNImpactonMPLS_AdrianFarrel_MPLS2012.ppt
SDNImpactonMPLS_AdrianFarrel_MPLS2012.ppt
MuhammadWaqasArshad10
 
Builconn20071131 Presentation Jcd
Builconn20071131 Presentation Jcd
CABA
 
Plcopen xml exchange
Plcopen xml exchange
Kelvin Huynh
 
Multi protocol label switching basics tutorial for beginners.ppt
Multi protocol label switching basics tutorial for beginners.ppt
samuela24
 

Recently uploaded (20)

Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
openSAP_s4h27_Week_1_2025_All_Slides.pdf
openSAP_s4h27_Week_1_2025_All_Slides.pdf
Thomas Qiao
 
Heat Treatment Process Automation in India
Heat Treatment Process Automation in India
Reckers Mechatronics
 
Sysinfo OST to PST Converter Infographic
Sysinfo OST to PST Converter Infographic
SysInfo Tools
 
HPE Reseller in uae by numerosystom.pptx
HPE Reseller in uae by numerosystom.pptx
aadibva452
 
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
A Guide to Telemedicine Software Development.pdf
A Guide to Telemedicine Software Development.pdf
Olivero Bozzelli
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
Download Adobe Illustrator Crack free for Windows 2025?
Download Adobe Illustrator Crack free for Windows 2025?
grete1122g
 
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
Artificial Intelligence Workloads and Data Center Management
Artificial Intelligence Workloads and Data Center Management
SandeepKS52
 
Shell Skill Tree - LabEx Certification (LabEx)
Shell Skill Tree - LabEx Certification (LabEx)
VICTOR MAESTRE RAMIREZ
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Open Source Software Development Methods
Open Source Software Development Methods
VICTOR MAESTRE RAMIREZ
 
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
IDM Crack with Internet Download Manager 6.42 Build 41 [Latest 2025]
pcprocore
 
Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
IObit Driver Booster Pro 12 Crack Latest Version Download
IObit Driver Booster Pro 12 Crack Latest Version Download
pcprocore
 
openSAP_s4h27_Week_1_2025_All_Slides.pdf
openSAP_s4h27_Week_1_2025_All_Slides.pdf
Thomas Qiao
 
Heat Treatment Process Automation in India
Heat Treatment Process Automation in India
Reckers Mechatronics
 
Sysinfo OST to PST Converter Infographic
Sysinfo OST to PST Converter Infographic
SysInfo Tools
 
HPE Reseller in uae by numerosystom.pptx
HPE Reseller in uae by numerosystom.pptx
aadibva452
 
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Automated Migration of ESRI Geodatabases Using XML Control Files and FME
Safe Software
 
A Guide to Telemedicine Software Development.pdf
A Guide to Telemedicine Software Development.pdf
Olivero Bozzelli
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
WSO2
 
Download Adobe Illustrator Crack free for Windows 2025?
Download Adobe Illustrator Crack free for Windows 2025?
grete1122g
 
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
Threat Modeling a Batch Job Framework - Teri Radichel - AWS re:Inforce 2025
2nd Sight Lab
 
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
Microsoft Business-230T01A-ENU-PowerPoint_01.pptx
soulamaabdoulaye128
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
Ad

An LSP infrastructure to build EMF language servers for Web-deployable model editors

  • 1. An LSP infrastructure to build EMF language servers for Web-deployable model editors Roberto Rodriguez-Echeverria, Javier L. Cánovas, Manuel Wimmer and Jordi Cabot MDETools 2018
  • 2. Context Increasing interest to move model editing support to Web tools The development of graphical modeling editors is complex and challenging => Reusing MDE technologies (modeling frameworks) is mandatory
  • 3. Motivation Editor & Views Semantic Operations Diagramatic Operations Auxiliary Operations Graphical modeling editor Validation Type-based selection Completion ... Align Free selection Group ... Storage ...
  • 4. Motivation Editor & Views Semantic Operations Diagramatic Operations Auxiliary Operations Graphical modeling editor Validation Type-based selection Completion ... Align Free selection Group ... Storage ... Modeling framework (platform specific)
  • 5. Motivation Editor & Views Diagramatic Operations Graphical modeling client Modeling framework (platform specific) Semantic Operations Diagramatic Operations Auxiliary Operations Graphical language server Web platform
  • 6. Problem Editor & Views Diagramatic Operations Graphical modeling client Modeling framework (platform specific) Semantic Operations Diagramatic Operations Auxiliary Operations Graphical language server Web platform ?
  • 7. LSP Language Server Protocol IDE Language servers MxN problem (3x9) to M+N problem (3+9) https://langserver.org/
  • 9. Language Server Protocol Main issue ● designed for textual programming languages and not for graphical ones, LSP basic types are (ids): ● document URI ● text range: ○ line number and character position => making easy for clients to connect to different LS in a seamless way, because the protocol is completely language-agnostic
  • 10. LSP infrastructure for graphical languages
  • 12. Graphical Language Server Fundamental stack of functionalities: 1. management and validation of abstract model instances; 2. management and validation of concrete model instances; 3. provision of language descriptions (stencil palette & compositional rules); 4. diagrammatic operations, e.g., autolayout by means of ELK; 5. auxiliary operations, e.g., serialization support.
  • 14. Distributable generic client Web technologies Parametrized by language descriptions ● Symbols (stencils palette) ● Compositional rules <svg><g id=”Family” class="rotatable"> <g class="scalable"> <rect y="0" x="0" height="10" width="20" style="..."/> </g> <text id="name" y="20" x="5" style="..."> </text> <text id="firstName" y="40" x="25" style="..."> </text> </g></svg>
  • 15. LSP mapping for model editing operations More information on this: Friday 19 Oct 2018
  • 16. Conclusions LSP-based infrastructure for Graphical Language Servers Reuse first approach to get affordable implementations ● reuse model-driven technologies and frameworks ● reuse LSP implementations Is LSP the right choice? ● despite its text-based design, most of the messages defined in LSP are common for both textual and graphical languages. ● LSP expressiveness seems enough for graphical editors, so far
  • 17. Future work Roadmap: ● Automatic generation of graphical language servers ○ To what extent is feasible? ● Performance assessment ○ bandwidth optimization and server-side enhancements. ● IRF evolution ○ Is a node-edge notation enough for not graph-like languages (UML sequence diagrams)?
  • 18. An LSP infrastructure to build EMF language servers for Web-deployable model editors Roberto Rodriguez-Echeverria, Javier L. Cánovas, Manuel Wimmer and Jordi Cabot MDETools 2018