Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3426425.3426947acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Modular and distributed IDE

Published: 15 November 2020 Publication History

Abstract

Integrated Development Environments (IDEs) are indispensable companions to programming languages. They are increasingly turning towards Web-based infrastructure. The rise of a protocol such as the Language Server Protocol (LSP) that standardizes the separation between a language-agnostic IDE, and a language server that provides all language services (e.g., auto completion, compiler...) has allowed the emergence of high quality generic Web components to build the IDE part that runs in the browser. However, all language services require different computing capacities and response times to guarantee a user-friendly experience within the IDE. The monolithic distribution of all language services prevents to leverage on the available execution platforms (e.g., local platform, application server, cloud). In contrast with the current approaches that provide IDEs in the form of a monolithic client-server architecture, we explore in this paper the modularization of all language services to support their individual deployment and dynamic adaptation within an IDE. We evaluate the performance impact of the distribution of the language services across the available execution platforms on four EMF-based languages, and demonstrate the benefit of a custom distribution.

Supplementary Material

Auxiliary Presentation Video (sle20main-p91-p-video.mp4)
This is a presentation video of my talk at SLE 2020 on our paper accepted in the research track. In this paper, we explore the modularization of all language services to support their individual deployment and dynamic adaptation within an IDE. We evaluate the performance impact of the distribution of the language services across the available execution platforms on four EMF-based languages, and demonstrate the benefit of a custom distribution.
MP4 File (3426425.3426947.mp4)
Video Presentation

References

[1]
Carlos Carrascal-Manzanares, Jesús Sánchez Cuadrado, and Juan de Lara. 2015. Building MDE cloud services with DISTIL. In International Conference on Model Driven Engineering Languages and Systems (ModelDriven Engineering on and for the Cloud, Vol. 1563 ). CEUR Workshop Proceedings, Ottawa, Canada, 19-24. htps://hal.archives-ouvertes.fr/ hal-01761670
[2]
Abhijit Dubey and Dilip Wagle. 2007. Delivering software as a service. The McKinsey Quarterly 6, 2007 ( 2007 ), 2007.
[3]
Thomas F. Düllmann and André van Hoorn. 2017. Model-Driven Generation of Microservice Architectures for Benchmarking Performance and Resilience Engineering Approaches. In Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion (L'Aquila, Italy) (ICPE '17 Companion). Association for Computing Machinery, New York, NY, USA, 171-172. htps://doi.org/10.1145/3053600.3053627
[4]
Eclipse Foundation. 2020. Eclipse Che | Eclipse Next-Generation IDE for developer teams. htps://www.eclipse.org/che/ [Online; accessed 25-February-2020].
[5]
Moritz Eysholdt and Heiko Behrens. 2010. Xtext: Implement Your Language Faster than the Quick and Dirty Way. In Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion (Reno/Tahoe, Nevada, USA) ( OOPSLA '10). Association for Computing Machinery, New York, NY, USA, 307-309. htps://doi.org/10.1145/1869542.1869625
[6]
Claudio Guidi, Ivan Lanese, Manuel Mazzara, and Fabrizio Montesi. 2017. Microservices: a Language-based Approach. In Present and Ulterior Software Engineering, Manuel Mazzara and Bertrand Meyer (Eds.). Springer, https://hal.inria.fr/hal-01635817. htps://hal.inria.fr/ hal-01635817
[7]
Jay Heiser and John Santoro. 2019. Hype cycle for software as a service.
[8]
Sven Keidel, Wulf Pfeifer, and Sebastian Erdweg. 2016. The IDE Portability Problem and Its Solution in Monto. In Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering (Amsterdam, Netherlands) ( SLE 2016 ). Association for Computing Machinery, New York, NY, USA, 152-162. htps://doi.org/ 10.1145/2997364.2997368
[9]
Andres J. Ramirez and Betty H. C. Cheng. 2010. Design Patterns for Developing Dynamically Adaptive Systems. In Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and SelfManaging Systems (Cape Town, South Africa) (SEAMS '10). Association for Computing Machinery, New York, NY, USA, 49-58. htps://doi. org/10.1145/1808984.1808990
[10]
David Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2009. EMF: Eclipse Modeling Framework 2.0 (2nd ed.). AddisonWesley Professional, https://www.amazon.fr/Budinsky-Eclips-ModeliFramewrk-_p2/dp/0321331885.
[11]
Genc Tato, Marin Bertier, Etienne Rivière, and Cédric Tedeschi. 2018. ShareLatex on the Edge: Evaluation of the Hybrid Core/Edge Deployment of a Microservices-Based Application. In Proceedings of the 3rd Workshop on Middleware for Edge Clouds & Cloudlets (Rennes, France) (MECC'18). Association for Computing Machinery, New York, NY, USA, 8-15. htps://doi.org/10.1145/3286685.3286687
[12]
Branko Terzic, Vladimir Dimitrieski, Slavica Kordic, Gordana Milosavljevic, and Ivan Lukovic. 2018. Development and evaluation of MicroBuilder: a Model-Driven tool for the specification of REST Microservice Software Architectures. ENTERPRISE INFORMATION SYSTEMS 12, 8-9 ( 2018 ), 1034-1057.
[13]
Thomas Thüm, Christian Kästner, Fabian Benduhn, Jens Meinicke, Gunter Saake, and Thomas Leich. 2014. FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming 79 ( 2014 ), 70-85.

Cited By

View all
  • (2021)IDE as Code: Reifying Language Protocols as First-Class CitizensProceedings of the 14th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)10.1145/3452383.3452406(1-5)Online publication date: 25-Feb-2021
  • (2021)From Monolithic to Microservice Architecture: The Case of Extensible and Domain-Specific IDEs2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C53483.2021.00070(454-463)Online publication date: Oct-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SLE 2020: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering
November 2020
295 pages
ISBN:9781450381765
DOI:10.1145/3426425
Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 November 2020

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. Generative approach
  2. IDE
  3. Microservice

Qualifiers

  • Research-article

Conference

SPLASH '20
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)1
Reflects downloads up to 08 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2021)IDE as Code: Reifying Language Protocols as First-Class CitizensProceedings of the 14th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference)10.1145/3452383.3452406(1-5)Online publication date: 25-Feb-2021
  • (2021)From Monolithic to Microservice Architecture: The Case of Extensible and Domain-Specific IDEs2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C53483.2021.00070(454-463)Online publication date: Oct-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media