Run-Time Reusability in Object-Oriented Schematic Capture

PhD thesis, Nottingham Trent University, 1999

A schematic capture interface can be used to assist in the design and simulation of electronic circuits. This kind of software provides an intuitive graphical interface that allows a circuit designer to place and connect together the symbolic representations of electronic components. The resulting circuit schematic may then be ‘captured’ and converted to a suitable source code form, such as VHDL-AMS, for input into simulation software.

An extensible schematic capture system for VHDL-AMS mixed mode (analogue and digital) circuit simulation has been built using an object-oriented design based on a reflective architecture. It shields the circuit designer from complexity in the underlying simulation engine while allowing the full power of the simulation tool to be used, providing the user with the flexibility to create new component types at run time with the maximum reuse of existing objects. Polymorphism, a defining feature of object-oriented systems, is used to provide this flexibility and power, not only in design patterns and code mechanisms but also as a conceptual approach.

The need for the system to be extensible means that traditional reliance on dynamic binding for reusability is not an ideal solution. Extensibility at run time is not served well by this form of polymorphism due to the complexity of executable code rebuilding mechanisms, even in those languages that provide for dynamic loading. Run time reusability is best served by removing dynamically bound structures from the domain of application objects and using them only for low level artefacts of the implementation. The application objects then become semantically polymorphic in their external behaviours without relying on inflexible implementation mechanisms. Similarly, the user interface representation of these objects may exhibit polymorphic behaviour regardless of the underlying implementation architecture. This use of polymorphism as a conceptual approach rather than simply as an implementation tool provides a schematic capture interface of great flexibility and transparency.

Home page