Algorithmic development is the very core of Signal Processing and Systems Engineering. As the computers become faster and faster, the more advanced and complex algorithms are developed. Yet, little has been done to make the task of programming these more advanced and complex algorithms easier or more efficient. Well, with one shining exception. MATLAB® supports the syntax of matrix algebra and two dimensional arrays. It was revolutionary when it came out in 1984, and has been instrumental in the development of algorithms involving matrix calculations such as the Array processing algorithms. It has, however, two drawbacks, which are becoming more and more severe. It is only an interpreted language, and it does not support multidimensional arrays with dimension greater than two.
This unsatisfactory situation has prompted the Systems and Control Group to look into the problem of developing a general programming language for numerical algorithms supporting various types of multidimensional arrays, taking into special consideration the role of sums and FOR-loops in such algorithms. The language they have developed is called SIGMA! It is built around the idea of indexsets, and is constructed in such a way that typical numerical algorithms are written in a natural and efficient way.
The first step towards a complete algorithmic development environment for developing algorithms in the SIGMA-language was taken in June 1994, when a project was started to develop an interpretor for the language. This work is still ongoing, but since June 1995 there exists a interpretor embedded in a terminal-based user environment.
The aim of this project was to implement a graphical user interface as a vital part of the development environment that has been in the project plan since its conception.
This section will give a synopsis about the structure of my report and the contents of the several chapters and sections.