.. _components: ====================== Nodes and Components ====================== |project| Circuits are built of CCA :ref:`Nodes ` and :ref:`Components ` and the :ref:`Data-Flow ` between them. Managed ======= Nodes ----- Nodes are the simple base class you have to implement to provide a computation unit visible to CCA. It provides the basic :ref:`port` interface, but only a simple internal :ref:`lifecycle` for stopping and starting. See :ref:`Node `. Components ---------- Components are more complex computation units that provide a :ref:`Component Lifecycle ` and a pre-configured set of ports to publish their state, have their state managed by the framework (e.g. being turned on and off) and listen to the :ref:`beat`. See :ref:`Component `. Unmanaged ========= Unmanaged nodes / components are processes that communicate to a CCA circuit over the middleware (currently :ref:`RSB `), but are not part of the framework and therefore are not managed by CCA (e.g. their timing). Along the implementations of :ref:`RSB `, unmanaged nodes and components can be implemented in either C++, Java, Python or Common Lisp.