Archaeological Post Analysis
Architecture/Design

We follow a data flow Architecture, splitting the project into three pieces that communicate between each other:

  • ArcGIS sits as an uncaring god above us, sometimes assisting but often requiring strange sacrifices.
  • The User Interface interacts with ArcGIS to get input for and launch the backend. It then receives status reports from the backend that it passes back up to ArcGIS for display.
  • The Backend is launched by the user interface and queries ArcGIS for data which it then processes, passing output back into ArcGIS. It also updates the user interface with status reports.

As our project is going to be used as a computational research tool for an area of research that has few computational research tools, it is very likely going to need to adapt to handle new techniques. To that end, the user interface and the backend are divided into modules. The user interface has a module for each form item that interacts with ArcGIS (text field, status bar, button, etd) so more can easily be added. For now, the backend only has two modules. One for our centroid algorithm and one for our linkage algorithm.

Thick Lines Represent Post Hole Data Flow and Thin Lines Represent Other Data Flow

Due to the modular nature of the project, it was necessary to focus the points of cohesion between the user interface and the algorithm. The UI Abstractor module and the Launcher module do this handily.