SmartTools: A Generator of Interactive Environments Tools

  • Isabelle Attali
  • Carine Courbis
  • Pascal Degenne
  • Alexandre Fau
  • Didier Parigot
  • Claude Pasquier
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2027)


SmartTools is a development environment generator that provides a structure editor and semantic tools as main features. The well-known visitor pattern technique is commonly used for designing semantic analysis, it has been automated and extended. SmartTools is easy to use thanks to its graphical user interface designed with the Java Swing APIs. It is built with an open architecture convinient for a partial or total integration of SmartTools in other environments. It makes the addition of new software components in SmartTools easy. As a result of the modular architecture, we built a distributed instance of SmartTools which required minimal effort. Being open to the XML technologies offers all the features of SmartTools to any language defined with those technologies. But most of all, with its open architecture, SmartTools takes advantage of all the developments made around those technologies, like DOM, through the XML APIs. The fast development of SmartTools (which is a young project, one year old) validates our choices of being open and generic.The main goal of this tool is to provide help and support for designing software development environments for programming languages as well as application languages defined with XML technologies.


Program transformation Software development Interactive Environment 


  1. 6.
    Lex Augusteijn. The elegant compiler generation system. In Pierre Deransart and Martin Jourdan, editors, Attribute Grammars and their Applications (WAGA), volume 461 of Lecture Notes in Computer Science, pages 238–254. Springer-Verlag, New York-Heidelberg-Berlin, September 1990. Paris.Google Scholar
  2. 7.
    Don Batory, Bernie Lofaso, and Smaragdakis. JTS: A tool suite for building genvoca generators. In 5th International Conference in Software Reuse, June 1998.Google Scholar
  3. 8.
    Frédéric Besson, Thomas Jensen, and Jean-Pierre Talpin. Polyhedral analysis for synchronous languages. In Agostino Cortesi and Gilberto Filé, editors, Static Analysis, volume 1694 of Lecture Notes in Computer Science, pages 51–68. Springer, 1999.CrossRefGoogle Scholar
  4. 9.
    Patrick Borras, Dominique Clément, Thierry Despeyroux, Janet Incerpi, Gilles Kahn, Bernard Lang, and Valérie Pascual. Centaur: the system. SIGSOFT Software Eng. Notes, 13(5):14–24, November 1988.CrossRefGoogle Scholar
  5. 10.
    Gilad Bracha, Martin Odersky, David Stoutamire, and Philip Wadler. Making the future safe for the past: Adding genericity to the java programming language. In Proc. OPPSLA’98, October 1998.Google Scholar
  6. 11.
    D. Caromel, W. Klauser, and J. Vayssiere. Towards seamless computing and meta-computing in java. In Geoffrey C. Fox, editor, Concurrency Practice and Experience, volume 10 of Wiley and Sons, Ltd, pages 1043–1061, September 1998.Google Scholar
  7. 12.
    Rémi Forax, Etienne Duris, and Gilles Roussel. Java multi-method framework. In International Conference on Technology of Object-Oriented Languages and Systems (TOOLS’00), November 2000.Google Scholar
  8. 13.
    Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns. Addison Wesley, Reading, MA, 1995.Google Scholar
  9. 14.
    Martin Jourdan, Didier Parigot, Catherine Julié, Olivier Durin, and Carole Le Bellec. Design, implementation and evaluation of the FNC-2 attribute grammar system. In Conf. on Programming Languages Design and Implementation, pages 209–222, White Plains, NY, June 1990. Published as ACM SIGPLAN Notices, 25(6).Google Scholar
  10. 15.
    Uwe Kastens, Peter Pfahler, and Matthias Jung. The eli system. In Kai Koskimies, editor, Compiler Construction CC’98, volume 1383 of Lect. Notes in Comp. Sci., portugal, April 1998. Springer-Verlag. tool demonstration.Google Scholar
  11. 16.
    Paul Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering Methodology, 2(2):176–201, 1993.CrossRefGoogle Scholar
  12. 17.
    Marjan Mernik, Nikolaj Korbar, and Viljem Zumer. LISA: A tool for automatic language implementation. ACM SIGPLAN Notices, 30(4):71–79, April 1995.CrossRefGoogle Scholar
  13. 18.
    Jens Palsberg and C. Barry Jay. The essence of the visitor pattern. In COMP-SAC’98, 22nd Annual International Computer Software and Applications Conference, Vienna, Austria, August 1998.Google Scholar
  14. 19.
    Jens Palsberg, Boaz Patt-Shamir, and Karl Lieberherr. A new approach to compiling adaptive programs. In Hanne Riis Nielson, editor, European Symposium on Programming, pages 280–295, Linkoping, Sweden, 1996. Springer Verlag.Google Scholar
  15. 20.
    Claude Pasquier and Laurent Théry. A distributed editing environment for xml documents. In First ECOOP Workshop on XML and Object Technology (XOT2000), June 2000.Google Scholar
  16. 21.
    Thomas Reps and Tim Teitelbaum. The synthesizer generator. In ACM SIGSOFT/SIGPLAN Symp. on Practical Software Development Environments, pages 42–48. ACM press, Pittsburgh, PA, April 1984. Joint issue with Software Eng. Notes 9, 3.Published as ACM SIGPLAN Notices, volume 19, number 5.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Isabelle Attali
    • 1
  • Carine Courbis
    • 1
  • Pascal Degenne
    • 1
  • Alexandre Fau
    • 1
  • Didier Parigot
    • 1
  • Claude Pasquier
    • 1
  1. 1.INRIA-Sophia — 2004Sophia Antipolis Cedex

Personalised recommendations