MetriVis Overview | Download | User Manual | Development
Reference Overview | Design Documentation | Reference Backend | Reference Frontend

MetriVis Design

Design Decissions

You will be able to find a documentation of the design decissions online. They are written in a Tex documentation and can be viewed as compiled pdf here.

Overall Design

MetriVis uses the classes depicted in the following graph:


Component Diagram, click to enlarge.

The most important component is the pipeline. For an example of a pipeline have a look at the XYPlot pipeline (all files in backend/src/ starting with XYPlot*).

Requests from the client are recieved by the HTTPDriver class and forwarded to a specific RequestDespatcher. The dispatcher initializes and executes the pipeline.

HowTo: Add a new Pipeline

Let's assume your new pipeline is called SearchPipeline (the actual files are already in the backend/src/ directory, you may want to take a look at them too.
  1. Create a new pipeline class SearchPipeline (this class will contain the actual pipeline processes (src/pipeline/PipelineProcess))

  2. Create a new dispatcher SearchDispatcher. This class will take the HTTPRequest, parse it's arguments and pass them to the pipeline processes.

  3. Create all pipeline processes needed to process the request. In this example there is only one such process: SearchFetcher. This module actually executes the request. There is a data container called src/container/MultiType.h which is used to store data and which may be passed from one pipeline process to the next.


Copyright © 2007 Patrick Boenzli, ETH Zurich Overview | Download | User Manual | Development