Go up. Go to department page

The APPLAB System

Lund Institute of Technology, Department of Computer Science, SDE Research

Görel Hedin
Previous members: Elizabeth Bjarnason

We are interested in supporting the fast and easy development of new languages, in particular application languages (or domain-specific languages). As a research platform we have developed APPLAB (APPlication Language LABoratory), a meta-environment for the interactive development of domain-specific languages and programming environments for these languages. APPLAB is based on syntax-directed editing, semantics-directed editing, incremental parsing, and object-oriented attribute grammars for semantic checking and code generation. Several other projects make use of APPLAB. The largest case study so far is the implementation of a robot language to control an ABB Irb-6 industrial robot.

The system is implemented in Simula and runs on SUN Solaris. The system is available for experimental use. Contact Görel Hedin.

Key properties of APPLAB are:

  • The language specification can be edited at the same time as an example program in the new language. Changes to the specification immediately apply to the edited example program.
  • A language-based editor supports the editing of the example program, including syntax-directed editing, text editing with incremental parsing, static-semantic error checking, and semantics-directed editing.
  • The language specifications are edited using the same generic editor as is used for the example program.
  • Reference Attribute Grammars is used for specifying static-semantics and code generation. This technique is particularly suited for languages with complex non-local dependencies, such as e.g. object-oriented languages.
  • Related projects:
  • Object-Oriented Attribute Grammars
  • Robot Languages
  • Static Semantics of Object-Oriented Languages
  • Language Support for Design Patterns and Frameworks
  • Interactive Time and Memory Analysis
  • Java-to-C translator
  • Executable Specifications for Interactive Communicating Devices
  • Object-Oriented Product Modeling
  • Publications

    E. Bjarnason, G. Hedin, K. Nilsson
    Interactive Language Development for Embedded Systems
    In Nordic Journal of Computing 6(1999), 36-55.
    [Abstract (html)]
    Overview article. An earlier version of this paper was published at NWPER'98 under the title "APPLAB - An Application Language Laboratory". [Abstract etc. (html)]

    E. Bjarnason
    Interactive Tool Support for Domain-Specific Languages
    Licentiate Thesis. Dept. of Computer Science, LU-CS-TR:97-192, 112 pages. Dept. of Computer Science, Lund University, December 1997.
    Describes APPLAB and the robot case study

    G. Hedin
    Reference Attributed Grammars
    To appear in Informatica.
    [Abstract (html)]
    Describes the technique used for static-semantic analysis in APPLAB. An earlier version of this paper was published at WAGA'99. [Abstract etc. (html)]

    M. Nyberg
    Integrated Robot Programming
    Master's thesis. LUNDFD6/NFCS-5098/1--25/1997. Dept. of Computer Science, Lund University, Sweden. December 1997.
    About using APPLAB to translate between two different robot languages.

    E. Bjarnason
    APPLAB - A Laboratory for Application Languages
    In Bendix et al. (Eds): Proceedings of NWPER'96, Nordic Workshop on Programming Environment Research, pp 99-104. Aalborg, May 1996.
    [ps, 102 kB]

    E. Bjarnason
    APPLAB User's Guide. Version 1.2
    Technical Report, 65 pages. Dept. of Computer Science, Lund University, 1996.
    [ps, 1057 kB]

    E. Bjarnason, G. Hedin
    A Grammar-Interpreting Parser in a Language Design Laboratory
    In Proceedings of the Poster Session of CC'96 (International Conference on Compiler Construction). P Fritzson (ed.), pp 15-24, LiTH-IDA-R-96-12, Dept. of Computer Science, Linköping University, Sweden, April 1996. Describes the APPLAB incremental parser.
    [ps, 224 kB]

    B. Ekberg
    Grammatikstyrd LSA-editor
    Master's thesis. LU-CS-EX:96-3. Dept. of Computer Science, Lund University, Sweden. In Swedish.
    About an application of APPLAB to a finite state machine language.

    G. Hedin
    Context-Sensitive Editing in Orm
    In K. Systä et al (eds.), Proceedings of the Nordic Workshop on Programming Environment Research, Tampere, Finland. Tampere University of Technology. Software Systems Lab. TR 14. January 1992.
    Describes semantics-directed editing. A similar technique is now used in APPLAB.
    [ps, 110 kB]

    Last modified: August 19, 1999