Home | Download/Install | Documentation | Packages | Screenshots | News | Forum/Mailing-lists | Contact | GForge

Concept definitions

If you read french, you can have a look to this document.


A package is an autonomous piece of software.

  • It can be installed independently,
  • It can be in pure python or with C++ library,
  • Python module are installed in the openalea namespace,
  • Library and header are installed in the OpenAlea directory,
  • It can be compiled on linux and on windows,
  • It has documentation and tests,
  • It is released under an Open Source license

Each package has one or many wralea.py file that contains packages description and declare where are the connectible components.

Package Manager

The package manager is able to determine what are the OpenAlea package and nodes by scanning the openalea namespace and the wralea.py or wralea.xml files.

It has a graphical interface which display theses informations. The GUI has

  • A tree view which contains Packages and available nodes
  • A workspace to display node information and dataflow ?
  • a python console allowing direct python interaction

Node ( or logical component )

It is a basic piece of software which :

  • is a callable object
  • have inputs and outputs
  • can be connected with other node

An interface is associated to each input and to each output in order to guaranty what a node provide and what it expects.


It is a file which declares :

  • packages
  • nodes factory
  • interfaces
  • adapters

Node factory

This is the object allowing to create a kind of node (as a class does in static language).


A Node type can have a special widget associated to it. The widget can be a viewer ( ex a 3D viewer), an editor (ex : a graph editor ), or simply a dialog to edit parameters.

Composite Nodes (formely Sub graphs)

The system that allows to interconnect the nodes in a graph and to execute it. The node implementation is independent of the graph evaluation, thus allowing to have different evaluation strategies.

We distinguish:

  • Evaluation with token : A node is evaluated when all its input has receive some data. The data circulate in the graph depending of the nodes behaviour.
  • Functional evaluation : the graph is an complex expression evaluated recursively.

Special node are macro node which contains a sub graph, thus allowing to have different abstraction levels.

The subgraphs intends to provide a simple mechanism to interconnect models. Our goal is not to provide a complete visual language, but instead an visual abstraction at the model level. For low level interaction, as loops, python seems to be more suitable.


It represents a “contract” that a object implements. It can be a set of methods that the object must implement.

It can be implemented with zope.interface which add for a class the attribute interface

Interface mechanism will be used to validate what a Node expects as input values.


An special object to convert an object from an interface to an other.

documentation/core/concept_definitions.txt · Last modified: 2007/05/03 16:30 (external edit)   Back to top
INRIA GForge RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki