3.7 Implementation Details

The WAFER-STATE-SERVER is implemented in the C++ programming language. This combines the room for an object-oriented design with the necessary performance to efficiently run TCAD simulations on a computer. The ANSI standard 14882 [30] and the ISO standard [31] ensure compatibility over various implementations on all flavors of different Linux and Windows architectures.

Coupling of software parts written in different programming languages usually imposes a programming overhead. To minimize this overhead, all software parts that are written in a different language than C++ were encapsulated in a wrapper class that hides language details like memory allocation and deallocation and ensures a proper initialization of data structures. Most of the non-C++ parts are written in the C programming language. These include the gridders DELINK and TRIANGLE or the avl-tree used for the one-dimensional point location.

Software written in the JAVA programming language (WSS Reader and Writer) are realized as completely separate programs that do not interact with the WAFER-STATE-SERVER via objects stored in memory but via file (WSS file format) that can be read from both languages.