Menu

DesignPrinciples

Tomassino Ferrauto Gianluca Stefano Nolfi
Prev: Overview Up: Home Next: Installation

Table of contents

Design Principles

The architecture of FARSA is based on three key ideas: the components, the configuration file and the plugins.

The components are software modules that implement a given object or process. They can be organized in a hierarchical manner. The main characteristic of components is that they can be automatically instantiated and configured from the content of a configuration file. Components might also include associated commands and graphical widgets that can be accessed by the FARSA main graphical user interface.

The configuration file is a text file that specifies the components that are going to be used in a particular project and the parameters that are used to configure them. The file has a hierarchical structure analogous to the hierarchical organization of components. The configuration file is a human readable text file that can be edited through the Total99 graphic interface or directly through a standard text editor. The modular and hierarchical organization of components combined with the configuration file has several advantages:

  • it allows to instantiate a runtime only the components that are needed in a particular project, thus eliminating the risk that problems affecting other components might affect the functionality of the whole project,
  • it gives the possibility to re-use the same components in different projects,
  • it enables a progressive expansion of the tool with the development of additional components,
  • it simplifies the tool usage through the visualization of only the parameters, the commands, and the graphic widgets that are relevant for a given project.

A plugin contains compiled code of new components or features created by users. Plugins provide several advantages:

  • they enable users to neatly separate their new code from the main library,
  • they facilitate the distribution and sharing of additional components and feature within the FARSA community,
  • they enable users to get access to a number of exemplificative experiments that increase over time,
  • they allow authors of scientific papers to provide an easy way to replicate their work.

Overall the workflow in FARSA is as follow:

  1. Loading of the project configuration file
  2. Loading of the required plugins (done automatically)
  3. Creation of the required components (done automatically)
  4. Configuration on the basis of the configuration parameters (done automatically)
  5. Creation of the associated commands and graphical widgets (done automatically)
  6. Running one or more commands and open graphical widgets to carry on experiments and to analyze results

Related

Manual: Home
Manual: Installation
Manual: Overview

Discussion

Anonymous
Anonymous

Add attachments
Cancel