Survol is Primhill Computer's exclusive tool to implement our projects on Legacy Software. Survol is a Python agent and a web interface which aim to help
understanding a legacy application.
A set of machines, processes, databases, programs etc .... all
communicating with each other,
manipulating your data, and whose software architecture has become, as
time passes, complicated, intricated, difficult to understand, and
Survol allows to display any software entity or resources running on a
computer. Simply said, it is a library of Python scripts, each of them
displaying a particular facet of an information system.
These scripts are run on Survol agents, these agents running on one or several machines of the user application network.
The web interface then displays and summarizes all the information
coming from the agents.
It is not necessary to have an agent on all machines because many
scripts can get information from other machines than the one they
are running on. Strictly said, it is possible to run without
data model of Survol is based on classes, each of them defining a type
of computer resources: Processes, machines, files etc...
It can display for example the tree of processes and subprocesses ...
or a directory and its subdirectories: Each file is displayed with some
basic properties. One can click on each box to get further information,
as no keyboard is needed. No special technical skills are needed to use
Survol. The general details one can graps about the various interaction
between components of an information system, greatly help its
understanding: Links between machines, processes, databases and any
other components are visible. Useful dependencies are extracted without
fully respects the security policy of the network it is running on: If
the agent runs on a privileged account, it will extract many
information. But even with a dummy account, it will still be able to
retrieve useful data about the analysed system. Survol does not ever
modify or change anything on the machines it is running on, so it is
this displays the shared memory segments and the processes mapping
them. Everything can be combined in graphic reports, everyone can
understand. The data model borrows extensively its ontology and
terminology from Common Information Model, an existing industrial standard. Therefore, it interacts freely with CIM implementations such as Microsoft WMI,
OpenLMI, OpenPegasus and
WBEM, and any other software based on this standard.
is very easy to add new scripts, to display a specific kind of
information, only your application defines. When resources types are
not defined by CIM, Survol adds its own resource classes, in a very
If a user application defines its resources classes, it is very easy to
add ones, along with associated scripts, in open or proprietary source
code, without complicated setup. Just create a directory and add a new
script at the right place, that's it.
internal data model built by Survol, from one or several of its agents, is a set
of triples: Subject, relation, object, the core data type found in the Semantic web, another standard. The same set of data, extracted from an information system, can be shown with several display modes:
open-source project: Everyone can freely download and use it.
Survol has add-ons: It is very easy to customize Survol by adding new
scripts and classes: One just need to add Python scripts at the right
place: Their returned information can now fully integrate with the
rest of Survol model. Survol fully uses Python documentation features
to expose your add-on and its integrated documentation.
mode, where the rendered view cannot be modified but is designed to be
nicely printed for reporting or presentations. The appearance is very
close to the interactive one, but the layout is much more stable. Its
uses Graphviz, an open source graph visualization software.
- The plain HTML mode, convenient to generate reports in plain text, reports which can be saved, and compared.
More links about Survol:
Survol in installed on these machines, in different configurations: