next up previous contents
Next: Acknowledgments Up: Dissertation Walter Tuppa Previous: Kurzfassung

Abstract

The simulators for semiconductor technologies and devices developed at the ``Institute for Microelectronics'' were combined to the program system VISTA (Viennese Integrated System for Technology CAD Applications) in 1992. The coupling of the simulators through a common data base and a graphical user interface was also part of this project. The resulting software system had a big number of source files and dependences between them. Soon it was clear that the standard tool make for dependence checking has not the functionality to manage such a big software project effective. An attempt using a preprocessor similar to imake was not sufficient. Therefore an own project VMake (Vienna Make Utility) was started to manage the software with its dependences. LISP was selected as implementing language because it allows rapid prototyping. The implementation was list oriented to define the dependences between files. An important innovation was the introduction of symbolic names to avoid the disadvantage of directory oriented descriptions. All definitions were local in the description files but globally known by VMake. The whole project was handled at once. This had the disadvantage that every user had to have all source code locally.

This drawbacks of the first implementation are solved in the current second implementation. It is no longer list oriented but based on LISP objects. This allows a specific handling of different file types. In addition project dependences are introduced which allow to split up large software systems into a number of smaller and easier to maintain projects. These can he handled more efficiently because each developer can now work only on his specific problem using other required projects (defined by the project dependences) from a common installation. One result is that now each user only needs a fraction of the disc space.

An additional advantage of VMake is the automatic code generation. The binding of functions and constants between different implementation languages is solved by using TAC (Tool Abstraction Concept) automatically. In addition the function generator UNFUG (UNiversal FUnction Generator) has been developed to allow a template/tuple approach for source code development. Thereby a lot of problems can be solved easily.


next up previous contents
Next: Acknowledgments Up: Dissertation Walter Tuppa Previous: Kurzfassung

IUE WWW server
Mon Dec 23 13:10:48 MET 1996