Design and Implementation of a Graph Analytics Package for Medley Interlisp - Aliyev, Farid (ADA University, 2025)
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.
Keywords: Graph theory -- Data processing; Computer algorithms; Legacy systems (Computer science) -- Software development; Programming languages (Computer science) -- INTERLISP; Symbolic computing; Object-oriented programming (Computer science); IT and Engineering