3.3 Object-Orientedness



next up previous contents
Next: 3.4 The VISTA Approach Up: 3 Concepts of Data Previous: 3.2.1 Client-Server Approaches

3.3 Object-Orientedness

 

As the SWR prototype presented in the previous section shows, object-oriented designs of data levels gain more and more importance. But object-orientedness is becoming an issue also in the design of simulators and TCAD frameworks.

A recent example of an object-oriented approach on the TCAD task level is the FLOOPS/FLOODS (Florida Object-Oriented Process/Device Simulator) [Lian94] system developed at the University of Florida. This system uses the TCL/TK extension language and user interface toolkit too, but extends it with flexible and modular libraries providing the user with an object-oriented view of the problem under consideration. However, this object-orientedness is not present at the data level, where conventional files are used. Since the system is based on the process simulator SUPREM and its file formats, integration of other simulators may be a difficulty, and limited to two-dimensional toolsgif.

Object-orientedness on internal data structures and functions is emphasized by the SIMUL combined device-circuit simulator [Müll94]. The implementation language is C++, and all data structures are modelled as C++ classes with corresponding methods defined on them. Although this approach seems to be promising for future developments, the choice of C++ from a data level point of view is not ovious at presentgif, since there is currently no C++ language standard available, and C++ programs therefore have to rely on a specific C++ compiler (probably only available on certain computer architectures), which may not be fully compatible to an upcoming C++ standard. Once a standard is available, all those programs would have to be revised in order to comply to the language specification.

In general, programming in object-oriented concepts is possible in any high-level programming languages. Object-oriented languages just relieve the programmer from having to explicitely code object-oriented features like class definition and inheritance mechanisms. Thus programming an object-oriented application or library does not necessarily imply the usage of an object-oriented programming language.



next up previous contents
Next: 3.4 The VISTA Approach Up: 3 Concepts of Data Previous: 3.2.1 Client-Server Approaches



Martin Stiftinger
Tue Nov 29 19:41:50 MET 1994