# Introduction

DynamicNodes is an environment for graphical development of flow graphs. A graph is made of connected nodes. Data is flowing along the connections from node to node. Nodes can produce, process or consume data. The kind of data which can be processed depends only on the nodes. The system is heavily extensible by providing a plug-in-interface for node type libraries.

The decvelopment of a graph is done by a graphical editor and is quite easy to learn even for users without programming experience. By the principal independence between the DynamicNodes system an the processed data types, the system is applicable in a wide range of application domains, where the flow concept appropriate.

Further, the system provides the ability to modularize graphs. By defining a graph as the functionality of a node, the development of modular and re-usable graphs is possible. Thus complex applications can be developed.

DynamicNodes is composed by the following parts:

- Runtime environment for the graphs (DNCore)
- Graphical editor for comfortbale development of the graphs (DNWinApp)
- Command line tool for executing graphs without the graphical environment (DNConsole)
- Default node library with general purpose nodes (DNLibDefault)
- Node library with user interface components (DNLibCockpit)
- Node library for low level .NET programming (DNLibObjects)
- Node library for executing PowerShell scripts and functions (DNLibShell)
- Node library for image processing tasks (DNLibImageProcessing)

The graphs are currently stored in a quite simple XML format (*.dyn).

The DynamicNodes runtime as well as the graphical editor can be integrated in .NET-based applications.