Advances achieved in the development of integrated circuits during the last years result in more and more complex and simultaneously miniaturized device structures. This progress is made possible by computer aided design and simulation techniques (Technology Computer Aided Design, TCAD) and requires continued development of increasingly complex models and simulation methods. The design of according programs and model libraries rises exceedingly the necessity for cooperative development in groups consisting out of engineers specialized in physical, technological or computer science.
Claims for earlier availability of new models and simulators cause the development of suitable software and model management methods which have to comply with a number of requirements: The usage in existing applications consisting out of numerous source code modules in various programming languages shall be possible without painful restrictions as well as the development of new applications using modern object-oriented methods. Both interfaces for the developers of physical models and for the implementation of kernel routines of TCAD applications have to be available which meet the demands of physicists for simple programming techniques just as the demands of computer scientists for efficient abstraction techniques. Likewise it is necessary to provide mechanisms for the rapid development of prototypes which can be integrated into production releases without additional efforts. Last but not least support for the management of parameters and documentation assigned to specific models is a commonly requested feature.
This thesis describes the newly designed object-oriented Algorithm Library which is designated to the solution of the above mentioned problems. Based on a library of C++ classes for the abstraction of algorithms and models including their parameters and documentation design strategies and solutions for the object-oriented development of TCAD applications are described. A new programming language, especially designed to support these library structures allows for the unrestricted development and refinement of algorithms and models. Programs utilizing the Algorithm Library gain both an interpreter and a compiler for this language. These can be used equally for the development of prototypes of new algorithms and models and for the generation of libraries of tested modules.
An application of the Algorithm Library is explained in very detail in form of a TCAD process simulator which is equipped with a number of interfaces for the development of diffusion models. Two examples demonstrate the usage of the above mentioned programming language and the concepts of the implementation of the process simulator. Short descriptions of further Algorithm Library applications, and an outlook on future development possibilities conclude this thesis.