ACM Home Page
Please provide us with feedback. Feedback
Accelerating the creation of customized, language-Specific IDEs in Eclipse
Full text PdfPdf (725 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceeding of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications table of contents
Orlando, Florida, USA
SESSION: Software tools and libraries table of contents
Pages 191-206  
Year of Publication: 2009
ISBN:978-1-60558-766-0
Also published in ...
Authors
Philippe Charles  IBM T. J. Watson Research Center, Yorktown Heights, NY, USA
Robert M. Fuhrer  IBM T. J. Watson Research Center, Yorktown Heights, NY, USA
Stanley M. Sutton, Jr.  IBM T. J. Watson Research Center, Yorktown Heights, NY, USA
Evelyn Duesterwald  IBM T. J. Watson Research Center, Yorktown Heights, NY, USA
Jurgen Vinju  CWI, Amsterdam, Netherlands
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 31,   Downloads (12 Months): 31,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1640089.1640104
What is a DOI?

ABSTRACT

Full-featured integrated development environments have become critical to the adoption of new programming languages. Key to the success of these IDEs is the provision of services tailored to the languages. However, modern IDEs are large and complex, and the cost of constructing one from scratch can be prohibitive. Generators that work from language specifications reduce costs but produce environments that do not fully reflect distinctive language characteristics.

We believe that there is a practical middle ground between these extremes that can be effectively addressed by an open, semi-automated strategy to IDE development. This strategy is to reduce the burden of IDE development as much as possible, especially for internal IDE details, while opening opportunities for significant customizations to IDE services. To reduce the effort needed for customization we provide a combination of frameworks, templates, and generators. We demonstrate an extensible IDE architecture that embodies this strategy, and we show that this architecture can be used to produce customized IDEs, with a moderate amount of effort, for a variety of interesting languages.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Isabelle Attali, Carine Courbis, Pascal Degenne, Alexandre Fau, Didier Parigot, and Claude Pasquier. Smarttools: A generator of interactive environments tools. In CC, pages 355--360, 2001.
 
2
Don Batory, Roberto E. Lopez-Herrejon, and Jean-Philippe Martin. Generating product-lines of product-families. In IEEE Conf. on Automated Software Engn., page 81, 2002.
 
3
Azad Bolour. Notes on the eclipse plugin architecture. http://www.eclipse.org/articles/Article-Plug-in-architecture/plugin-architecture.html.
 
4
P. Borras, D. Clement, Th. Despeyroux, J. Incerpi, G. Kahn, B. Lang, and V. Pascual. Centaur: the system. In ACM Symposium on Practical Software Development Environments, pages 14--24, 1988.
 
5
Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar. X10: an object-oriented approach to non-uniform cluster computing. In OOPSLA, pages 519--538, 2005. ISBN 1-59593-031-0.
 
6
Philippe Charles, Robert M. Fuhrer, and Stanley M. Sutton Jr. IMP: a meta-tooling platform for creating language-specific IDEs in eclipse. In 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), November 5-9, 2007, Atlanta, Georgia, USA, pages 485--488, 2007.
 
7
eclipse.org/aspectj. AspectJ project. http://www.eclipse.org/aspectj/.
 
8
eclipse.org/dltk. Dynamic Languages Toolkit. http://www.eclipse.org/dltk/.
 
9
eclipse.org/jdt. Eclipse Java Development Tools. http://www.eclipse.org/jdt/.
 
10
Wan Fokkink, Paul Klint, Bert Lisser, and Yaroslav S. Usenko. Towards formal verification of toolbus scripts. In AMAST 2008: Proceedings of the 12th international conference on Algebraic Methodology and Software Technology, pages 160--166, Berlin, Heidelberg, 2008. Springer-Verlag.
 
11
M. Fowler. Language workbenches: The killer-app for domain specific languages? http://www.martinfowler.com/articles/language-Workbench.html.
 
12
Bugra Gedik, Henrique Andrade, Kun-Lung Wu, Philip S. Yu, and Myungcheol Doo. Spade: the system s declarative stream processing engine. In SIGMOD '08: Proceedings of the 2008 ACM SIGMOD international conference on Management of data, pages 1123--1134, New York, NY, USA, 2008. ACM.
 
13
John Grundy, John Hosking, Jun Huh, and Karen Na-Liu Li. Marama: an eclipse meta-toolset for generating multi-view environments. In ICSE '08: Proceedings of the 30th international conference on Software engineering, pages 819--822, New York, NY, USA, 2008. ACM.
 
14
J. Heering, P. R. H. Hendriks, P. Klint, and J. Rekers. The syntax definition formalism sdf--reference manual. SIGPLAN Not., 24(11):43--75, 1989. ISSN 0362-1340.
 
15
Pedro Rangel Henriques, Maria Joao Varanda Pereira, Marjan Mernik, Mitja Lenic, Jeff Gray, and Hui Wu. Automatic generation of language-based tools using LISA. IEE Proceedings - Software, 152(2):54--69, April 2005.
 
16
Jetbrains.com. JetBrains Meta Programming System. http://www.jetbrains.com/mps/.
 
17
R. Kadia. Issues encountered in building a flexible software development environment: lessons from the arcadia project. SIGSOFT Softw. Eng. Notes, 17(5):169--180, 1992. ISSN 0163-5948.
 
18
Lennar Kats and Karl Trygve Kalleberg. StrategoXT-Spoofax-IMP. http://strategoxt.org/Stratego/Spoofax-IMP, 2009.
 
19
lpg.sourceforge.net. LPG. http://www.sourceforge.net/projects/lpg/.
 
20
N. Nystrom, M. Clarkson, and A. Myers. Polyglot: An extensible compiler framework for Java. In CC, pages 138--152, 2003.
 
21
James M. Purtilo. The polylith software bus. ACM Trans. Program. Lang. Syst., 16(1):151--174, 1994. ISSN 0164-0925.
 
22
python.org. Python. http://www.python.org/.
 
23
Steven P. Reiss. Connecting tools using message passing in the field environment. IEEE Softw., 7(4):57--66, 1990. ISSN 0740-7459.
 
24
T. Reps and T. Teitelbaum. The synthesizer generator. In ACM Symposium on Practical Software Development Environments, pages 42--48, April 1984.
 
25
ruby-lang.org. Ruby. http://www.ruby-lang.org/.
 
26
Mark van den Brand and Eelco Visser. Generation of formatters for context-free languages. ACM Trans. Softw. Eng. Methodol., 5(1):1--41, 1996. ISSN 1049-331X.
 
27
Mark van den Brand et al. The ASF+SDF meta-environment: A component-based language development environment. In Computational Complexity, pages 365--370, 2001.
 
28
Jurgen Vinju, T. van der Storm, Paul Klint, Bas Basten, and Arnold Lankamp. Rascal: A domain specific language for software analysis and transformation. Poster presentation, Scientific ICT-Research Event Netherlands (SIREN), Sep. 29, 2008, 2008.
 
29
Eelco Visser. Program transformation with Stratego/XT: Rules, strategies, tools, and systems in StrategoXT-0.9. In C. Lengauer et al., editors, Domain-Specific Program Generation, volume 3016 of Lecture Notes in Computer Science, pages 216--238. Spinger-Verlag, June 2004.
 
30
X10.sourceforge.net. X10. http://www.sourceforge.net/projects/x10/.