Author: Anish Malhotra
Project: SpiTran
Date: 23 April 1999 anish
        16 July 1999 anish
           23 August 1999 mrl - Java classes have been renamed

An introduction to SpiTran's Design



list of the files:
   s2iMain.java  The Main UI window.
   s2iNewProject.java opening a new project
   s2iProjectSetup.java setup- indicating the SPICE file and libs - UI
   s2iDBOpenListener.java Defines the interface DBOpenListener
   s2iDBReadWrite.java Reader and Writer (Open and Save) of the Project.
   s2iSpiceData.java  SPICE file data - data structure -one time read
   s2iSpiceReader.java For reading a SPICE file
   s2iLibReader.java For reading a SPICE Library - extends SpiFileReader
   s2iAudit.java SPICE file preparation
   s2iCktInstantiator.java Circuit Instantiations
   s2iSubCktTableModel.java  Circuit Instantiations - subCktTable Model
   s2iInstCktTableModel.java Circuit Instantiations- instantiationTable Model
   s2iConfigureNodes.java configuration of Nodes - UI
   s2iConfigTableModel.java configuration of Nodes - TableModel
   s2iTransOptions.java s2i file preparation - UI
   s2iData.java s2i file preparation - data structure
   s2iReader.java s2i file preparation - reader
   s2iWriter.java s2i file preparation - writer
   s2iProcess.java Executing the translation -
   s2iRunStatus.java Executing the translation - UI
   s2iError.java Central message printing class
   s2iGlobals.java Holds the global values of variables.
   s2iProperties.java  Support for hierarchical properties
   s2iQuitDialog.java UI confirmation before quitting the tool

The modules these file form and the interaction between these modules has been captured in the diagrams below:



New project creation:
Brings up the 'New Project' form. It performs two basic checks: FILES
   s2iNewProject.java


Read Sub-circuits:

SPICE File Reader          s2iSpiceReader.java
Subcircuit Table Model   s2iSubCktTableModel.java



Circuit Instantiator

 Circuit Instantiator:                      s2iCktInstantiator.java
 Subcircuit Table Model:               s2iSubCktTableModel.java
 Instantiated Circuit Table Model:  s2iInstCktTableModel.java



Configure Nodes:

Instantiated Circuit Table Model: s2iInstCktTableModel.java
Configure Nodes UI:                   s2iConfigureNodes.java
Configuration Table Model:         s2iConfigTableModel.java



Command File Setup:

s2i Reader:      s2iSpiceReader.java
s2i Writer:      s2iSpiceWriter.java
s2i File Data:  s2iSpiceData.java
GUI:              s2iTransOptions.java



Execution:

Run Status GUI:  s2iRunStatus.java
batch:                 s2iProcess.java



Open/Save


Globals:  s2iGlobals.java
DB Reader-Writer: s2iDBReadWrite.java