Experiments with pro-active declarative meta-programming

  • Authors:
  • Verónica Uquillas Gómez;Andy Kellens;Kris Gybels;Theo D'Hondt

  • Affiliations:
  • Vrije Universiteit Brussel, Brussel;Vrije Universiteit Brussel, Brussel;Vrije Universiteit Brussel, Brussel;Vrije Universiteit Brussel, Brussel

  • Venue:
  • IWST '09 Proceedings of the International Workshop on Smalltalk Technologies
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program querying has become a valuable asset in the programmer's toolbox. Using dedicated querying languages, developers can reason about their source code in order to find errors, refactoring opportunities and so on. Within Smalltalk, the SOUL language has been proposed as one such language that offers a declarative and expressive means to query the source code of object-oriented programs. Ever since its inception, SOUL has been used as the underlying technique for a number of academic software engineering tools. Despite its success, one of the problems of SOUL is that, due to its backward chained implementation, it is less suited as a basis for such pro-active software tools. Using SOUL, a developer has to launch the queries over the system manually, rather than automatically receiving feedback whenever the underlying source code is changed. In this paper we present PARACHUT, an alternative logic query language that is based on forward chaining and temporal logic and that allows developers to express queries over the change history of the system. Furthermore, PARACHUT's data-driven nature makes it possible to provide instant feedback to developers when the source code is changed, thus providing better support for pro-active software tools.