Abstract:
Graph analytics is a critical field today for understanding the organization and behavior of
intricate systems, and its applications are ubiquitous in social networks, transportation systems,
scientific computing, and artificial intelligence. While modern programming environments such as
Python and R provide extensive libraries for graph analytics, legacy environments such as
INTERLISP lack specialized and structured tools to deal with such analyses. This thesis addresses
this gap by creating a comprehensive, modular graph analytics package for INTERLISP, founded on
its object-oriented extension LOOPS.
The primary focus of the work was to produce a fully functional, reusable, and extensible
framework that performs basic graph operations, traversals, and analytical computations in the
boundaries and symbolic processing approach of INTERLISP. It has structural graph operations
(manipulation of vertices and edges), standard graph traversals (breadth-first search), finding shortest
paths, centrality measurements (betweenness, closeness, eigenvector), cluster analysis, tests of
connectivity, and subgraph identification. All the functionality was coded to operate within the
INTERLISP system without calling upon external tools, thus maintaining the self-contained nature of
the system.
Particular emphasis was laid on usability, modularity, and computation transparency. Both
manual and file-based graph construction was supported so that users could carefully build and
experiment with graph structures. Human-readable reports of graph-level and node-level analysis
were automatically generated, along with a debug mode for step-by-step tracing of algorithms. The
integration of Common Lisp features with INTERLISP structure guaranteed smooth integration with
the Medley system environment.
The system was thoroughly tested with a variety of graphs ranging from small manually
created instances to relatively medium-sized ones with dozens of vertices and edges. Results proved
the correctness of all the algorithms run, scalability of the design, and the feasibility in general of
running high-end graph analytics on a legacy symbolic programming framework. In addition,
problems unique to INTERLISP, including implementation of basic data structures as well as the
adaptation of algorithms for symbolic processing, were overcome.
This work is the first recorded attempt to develop a specialized graph analytics package in
INTERLISP LOOPS and demonstrates that it is feasible for legacy systems to be made to handle
modern-day computational needs when approached with the appropriate design principles. The
package has not only immediate utility for researchers and developers still working with INTERLISP
but also provides a foundation for additional improvements, including directed graph support and
graphical visualization. Also, the project serves as a general illustration of how older computing
environments can be revitalized through careful engineering so that they will continue to be useful in
the modern computational era.