WOOP - Preprocessor

If you are curious about the series of events that eventually lead to the development of the WOOP Preprocessor, you might want to read the WPP History Lesson.

If you are interested in plain facts, stay here.

WPP is a precompiler that translates discrete loops into semantically equivalent Ada95 code.

It will be extended to support recursions (see Johann Blieberger, Roland Lieger, "Worst-Case Space and Time Complexity of Recursive Procedures") and object-oriented features (see Johann Blieberger, "Timing Analysis of Object-Oriented Real-Time Programs") in the future.

WPP can be tested via our WPP remote service, no installations are required at the site of the user.

WPP can also be downloaded  and installed on the user's site.

WPP has been built on top of the source-code of GNAT, the GNU ADA Translator.

The GNU GENERAL PUBLIC LICENSE applies to GNAT as well as WPP.

It took about 5000 lines of code to implement discrete loops within GNAT.

WPP can derive upper bounds for the number of iterations of discrete loops.

WPP makes use of MATHEMATICA, a commercial package for computer algebra, in order to solve equations and recurrence relations that occur in calculations for upper bounds.

500 lines of WPP's code are written in MATHEMATICA's functional programming language. They are executed by the MATHEMATICA kernel itself, their results are returned to WPP via MathLink, MATHEMATICA's standard communication protocol.

The development of WPP has been funded by the Austrian Science Foundation (FWF) under grant P10188-MAT.