From 77db771081f72644228ebdf424eff72272970598 Mon Sep 17 00:00:00 2001
From: Francois Bleibel <fbleibel@gmail.com>
Date: Thu, 17 Jun 2010 17:12:21 +0900
Subject: [PATCH] Renamed factory files

---
 include/CMakeLists.txt                    |   8 +-
 include/sot-core/sotAdditionalFunctions.h |  50 -----
 include/sot-core/sotBinaryOp.h            |   2 +-
 include/sot-core/sotDerivator.h           |   2 +-
 include/sot-core/sotFactory.h             | 158 --------------
 include/sot-core/sotMacrosSignal.h        | 161 --------------
 include/sot-core/sotPool.h                | 144 -------------
 include/sot-core/sotUnaryOp.h             |   2 +-
 src/CMakeLists.txt                        |   6 +-
 src/factory/sotAdditionalFunctions.cpp    | 155 --------------
 src/factory/sotAdditionalFunctions.h      |  51 -----
 src/factory/sotFactory.cpp                | 207 ------------------
 src/factory/sotFactory.h                  | 158 --------------
 src/factory/sotMacrosSignal.h             | 161 --------------
 src/factory/sotPool.cpp                   | 249 ----------------------
 src/factory/sotPool.h                     | 144 -------------
 src/feature/sotFeature1D.cpp              |   2 +-
 src/feature/sotFeatureAbstract.cpp        |   2 +-
 src/feature/sotFeatureGeneric.cpp         |   2 +-
 src/feature/sotFeatureJointLimits.cpp     |   2 +-
 src/feature/sotFeatureLineDistance.cpp    |   2 +-
 src/feature/sotFeaturePoint6d.cpp         |   2 +-
 src/feature/sotFeaturePoint6dRelative.cpp |   2 +-
 src/feature/sotFeatureTask.cpp            |   2 +-
 src/feature/sotFeatureVector3.cpp         |   2 +-
 src/feature/sotFeatureVisualPoint.cpp     |   2 +-
 src/math/sotOpPointModifior.cpp           |   2 +-
 src/matrix/sotBinaryOp.cpp                |   2 +-
 src/matrix/sotDerivator.cpp               |   2 +-
 src/matrix/sotFIRFilter.cpp               |   2 +-
 src/matrix/sotIntegratorAbstract.cpp      |   2 +-
 src/matrix/sotIntegratorEuler.cpp         |   2 +-
 src/matrix/sotMatrixConstant.cpp          |   2 +-
 src/matrix/sotUnaryOp.cpp                 |   2 +-
 src/matrix/sotVectorConstant.cpp          |   2 +-
 src/matrix/sotVectorToRotation.cpp        |   4 +-
 src/sot/sotSOT.cpp                        |   4 +-
 src/sot/sotSOTH.cpp                       |   4 +-
 src/sot/sotSOTQr.cpp                      |   4 +-
 src/sot/sotWeightedSOT.cpp                |   4 +-
 src/task/sotConstraint.cpp                |   2 +-
 src/task/sotGainAdaptative.cpp            |   2 +-
 src/task/sotGainHyperbolic.cpp            |   2 +-
 src/task/sotTask.cpp                      |   4 +-
 src/task/sotTaskAbstract.cpp              |   2 +-
 src/task/sotTaskConti.cpp                 |   2 +-
 src/task/sotTaskPD.cpp                    |   4 +-
 src/task/sotTaskUnilateral.cpp            |   2 +-
 48 files changed, 49 insertions(+), 1687 deletions(-)
 delete mode 100644 include/sot-core/sotAdditionalFunctions.h
 delete mode 100644 include/sot-core/sotFactory.h
 delete mode 100644 include/sot-core/sotMacrosSignal.h
 delete mode 100644 include/sot-core/sotPool.h
 delete mode 100644 src/factory/sotAdditionalFunctions.cpp
 delete mode 100644 src/factory/sotAdditionalFunctions.h
 delete mode 100644 src/factory/sotFactory.cpp
 delete mode 100644 src/factory/sotFactory.h
 delete mode 100644 src/factory/sotMacrosSignal.h
 delete mode 100644 src/factory/sotPool.cpp
 delete mode 100644 src/factory/sotPool.h

diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
index 895bc591..75c424de 100644
--- a/include/CMakeLists.txt
+++ b/include/CMakeLists.txt
@@ -34,10 +34,10 @@ sotVectorConstant.h
 sotVectorToRotation.h
 
 #factory
-sotAdditionalFunctions.h
-sotFactory.h
-sotMacrosSignal.h
-sotPool.h
+additional-functions.h
+factory.h
+macros-signal.h
+pool.h
 
 #math
 sotMatrixForce.h
diff --git a/include/sot-core/sotAdditionalFunctions.h b/include/sot-core/sotAdditionalFunctions.h
deleted file mode 100644
index 67906fdb..00000000
--- a/include/sot-core/sotAdditionalFunctions.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotAdditionalFunctions.h
- * Project:   SOT
- * Author:    François Bleibel
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-/* SOT */
-#include <dynamic-graph/signal-base.h>
-#include <sot-core/exception-factory.h>
-#include <dynamic-graph/pool.h>
-#include <sot-core/sot-core-api.h>
-
-/* --- STD --- */
-#include <string>
-#include <map>
-#include <sstream>
-
-/* --- BOOST --- */
-#include <boost/function.hpp>
-#include <boost/bind.hpp>
-
-/*! @ingroup factory
-  \brief This helper class dynamically overloads the "new" shell command
-  to allow creation of tasks and features as well as entities.
- */
-class sotAdditionalFunctions
-{
-public:
-	sotAdditionalFunctions();
-	~sotAdditionalFunctions();
-	static void cmdNew( const std::string& cmd,std::istringstream& args,
-						   std::ostream& os );
-	static void cmdMatrixDisplay( const std::string& cmd,std::istringstream& args,
-						   std::ostream& os );
-	static void cmdFlagSet( const std::string& cmd,std::istringstream& args,
-						   std::ostream& os );
-};
diff --git a/include/sot-core/sotBinaryOp.h b/include/sot-core/sotBinaryOp.h
index cc8b6a6b..73a63d25 100644
--- a/include/sot-core/sotBinaryOp.h
+++ b/include/sot-core/sotBinaryOp.h
@@ -33,7 +33,7 @@ namespace ml = maal::boost;
 /* SOT */
 #include <sot-core/sotFlags.h>
 #include <dynamic-graph/entity.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 #include <dynamic-graph/all-signals.h>
 #include <dynamic-graph/all-signals.h>
 #include <sot-core/sotVectorQuaternion.h>
diff --git a/include/sot-core/sotDerivator.h b/include/sot-core/sotDerivator.h
index 446efbfb..94b9d4cd 100644
--- a/include/sot-core/sotDerivator.h
+++ b/include/sot-core/sotDerivator.h
@@ -33,7 +33,7 @@ namespace ml = maal::boost;
 /* SOT */
 #include <sot-core/sotFlags.h>
 #include <dynamic-graph/entity.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 #include <dynamic-graph/all-signals.h>
 #include <sot-core/sotVectorQuaternion.h>
 
diff --git a/include/sot-core/sotFactory.h b/include/sot-core/sotFactory.h
deleted file mode 100644
index 3ebf1aa2..00000000
--- a/include/sot-core/sotFactory.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotFactory.h
- * Project:   SOT
- * Author:    Nicolas Mansard
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-
-
-#ifndef __SOT_FACTORY_HH__
-#define __SOT_FACTORY_HH__
-
-/* --------------------------------------------------------------------- */
-/* --- INCLUDE --------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/* --- STD --- */
-#include <map>
-#include <string>
-
-/* --- SOT --- */
-class sotFeatureAbstract;
-class sotTaskAbstract;
-#include <sot-core/exception-factory.h>
-#include <sot-core/sot-core-api.h>
-#include <dynamic-graph/factory.h>
-
-/* --------------------------------------------------------------------- */
-/* --- FACTORY ---------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/*! @ingroup factory
-  \brief This class implements the factory that allows creation of
-  objects loaded from dynamic link libraries. Objects are referenced by their
-  class names, and can be created by passing this string to one of the three
-  public "new" methods (newEntity, newFeature or newTask).
-  The factory instance (singleton) is publicly available under the name sotFactory
-  (include sotFactory.h).  A task, feature or entity can register itself by
-   using the SOT_FACTORY_{ENTITY,TASK,FEATURE}_PLUGIN macro. See sotTask.cpp for
-   an example.
-*/
-class SOT_CORE_EXPORT sotFactoryStorage
-{
- public:
-  typedef sotFeatureAbstract* (*FeatureConstructor_ptr)( const std::string& );
-  typedef sotTaskAbstract* (*TaskConstructor_ptr)( const std::string& );
-  
- protected:
-  typedef std::map< std::string,TaskConstructor_ptr > TaskMap;
-  typedef std::map< std::string,FeatureConstructor_ptr > FeatureMap;
-
-  FeatureMap featureMap;
-  TaskMap taskMap;
-
- public:
-
-  ~sotFactoryStorage( void );
-
-  void registerTask( const std::string& entname,TaskConstructor_ptr ent );
-  sotTaskAbstract* newTask( const std::string& name,const std::string& objname );
-  bool existTask( const std::string& name, TaskMap::iterator& entPtr );
-  bool existTask( const std::string& name );
-
-  void registerFeature( const std::string& entname,FeatureConstructor_ptr ent );
-  sotFeatureAbstract* newFeature( const std::string& name,const std::string& objname );
-  bool existFeature( const std::string& name, FeatureMap::iterator& entPtr );
-  bool existFeature( const std::string& name );
-
-  void  commandLine( const std::string& cmdLine,std::istringstream& cmdArgs,
-		     std::ostream& os );
-
-
-};
-
-SOT_CORE_EXPORT extern sotFactoryStorage sotFactory;
-
-/* --- REGISTERER ----------------------------------------------------------- */
-/* --- REGISTERER ----------------------------------------------------------- */
-/* --- REGISTERER ----------------------------------------------------------- */
-
-/* -------------------------------------------------------------------------- */
-/* --- ENTITY REGISTERER ---------------------------------------------------- */
-/* -------------------------------------------------------------------------- */
-typedef dynamicgraph::EntityRegisterer sotEntityRegisterer;
-
-#define SOT_FACTORY_ENTITY_PLUGIN(sotClassType,className) \
-	DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(sotClassType, className)
-
-/* -------------------------------------------------------------------------- */
-/* --- FEATURE REGISTERER --------------------------------------------------- */
-/* -------------------------------------------------------------------------- */
-
-class SOT_CORE_EXPORT sotFeatureRegisterer
-{
- private:
-  sotFeatureRegisterer( void );
-
- public:
-  sotFeatureRegisterer( const std::string& featureClassName,
-			sotFactoryStorage::FeatureConstructor_ptr maker);
-};
-
-#define SOT_FACTORY_FEATURE_PLUGIN(sotFeatureType,className) \
-  const std::string sotFeatureType::CLASS_NAME = className;  \
-  extern "C" {                                               \
-    sotFeatureAbstract *sotFeatureMaker##_##sotFeatureType( const std::string& objname )\
-    {                                                        \
-      return new sotFeatureType( objname );                  \
-    }                                                        \
-  sotFeatureRegisterer reg##_##sotFeatureType( className,    \
-					       &sotFeatureMaker##_##sotFeatureType );   \
-  }                                                          \
-
-
-/* -------------------------------------------------------------------------- */
-/* --- TASK REGISTERER ------------------------------------------------------ */
-/* -------------------------------------------------------------------------- */
-
-class SOT_CORE_EXPORT sotTaskRegisterer
-{
- private:
-  sotTaskRegisterer( void );
-
- public:
-  sotTaskRegisterer( const std::string& taskClassName,
-		     sotFactoryStorage::TaskConstructor_ptr maker);
-};
-
-
-#define SOT_FACTORY_TASK_PLUGIN(sotTaskType,className) \
-  const std::string sotTaskType::CLASS_NAME = className; \
-  extern "C" {                                            \
-    sotTaskAbstract *sotTaskMaker##_##sotTaskType( const std::string& objname )    \
-    {                                                     \
-      return new sotTaskType( objname );                 \
-    }                                                     \
-  sotTaskRegisterer reg##_##sotTaskType( className,&sotTaskMaker##_##sotTaskType );   \
-  }                                                       \
-
-
-
-#endif /* #ifndef __SOT_FACTORY_HH__ */
-
-
-
-
diff --git a/include/sot-core/sotMacrosSignal.h b/include/sot-core/sotMacrosSignal.h
deleted file mode 100644
index 837b3462..00000000
--- a/include/sot-core/sotMacrosSignal.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotMacrosSignal.h
- * Project:   SOT
- * Author:    Nicolas Mansard
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-/* --- GENERIC MACROS ------------------------------------------------------- */
-/* --- GENERIC MACROS ------------------------------------------------------- */
-/* --- GENERIC MACROS ------------------------------------------------------- */
-
-#define SOT_CALL_SIG(sotName,sotType)          \
-  boost::bind(&Signal<sotType,int>::access, \
-	      &sotName,_2)
-
-/* --- STATIC MACROS -------------------------------------------------------- */
-/* --- STATIC MACROS -------------------------------------------------------- */
-/* --- STATIC MACROS -------------------------------------------------------- */
-
-#define SOT_INIT_SIGNAL_1(sotFunction,             \
-			  sotArg1,sotArg1Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),_1), \
-  sotArg1
-
-#define SOT_INIT_SIGNAL_2(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),_1), \
-  sotArg1<<sotArg2
-#define SOT_INIT_SIGNAL_3(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),_1), \
-  sotArg1<<sotArg2<<sotArg3
-
-#define SOT_INIT_SIGNAL_4(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type,     \
-			  sotArg4,sotArg4Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),     \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),_1), \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4
-
-#define SOT_INIT_SIGNAL_5(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type,     \
-			  sotArg4,sotArg4Type,     \
-			  sotArg5,sotArg5Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),     \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),     \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),_1), \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5
-
-#define SOT_INIT_SIGNAL_6(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type,     \
-			  sotArg4,sotArg4Type,     \
-			  sotArg5,sotArg5Type,     \
-			  sotArg6,sotArg6Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),     \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),     \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),     \
-	    SOT_CALL_SIG(sotArg6,sotArg6Type),_1), \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5<<sotArg6
-
-#define SOT_INIT_SIGNAL_7(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type,     \
-			  sotArg4,sotArg4Type,     \
-			  sotArg5,sotArg5Type,     \
-			  sotArg6,sotArg6Type,     \
-			  sotArg7,sotArg7Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),     \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),     \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),     \
-	    SOT_CALL_SIG(sotArg6,sotArg6Type),     \
-	    SOT_CALL_SIG(sotArg7,sotArg7Type),_1), \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5<<sotArg6<<sotArg7
-
-/* --- MEMBERS MACROS ------------------------------------------------------- */
-/* --- MEMBERS MACROS ------------------------------------------------------- */
-/* --- MEMBERS MACROS ------------------------------------------------------- */
-
-
-#define SOT_MEMBER_SIGNAL_1(sotFunction,             \
-			    sotArg1,sotArg1Type)    \
-boost::bind(&sotFunction,this,                       \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),_1),   \
-  sotArg1
-
-#define SOT_MEMBER_SIGNAL_2(sotFunction,             \
-			    sotArg1,sotArg1Type,     \
-			    sotArg2,sotArg2Type)     \
-boost::bind(&sotFunction,this,                       \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),       \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),_1),   \
-  sotArg1<<sotArg2
-#define SOT_MEMBER_SIGNAL_5(sotFunction,             \
-			    sotArg1,sotArg1Type,     \
-			    sotArg2,sotArg2Type,     \
-			    sotArg3,sotArg3Type,     \
-			    sotArg4,sotArg4Type,     \
-			    sotArg5,sotArg5Type)     \
-boost::bind(&sotFunction,this,                       \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),       \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),       \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),       \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),       \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),_1),   \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5
-
-#define SOT_MEMBER_SIGNAL_6(sotFunction,             \
-			    sotArg1,sotArg1Type,     \
-			    sotArg2,sotArg2Type,     \
-			    sotArg3,sotArg3Type,     \
-			    sotArg4,sotArg4Type,     \
-			    sotArg5,sotArg5Type,     \
-			    sotArg6,sotArg6Type)     \
-boost::bind(&sotFunction,this,                       \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),       \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),       \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),       \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),       \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),       \
-	    SOT_CALL_SIG(sotArg6,sotArg6Type),_1),   \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5<<sotArg6
diff --git a/include/sot-core/sotPool.h b/include/sot-core/sotPool.h
deleted file mode 100644
index 69eb96c7..00000000
--- a/include/sot-core/sotPool.h
+++ /dev/null
@@ -1,144 +0,0 @@
-
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotPool.h
- * Project:   SOT
- * Author:    Nicolas Mansard
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-
-
-#ifndef __SOT_POOL_HH__
-#define __SOT_POOL_HH__
-
-/* --------------------------------------------------------------------- */
-/* --- INCLUDE --------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/* --- STD --- */
-#include <map>
-#include <string>
-#include <sstream>
-
-/* --- SOT --- */
-#include <sot-core/exception-factory.h>
-#include <dynamic-graph/signal-base.h>
-#include <sot-core/sot-core-api.h>
-#include <dynamic-graph/pool.h>
-
-class sotFeatureAbstract;
-class sotTaskAbstract;
-
-/* --------------------------------------------------------------------- */
-/* --- CLASS ----------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/*! @ingroup factory
-  \brief This class keep tracks of all the objects in the stack of Tasks.
-
-  Three kinds of objects are handled:
-  \li The controllers, i.e. the tasks which inherits from sotTaskAbstract.
-  \li The features, i.e. the information which inherits from sotFeatureAbstract.
-
-  \li Any object which need to be inside the SoT and which inherits from Entity.
-
-  This class provides the necessary operations to register, unregister each
-  instance of thoses classes.
-  As tasks and features derived from Entities, they should be registered
-  as such.
-
-  \note From the code it is not very clear why we should not unregister
-  from the tasks and the features...
-
-  The role of this class is also to look for the object supporting
-  a command, and to apply this command.
-
-  It also returns references to signals from their fully-qualified names.
- */
-class SOT_CORE_EXPORT sotPoolStorage
-{
- public:
-  /*! \name Define types to simplify the writing
-    @{
-   */
-  /*! \brief Sorted set of tasks with unique key (name). */
-  typedef std::map< std::string,sotTaskAbstract* > Tasks;
-
-  /*! \brief Sorted set of features with unique key (name). */
-  typedef std::map< std::string,sotFeatureAbstract* > Features;
-  /*! @} */
-
- protected:
-  /*! \name Fields of the class to manage the three entities.
-    Also the name is singular, those are true sets.
-    @{
-  */
-
-  /*! \brief Set of controllers */
-  Tasks task;
-
-  /*! \brief Set of features */
-  Features feature;
-  /*! @} */
-
- public:
-  /*! \brief Default destructor */
-  ~sotPoolStorage( void );
-
-  /*! \name Methods related to the handling of the features
-    @{
-   */
-  /*! \brief Registering a feature. */
-  void registerFeature( const std::string& entname,sotFeatureAbstract* ent );
-
-  /*! \brief Get a reference to a feature. */
-  sotFeatureAbstract& getFeature( const std::string& name );
-  /*! @} */
-
-  /*! \name Methods related to the handling of the tasks
-    @{
-   */
-  /*! \brief Registering a task. */
-  void registerTask( const std::string& entname,sotTaskAbstract* ent );
-  /*! \brief Get a reference to a task. */
-  sotTaskAbstract& getTask( const std::string& name );
-  /*! @} */
-
-  /*! \brief This method looks for the object named objectName,
-    and ask to provide the function functionName with the arguments cmdArg.
-    If the method of the object displays some information this will
-    be done on os.
-
-    The commands specific to the <b>pool<\b> object are:
-    \li <b>list</b> : List all the entities registered in the pool.
-    \li <b>listFeature</b> : List all the features registered in the pool.
-    \li <b>listTask</b> : List all the tasks registered in the pool.
-  */
-  void commandLine( const std::string& objectName,const std::string& functionName,
-		    std::istringstream& cmdArg, std::ostream& os );
-
-  /*! \brief This method write a graph description on the file named FileName. */
-  void writeGraph(const std::string &aFileName);
-  void writeCompletionList(std::ostream& os);
-};
-
-
-SOT_CORE_EXPORT extern sotPoolStorage sotPool;
-
-#endif /* #ifndef __SOT_POOL_HH__ */
-
-
-
-
diff --git a/include/sot-core/sotUnaryOp.h b/include/sot-core/sotUnaryOp.h
index 376253cc..358051eb 100644
--- a/include/sot-core/sotUnaryOp.h
+++ b/include/sot-core/sotUnaryOp.h
@@ -33,7 +33,7 @@ namespace ml = maal::boost;
 /* SOT */
 #include <sot-core/sotFlags.h>
 #include <dynamic-graph/entity.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 #include <dynamic-graph/all-signals.h>
 #include <dynamic-graph/all-signals.h>
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 46186fbe..2befc6a5 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -29,9 +29,9 @@ SET(${LIBRARY_NAME}_SOURCES
 	matrix/sotVectorConstant.cpp
 	matrix/sotVectorToRotation.cpp
 	
-	factory/sotAdditionalFunctions.cpp
-	factory/sotFactory.cpp
-	factory/sotPool.cpp
+	factory/additional-functions.cpp
+	factory/factory.cpp
+	factory/pool.cpp
 	
 	math/sotMatrixForce.cpp
 	math/sotMatrixHomogeneous.cpp
diff --git a/src/factory/sotAdditionalFunctions.cpp b/src/factory/sotAdditionalFunctions.cpp
deleted file mode 100644
index 961165c5..00000000
--- a/src/factory/sotAdditionalFunctions.cpp
+++ /dev/null
@@ -1,155 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotAdditionalFunctions.cpp
- * Project:   SOT
- * Author:    François Bleibel
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- * SOT-specific functions for the shell
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-
-
-#include <dynamic-graph/interpreter.h>
-#include <sot-core/sotDebug.h>
-#include <sot-core/sotFactory.h>
-#include <sot-core/sotAdditionalFunctions.h>
-#include <sot-core/signal-cast.h>
-#include <dynamic-graph/all-signals.h>
-#include <sot-core/sotFlags.h>
-using namespace std;
-
-/* \brief Constructor. At creation, overloads (deregisters-then registers
- * again) the 'new' function in the shell
- */
-sotAdditionalFunctions::sotAdditionalFunctions() {
-	// overload 'new'
-	Shell.deregisterFunction("new");
-	Shell.registerFunction("new", &sotAdditionalFunctions::cmdNew);
-}
-
-sotAdditionalFunctions::~sotAdditionalFunctions() {
-	Shell.deregisterFunction("new");
-}
-
-void sotAdditionalFunctions::cmdNew( const std::string& cmdLine, istringstream& cmdArg, std::ostream& os )
-{
-  if( cmdLine == "help" )
-    {
-      os << "  - new <class> <object>"
-	 << "\t\t\tCreate a new object (entity, task, or feature)." <<endl;
-      return;
-    }
-  string className;
-  string objName;
-  cmdArg >> className >>objName;
-  sotDEBUG(15) << "New <" << className<<"> requested."<<endl;
-  if( factory.existEntity( className ) )
-    {
-      sotDEBUG(15) << "New entity<"<<className<<"> " <<objName<<std::endl;
-      factory.newEntity(className,objName);
-    }
-  else if( sotFactory.existFeature( className ) )
-    {
-      sotDEBUG(15) << "New feature<"<<className<<"> " <<objName<<std::endl;
-      sotFactory.newFeature(className,objName);
-    }
-  else if( sotFactory.existTask( className ) )
-    {
-      sotDEBUG(15) << "New Task<"<<className<<"> " <<objName<<std::endl;
-      sotFactory.newTask(className,objName);
-    }
-  else os << "  !! Class <" << className << "> does not exist."<<endl;
-}
-
-void sotAdditionalFunctions::
-cmdMatrixDisplay( const std::string& cmdLine, std::istringstream& cmdArg, std::ostream& os )
-{
-   if( cmdLine == "help" )
-    {
-      os << "  - dispmat {simple|complet|matlab}"
-	 << "\t\tChange the display of matrix." <<endl;
-      return;
-    }
-
-   std::string arg;
-   cmdArg >> arg;
-//    dgDEBUG(15) << "Display matrix: arg = \""<< arg
-// 		<<"\" old="<<0+maal::boost::getDisplayType()<<endl;
-//    maal::boost::Vector trojan(3);
-
-//    if( ("simple"==arg)||(arg[0]=='s') )
-//       { trojan.setDisplayType( maal::boost::SIMPLE ); }
-//    else if( ("matlab"==arg)||(arg[0]=='m') )
-//      {
-//        trojan.setDisplayType( maal::boost::MATLAB );
-//        dgDEBUG(15) << "Display matrix: curr = \""
-// 		    <<0+maal::boost::MATLAB<<endl;
-//      }
-//    else if( "cpp"==arg ) { trojan.setDisplayType( maal::boost::CPP ); }
-//    else if( ("complet"==arg)||(arg[0]=='c') )
-//      { trojan.setDisplayType( maal::boost::COMPLET ); }
-//    else { os << "Arg <" << arg << "> is not a valid option."<<endl; }
-
-//    dgDEBUG(15) << "Display matrix: curr = \""
-// 		<<0+maal::boost::getDisplayType()<<endl;
-//    dgDEBUGF(15,"Ptr fun: %p.", maal::boost::getDisplayType);
-   //   dgDEBUG(15) << trojan<<std::endl;
-
-   if( ("simple"==arg)||(arg[0]=='s') )
-     SignalCast<ml::Vector>::displayType = maal::boost::SIMPLE;
-   else if( ("matlab"==arg)||(arg[0]=='m') )
-     SignalCast<ml::Vector>::displayType = maal::boost::MATLAB;
-   else if( "cpp"==arg )
-     SignalCast<ml::Vector>::displayType = maal::boost::CPP;
-   else if( ("complet"==arg)||(arg[0]=='c') )
-     SignalCast<ml::Vector>::displayType = maal::boost::COMPLET;
-   else { os << "Arg <" << arg << "> is not a valid option."<<endl; }
-
-}
-
-void sotAdditionalFunctions::
-cmdFlagSet( const std::string& cmdLine, istringstream& cmdArg, std::ostream& os )
-{
-  if( cmdLine == "help" )
-    {
-      os << "  - set <obj1.sig1(flag type)> {#&|}START:END"
-	 << "\t\tSet or reset the flag value." <<endl;
-      return;
-    }
-
-  try {
-    Signal<sotFlags,int> &sig1
-      = dynamic_cast< Signal<sotFlags,int>& >( pool.getSignal(cmdArg) );
-
-    dgDEBUG(25) << "set..."<<endl;
-    sotFlags fl; try { fl = sig1.accessCopy(); } catch(...) {}
-    cmdArg >> std::ws >> fl;
-    dgDEBUG(15) << "Fl=" << fl <<std::endl;
-    sig1 = fl;
-
-  } catch( ExceptionAbstract & err ) { throw;  }
-  catch( ... ) {
-    DG_THROW ExceptionFactory( ExceptionFactory::SYNTAX_ERROR,
-				   "setflag: sig should be of flag type. ",
-				   "(while calling setflag).");
-  }
-
-}
-
-namespace {
-	sotAdditionalFunctions functions;
-	ShellFunctionRegisterer regFun18
-   ( "setflag",boost::bind(sotAdditionalFunctions::cmdFlagSet,_1,_2,_3) );
-    ShellFunctionRegisterer regFun6
-    ( "dispmat",boost::bind(sotAdditionalFunctions::cmdMatrixDisplay,_1,_2,_3) );
-}
diff --git a/src/factory/sotAdditionalFunctions.h b/src/factory/sotAdditionalFunctions.h
deleted file mode 100644
index 87ceae93..00000000
--- a/src/factory/sotAdditionalFunctions.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotAdditionalFunctions.h
- * Project:   SOT
- * Author:    François Bleibel
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-/* SOT */
-#include <dynamic-graph/signal-base.h>
-#include <sot-core/exception-factory.h>
-#include <dynamic-graph/pool.h>
-#include <sot-core/sotPool.h>
-#include <sot-core/sot-core-api.h>
-
-/* --- STD --- */
-#include <string>
-#include <map>
-#include <sstream>
-
-/* --- BOOST --- */
-#include <boost/function.hpp>
-#include <boost/bind.hpp>
-
-/*! @ingroup factory
-  \brief This helper class dynamically overloads the "new" shell command
-  to allow creation of tasks and features as well as entities.
- */
-class sotAdditionalFunctions
-{
-public:
-	sotAdditionalFunctions();
-	~sotAdditionalFunctions();
-	static void cmdNew( const std::string& cmd,std::istringstream& args,
-						   std::ostream& os );
-	static void cmdMatrixDisplay( const std::string& cmd,std::istringstream& args,
-						   std::ostream& os );
-	static void cmdFlagSet( const std::string& cmd,std::istringstream& args,
-						   std::ostream& os );
-};
diff --git a/src/factory/sotFactory.cpp b/src/factory/sotFactory.cpp
deleted file mode 100644
index f0ff411b..00000000
--- a/src/factory/sotFactory.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotFactory.cpp
- * Project:   SOT
- * Author:    Nicolas Mansard
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-
-/* --------------------------------------------------------------------- */
-/* --- INCLUDE --------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/* --- SOT --- */
-#include <sot-core/sotDebug.h>
-#include <sot-core/sotFactory.h>
-
-using namespace std;
-
-/* --------------------------------------------------------------------- */
-/* --- CLASS ----------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-
-sotFactoryStorage::
-~sotFactoryStorage( void )
-{
-  sotDEBUGINOUT(25);
-}
-
-/* --------------------------------------------------------------------- */
-void sotFactoryStorage::
-registerTask( const std::string& entname,TaskConstructor_ptr ent )
-{
-  TaskMap::iterator entkey;
-  if( existTask(entname,entkey) ) // key does exist
-    {
-//       SOT_THROW sotExceptionFactory( sotExceptionFactory::OBJECT_CONFLICT,
-// 				 "Another task class already defined with the same name. ",
-// 				 "( while adding task class <%s> inside the factory).",
-// 				 entname.c_str() );
-      sotERRORF("Another task class already defined with the same name. "
-		"( while adding task class <%s> inside the factory).",
-		entname.c_str() );
-    }
-  else
-    {
- //      sotDEBUG(10) << "Register task <"<< entname 
-// 		   << "> in the factory." <<std::endl;
-      taskMap[entname] = ent;
-    }
-}
-
-sotTaskAbstract* sotFactoryStorage::
-newTask( const std::string& classname,const std::string& objname  )
-{
-  TaskMap::iterator entPtr;
-  if(! existTask(classname,entPtr) ) // key does not exist
-    {
-      SOT_THROW sotExceptionFactory( sotExceptionFactory::UNREFERED_OBJECT,
-				     "Unknown task."," (while calling new_task <%s>)",
-				     classname.c_str() );
-    }
-  return entPtr->second(objname);
-}
-bool sotFactoryStorage::
-existTask( const std::string& name, TaskMap::iterator& entPtr )
-{
-  entPtr = taskMap .find( name );
-  return ( entPtr != taskMap.end() );
-}
-bool sotFactoryStorage::
-existTask( const std::string& name )
-{
-  TaskMap::iterator entPtr;return existTask( name,entPtr );
-}
-
-
-/* --------------------------------------------------------------------- */
-void sotFactoryStorage::
-registerFeature( const std::string& entname,FeatureConstructor_ptr ent )
-{
-  FeatureMap::iterator entkey;
-  if( existFeature(entname,entkey) ) // key does exist
-    {
-//       SOT_THROW sotExceptionFactory( sotExceptionFactory::OBJECT_CONFLICT,
-// 				 "Another feature already defined with the same name. ",
-// 				 "(while adding feature class <%s> inside the factory).",
-// 				 entname.c_str() );
-      sotERRORF("Another feature already defined with the same name. "
-		"(while adding feature class <%s> inside the factory).",
-		entname.c_str() );
-   }
-  else
-    {
-//       sotDEBUG(10) << "Register feature <"<< entname 
-// 		   << "> in the factory." <<std::endl;
-      featureMap[entname] = ent;
-    }
-}
-
-sotFeatureAbstract* sotFactoryStorage::
-newFeature( const std::string& classname,const std::string& objname  )
-{
-  FeatureMap::iterator entPtr;
-  if(! existFeature(classname,entPtr) ) // key does not exist
-    {
-      SOT_THROW sotExceptionFactory( sotExceptionFactory::UNREFERED_OBJECT,
-				     "Unknown feature."," (while calling new_feature <%s>)",
-				     classname.c_str() );
-    }
-  return entPtr->second(objname);
-}
-bool sotFactoryStorage::
-existFeature( const std::string& name, FeatureMap::iterator& entPtr )
-{
-  //  sotDEBUGINOUT(25) << "(name=<"<<name<<">)."<<std::endl;
-  entPtr = featureMap .find( name );
-  //  sotDEBUG(6) << "str: "<< entPtr->first <<std::endl;
-  //  sotDEBUG(6) << "ptr: "<< entPtr->second <<std::endl;
-  return ( entPtr != featureMap.end() );
-}
-bool sotFactoryStorage::
-existFeature( const std::string& name )
-{
-  FeatureMap::iterator entPtr;return existFeature( name,entPtr );
-}
-
-
-
-/* --------------------------------------------------------------------- */
-/* --- REGISTERERS ----------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-sotFeatureRegisterer::
-sotFeatureRegisterer( const std::string& featureClassName,
-		      sotFactoryStorage::FeatureConstructor_ptr maker)
-{ 
-  //sotDEBUG(3) << "Register feature class: "<< featureClassName << std::endl;
-  sotFactory.registerFeature(featureClassName,maker);
-}
-
-sotTaskRegisterer::
-sotTaskRegisterer( const std::string& taskClassName,
-		   sotFactoryStorage::TaskConstructor_ptr maker) 
-{  
-  //sotDEBUG(3) << "Register task class: "<< taskClassName << std::endl;
-  sotFactory.registerTask(taskClassName,maker);
-}
-
-
-/* --------------------------------------------------------------------- */
-/* ---  COMMAND LINE ---------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-void sotFactoryStorage::
-commandLine( const std::string& cmdLine,std::istringstream& cmdArgs,
-	     std::ostream& os )
-{
-  if( cmdLine == "help" )
-    {
-      os<< "factory ";
-      string cmd2; cmdArgs >> cmd2; 
-      if(! cmdArgs.good())  
-	os << " <arg>\t\t\t\taccess to the factory (help <arg> for more detail)" <<endl;
-      else if( cmd2 == "list" ) 
-	os << "list\t\t:List all available creator." << endl;
-      else if( cmd2 == "listFeatures" )
-	os <<"listFeatures\t:List available features." << endl;
-      else if( cmd2 == "listTasks" )
-	os << " - listTasks\t:List available tasks." << endl;
-    }
-  else if( cmdLine == "list" )
-    {
-      commandLine("listTasks",cmdArgs,os);
-      commandLine("listFeatures",cmdArgs,os);
-    }
-  else if( cmdLine == "listFeatures" )
-    {
-      os <<" List of available features:" << endl;
-      for( FeatureMap::iterator iter = featureMap.begin();iter!=featureMap.end();++iter )
-	{ os << "  - " << iter->first << endl; }
-    }
-  else if( cmdLine == "listTasks" )
-    {
-      os <<" List of available tasks:" << endl;
-      for( TaskMap::iterator iter = taskMap.begin();iter!=taskMap.end();++iter )
-	{ os << "  - " << iter->first << endl; }
-    }
-  return;
-}
-
-
-
-
-sotFactoryStorage sotFactory;
-
diff --git a/src/factory/sotFactory.h b/src/factory/sotFactory.h
deleted file mode 100644
index 3ebf1aa2..00000000
--- a/src/factory/sotFactory.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotFactory.h
- * Project:   SOT
- * Author:    Nicolas Mansard
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-
-
-#ifndef __SOT_FACTORY_HH__
-#define __SOT_FACTORY_HH__
-
-/* --------------------------------------------------------------------- */
-/* --- INCLUDE --------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/* --- STD --- */
-#include <map>
-#include <string>
-
-/* --- SOT --- */
-class sotFeatureAbstract;
-class sotTaskAbstract;
-#include <sot-core/exception-factory.h>
-#include <sot-core/sot-core-api.h>
-#include <dynamic-graph/factory.h>
-
-/* --------------------------------------------------------------------- */
-/* --- FACTORY ---------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/*! @ingroup factory
-  \brief This class implements the factory that allows creation of
-  objects loaded from dynamic link libraries. Objects are referenced by their
-  class names, and can be created by passing this string to one of the three
-  public "new" methods (newEntity, newFeature or newTask).
-  The factory instance (singleton) is publicly available under the name sotFactory
-  (include sotFactory.h).  A task, feature or entity can register itself by
-   using the SOT_FACTORY_{ENTITY,TASK,FEATURE}_PLUGIN macro. See sotTask.cpp for
-   an example.
-*/
-class SOT_CORE_EXPORT sotFactoryStorage
-{
- public:
-  typedef sotFeatureAbstract* (*FeatureConstructor_ptr)( const std::string& );
-  typedef sotTaskAbstract* (*TaskConstructor_ptr)( const std::string& );
-  
- protected:
-  typedef std::map< std::string,TaskConstructor_ptr > TaskMap;
-  typedef std::map< std::string,FeatureConstructor_ptr > FeatureMap;
-
-  FeatureMap featureMap;
-  TaskMap taskMap;
-
- public:
-
-  ~sotFactoryStorage( void );
-
-  void registerTask( const std::string& entname,TaskConstructor_ptr ent );
-  sotTaskAbstract* newTask( const std::string& name,const std::string& objname );
-  bool existTask( const std::string& name, TaskMap::iterator& entPtr );
-  bool existTask( const std::string& name );
-
-  void registerFeature( const std::string& entname,FeatureConstructor_ptr ent );
-  sotFeatureAbstract* newFeature( const std::string& name,const std::string& objname );
-  bool existFeature( const std::string& name, FeatureMap::iterator& entPtr );
-  bool existFeature( const std::string& name );
-
-  void  commandLine( const std::string& cmdLine,std::istringstream& cmdArgs,
-		     std::ostream& os );
-
-
-};
-
-SOT_CORE_EXPORT extern sotFactoryStorage sotFactory;
-
-/* --- REGISTERER ----------------------------------------------------------- */
-/* --- REGISTERER ----------------------------------------------------------- */
-/* --- REGISTERER ----------------------------------------------------------- */
-
-/* -------------------------------------------------------------------------- */
-/* --- ENTITY REGISTERER ---------------------------------------------------- */
-/* -------------------------------------------------------------------------- */
-typedef dynamicgraph::EntityRegisterer sotEntityRegisterer;
-
-#define SOT_FACTORY_ENTITY_PLUGIN(sotClassType,className) \
-	DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(sotClassType, className)
-
-/* -------------------------------------------------------------------------- */
-/* --- FEATURE REGISTERER --------------------------------------------------- */
-/* -------------------------------------------------------------------------- */
-
-class SOT_CORE_EXPORT sotFeatureRegisterer
-{
- private:
-  sotFeatureRegisterer( void );
-
- public:
-  sotFeatureRegisterer( const std::string& featureClassName,
-			sotFactoryStorage::FeatureConstructor_ptr maker);
-};
-
-#define SOT_FACTORY_FEATURE_PLUGIN(sotFeatureType,className) \
-  const std::string sotFeatureType::CLASS_NAME = className;  \
-  extern "C" {                                               \
-    sotFeatureAbstract *sotFeatureMaker##_##sotFeatureType( const std::string& objname )\
-    {                                                        \
-      return new sotFeatureType( objname );                  \
-    }                                                        \
-  sotFeatureRegisterer reg##_##sotFeatureType( className,    \
-					       &sotFeatureMaker##_##sotFeatureType );   \
-  }                                                          \
-
-
-/* -------------------------------------------------------------------------- */
-/* --- TASK REGISTERER ------------------------------------------------------ */
-/* -------------------------------------------------------------------------- */
-
-class SOT_CORE_EXPORT sotTaskRegisterer
-{
- private:
-  sotTaskRegisterer( void );
-
- public:
-  sotTaskRegisterer( const std::string& taskClassName,
-		     sotFactoryStorage::TaskConstructor_ptr maker);
-};
-
-
-#define SOT_FACTORY_TASK_PLUGIN(sotTaskType,className) \
-  const std::string sotTaskType::CLASS_NAME = className; \
-  extern "C" {                                            \
-    sotTaskAbstract *sotTaskMaker##_##sotTaskType( const std::string& objname )    \
-    {                                                     \
-      return new sotTaskType( objname );                 \
-    }                                                     \
-  sotTaskRegisterer reg##_##sotTaskType( className,&sotTaskMaker##_##sotTaskType );   \
-  }                                                       \
-
-
-
-#endif /* #ifndef __SOT_FACTORY_HH__ */
-
-
-
-
diff --git a/src/factory/sotMacrosSignal.h b/src/factory/sotMacrosSignal.h
deleted file mode 100644
index 837b3462..00000000
--- a/src/factory/sotMacrosSignal.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotMacrosSignal.h
- * Project:   SOT
- * Author:    Nicolas Mansard
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-/* --- GENERIC MACROS ------------------------------------------------------- */
-/* --- GENERIC MACROS ------------------------------------------------------- */
-/* --- GENERIC MACROS ------------------------------------------------------- */
-
-#define SOT_CALL_SIG(sotName,sotType)          \
-  boost::bind(&Signal<sotType,int>::access, \
-	      &sotName,_2)
-
-/* --- STATIC MACROS -------------------------------------------------------- */
-/* --- STATIC MACROS -------------------------------------------------------- */
-/* --- STATIC MACROS -------------------------------------------------------- */
-
-#define SOT_INIT_SIGNAL_1(sotFunction,             \
-			  sotArg1,sotArg1Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),_1), \
-  sotArg1
-
-#define SOT_INIT_SIGNAL_2(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),_1), \
-  sotArg1<<sotArg2
-#define SOT_INIT_SIGNAL_3(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),_1), \
-  sotArg1<<sotArg2<<sotArg3
-
-#define SOT_INIT_SIGNAL_4(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type,     \
-			  sotArg4,sotArg4Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),     \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),_1), \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4
-
-#define SOT_INIT_SIGNAL_5(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type,     \
-			  sotArg4,sotArg4Type,     \
-			  sotArg5,sotArg5Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),     \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),     \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),_1), \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5
-
-#define SOT_INIT_SIGNAL_6(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type,     \
-			  sotArg4,sotArg4Type,     \
-			  sotArg5,sotArg5Type,     \
-			  sotArg6,sotArg6Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),     \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),     \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),     \
-	    SOT_CALL_SIG(sotArg6,sotArg6Type),_1), \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5<<sotArg6
-
-#define SOT_INIT_SIGNAL_7(sotFunction,             \
-			  sotArg1,sotArg1Type,     \
-			  sotArg2,sotArg2Type,     \
-			  sotArg3,sotArg3Type,     \
-			  sotArg4,sotArg4Type,     \
-			  sotArg5,sotArg5Type,     \
-			  sotArg6,sotArg6Type,     \
-			  sotArg7,sotArg7Type)     \
-boost::bind(&sotFunction,                          \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),     \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),     \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),     \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),     \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),     \
-	    SOT_CALL_SIG(sotArg6,sotArg6Type),     \
-	    SOT_CALL_SIG(sotArg7,sotArg7Type),_1), \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5<<sotArg6<<sotArg7
-
-/* --- MEMBERS MACROS ------------------------------------------------------- */
-/* --- MEMBERS MACROS ------------------------------------------------------- */
-/* --- MEMBERS MACROS ------------------------------------------------------- */
-
-
-#define SOT_MEMBER_SIGNAL_1(sotFunction,             \
-			    sotArg1,sotArg1Type)    \
-boost::bind(&sotFunction,this,                       \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),_1),   \
-  sotArg1
-
-#define SOT_MEMBER_SIGNAL_2(sotFunction,             \
-			    sotArg1,sotArg1Type,     \
-			    sotArg2,sotArg2Type)     \
-boost::bind(&sotFunction,this,                       \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),       \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),_1),   \
-  sotArg1<<sotArg2
-#define SOT_MEMBER_SIGNAL_5(sotFunction,             \
-			    sotArg1,sotArg1Type,     \
-			    sotArg2,sotArg2Type,     \
-			    sotArg3,sotArg3Type,     \
-			    sotArg4,sotArg4Type,     \
-			    sotArg5,sotArg5Type)     \
-boost::bind(&sotFunction,this,                       \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),       \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),       \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),       \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),       \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),_1),   \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5
-
-#define SOT_MEMBER_SIGNAL_6(sotFunction,             \
-			    sotArg1,sotArg1Type,     \
-			    sotArg2,sotArg2Type,     \
-			    sotArg3,sotArg3Type,     \
-			    sotArg4,sotArg4Type,     \
-			    sotArg5,sotArg5Type,     \
-			    sotArg6,sotArg6Type)     \
-boost::bind(&sotFunction,this,                       \
-	    SOT_CALL_SIG(sotArg1,sotArg1Type),       \
-	    SOT_CALL_SIG(sotArg2,sotArg2Type),       \
-	    SOT_CALL_SIG(sotArg3,sotArg3Type),       \
-	    SOT_CALL_SIG(sotArg4,sotArg4Type),       \
-	    SOT_CALL_SIG(sotArg5,sotArg5Type),       \
-	    SOT_CALL_SIG(sotArg6,sotArg6Type),_1),   \
-  sotArg1<<sotArg2<<sotArg3<<sotArg4<<sotArg5<<sotArg6
diff --git a/src/factory/sotPool.cpp b/src/factory/sotPool.cpp
deleted file mode 100644
index 4f5798c4..00000000
--- a/src/factory/sotPool.cpp
+++ /dev/null
@@ -1,249 +0,0 @@
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotPool.cpp
- * Project:   SOT
- * Author:    Nicolas Mansard
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-
-/* --------------------------------------------------------------------- */
-/* --- INCLUDE --------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/* --- SOT --- */
-#include <sot-core/sotPool.h>
-#include <sot-core/sotDebug.h>
-#include <dynamic-graph/entity.h>
-#include <list>
-
-/* --------------------------------------------------------------------- */
-/* --- CLASS ----------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-sotPoolStorage::
-~sotPoolStorage( void )
-{
-  sotDEBUGIN(15);
-
-
-  sotDEBUGOUT(15);
-  return;
-}
-
-
-/* --------------------------------------------------------------------- */
-void sotPoolStorage::
-registerTask( const std::string& entname,sotTaskAbstract* ent )
-{
-  Tasks::iterator entkey = task.find(entname);
-  if( entkey != task.end() ) // key does exist
-    {
-      throw sotExceptionFactory( sotExceptionFactory::OBJECT_CONFLICT,
-				 "Another task already defined with the same name. ",
-				 "Task name is <%s>.",entname.c_str() );
-    }
-  else
-    {
-      sotDEBUG(10) << "Register task <"<< entname
-		   << "> in the pool." <<std::endl;
-      task[entname] = ent;
-    }
-}
-
-sotTaskAbstract& sotPoolStorage::
-getTask( const std::string& name )
-{
-  Tasks::iterator entPtr = task .find( name );
-  if( entPtr == task.end() )
-    {
-      SOT_THROW sotExceptionFactory( sotExceptionFactory::UNREFERED_OBJECT,
-				     "Unknown task."," (while calling <%s>)",
-				     name.c_str() );
-    }
-  return *entPtr->second;
-}
-
-
-
-/* --------------------------------------------------------------------- */
-void sotPoolStorage::
-registerFeature( const std::string& entname,sotFeatureAbstract* ent )
-{
-  Features::iterator entkey = feature.find(entname);
-  if( entkey != feature.end() ) // key does exist
-    {
-      throw sotExceptionFactory( sotExceptionFactory::OBJECT_CONFLICT,
-				 "Another feature already defined with the same name. ",
-				 "Feature name is <%s>.",entname.c_str() );
-    }
-  else
-    {
-      sotDEBUG(10) << "Register feature <"<< entname
-		   << "> in the pool." <<std::endl;
-      feature[entname] = ent;
-    }
-}
-
-sotFeatureAbstract& sotPoolStorage::
-getFeature( const std::string& name )
-{
-  Features::iterator entPtr = feature .find( name );
-  if( entPtr == feature.end() )
-    {
-      SOT_THROW sotExceptionFactory( sotExceptionFactory::UNREFERED_OBJECT,
-				     "Unknown feature."," (while calling <%s>)",
-				     name.c_str() );
-    }
-  return *entPtr->second;
-}
-
-
-
-
-/* --------------------------------------------------------------------- */
-
-#include <dynamic-graph/entity.h>
-#include <sot-core/sotTaskAbstract.h>
-#include <sot-core/sotFeatureAbstract.h>
-
-#ifdef WIN32
-#include <time.h>
-#endif /*WIN32*/
-
-void sotPoolStorage::
-writeGraph(const std::string &aFileName)
-{
-  size_t IdxPointFound = aFileName.rfind(".");
-  std::string tmp1 = aFileName.substr(0,IdxPointFound);
-  size_t IdxSeparatorFound = aFileName.rfind("/");
-  std::string GenericName;
-  if (IdxSeparatorFound!=std::string::npos)
-    GenericName = tmp1.substr(IdxSeparatorFound,tmp1.length());
-  else
-    GenericName = tmp1;
-
-  /* Reading local time */
-  time_t ltime;
-  ltime = time(NULL);
-  struct tm ltimeformatted;
-#ifdef WIN32
-  localtime_s(&ltimeformatted,&ltime);
-#else
-  localtime_r(&ltime,&ltimeformatted);
-#endif /*WIN32*/
-
-  /* Opening the file and writing the first comment. */
-  std::ofstream GraphFile;
-  GraphFile.open((char *)aFileName.c_str(),std::ofstream::out);
-  GraphFile << "/* This graph has been automatically generated. " << std::endl;
-  GraphFile << "   " << 1900+ltimeformatted.tm_year
-	    << " Month: " << 1+ltimeformatted.tm_mon
-	    << " Day: " << ltimeformatted.tm_mday
-	    << " Time: " << ltimeformatted.tm_hour
-	    << ":" << ltimeformatted.tm_min;
-  GraphFile << " */" << std::endl;
-  GraphFile << "digraph " << GenericName << " { ";
-  GraphFile << "\t graph [ label=\"" << GenericName << "\" bgcolor = white rankdir=LR ]" << std::endl
-	    << "\t node [ fontcolor = black, color = black, fillcolor = gold1, style=filled, shape=box ] ; " << std::endl;
-  GraphFile << "\tsubgraph cluster_Tasks { " << std::endl;
-  GraphFile << "\t\t color=blue; label=\"Tasks\";" << std::endl;
-
-  for( Tasks::iterator iter=task.begin();
-       iter!=task.end();iter++ )
-    {
-      sotTaskAbstract* ent = iter->second;
-      GraphFile << "\t\t" << ent->getName()
-		<<" [ label = \"" << ent->getName() << "\" ," << std::endl
-		<<"\t\t   fontcolor = black, color = black, fillcolor = magenta, style=filled, shape=box ]" << std::endl;
-
-    }
-
-
-  GraphFile << "}"<< std::endl;
-
-  GraphFile.close();
-}
-
-void sotPoolStorage::
-writeCompletionList(std::ostream& os)
-{
-
-
-}
-
-
-void sotPoolStorage::
-commandLine( const std::string& objectName,const std::string& functionName,
-	     std::istringstream& cmdArg, std::ostream& os )
-{
-  sotDEBUG(15) << "Object <" << objectName<< "> function <"
-	       <<functionName<<">"<<std::endl;
-
-  if( objectName=="pool" )
-    {
-      if( functionName=="help" )
-	{
-	  os <<"Pool: " << std::endl
-	     <<"  - list" << std::endl
-	     <<"  - listFeature" << std::endl
-	     <<"  - listTask" << std::endl
-	     << " - writegraph FileName" << std::endl;
-	}
-      else if( functionName=="list" )
-	{
-	  //FIXME: list entities from dg::pool ?
-
-	}
-      else if( functionName=="listTask" )
-	{
-	  for( Tasks::iterator iter=task.begin();
-	       iter!=task.end();iter++ )
-	    {
-	      sotTaskAbstract* ent = iter->second;
-	      os << ent->getName()
-		 <<" (" << ent->getClassName() << ")" << std::endl;
-	    }
-
-	}
-      else if( functionName=="listFeature" )
-	{
-	  for( Features::iterator iter=feature.begin();
-	       iter!=feature.end();iter++ )
-	    {
-	      sotFeatureAbstract* ent = iter->second;
-	      os << ent->getName()
-		 <<" (" << ent->getClassName() << ")" << std::endl;
-	    }
-
-	}
-      else if (functionName=="writegraph")
-	{
-	  std::string aFileName;
-	  cmdArg >> aFileName;
-	  writeGraph(aFileName);
-	}
-
-    }
-  else
-    {
-      //DISABLED
-	  //Entity& ent = getEntity(objectName);
-      //ent.commandLine(functionName,cmdArg,os);
-    }
-}
-
-
-sotPoolStorage sotPool;
-
diff --git a/src/factory/sotPool.h b/src/factory/sotPool.h
deleted file mode 100644
index 69eb96c7..00000000
--- a/src/factory/sotPool.h
+++ /dev/null
@@ -1,144 +0,0 @@
-
-/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- * Copyright Projet JRL-Japan, 2007
- *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- *
- * File:      sotPool.h
- * Project:   SOT
- * Author:    Nicolas Mansard
- *
- * Version control
- * ===============
- *
- *  $Id$
- *
- * Description
- * ============
- *
- *
- * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-
-
-
-#ifndef __SOT_POOL_HH__
-#define __SOT_POOL_HH__
-
-/* --------------------------------------------------------------------- */
-/* --- INCLUDE --------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/* --- STD --- */
-#include <map>
-#include <string>
-#include <sstream>
-
-/* --- SOT --- */
-#include <sot-core/exception-factory.h>
-#include <dynamic-graph/signal-base.h>
-#include <sot-core/sot-core-api.h>
-#include <dynamic-graph/pool.h>
-
-class sotFeatureAbstract;
-class sotTaskAbstract;
-
-/* --------------------------------------------------------------------- */
-/* --- CLASS ----------------------------------------------------------- */
-/* --------------------------------------------------------------------- */
-
-/*! @ingroup factory
-  \brief This class keep tracks of all the objects in the stack of Tasks.
-
-  Three kinds of objects are handled:
-  \li The controllers, i.e. the tasks which inherits from sotTaskAbstract.
-  \li The features, i.e. the information which inherits from sotFeatureAbstract.
-
-  \li Any object which need to be inside the SoT and which inherits from Entity.
-
-  This class provides the necessary operations to register, unregister each
-  instance of thoses classes.
-  As tasks and features derived from Entities, they should be registered
-  as such.
-
-  \note From the code it is not very clear why we should not unregister
-  from the tasks and the features...
-
-  The role of this class is also to look for the object supporting
-  a command, and to apply this command.
-
-  It also returns references to signals from their fully-qualified names.
- */
-class SOT_CORE_EXPORT sotPoolStorage
-{
- public:
-  /*! \name Define types to simplify the writing
-    @{
-   */
-  /*! \brief Sorted set of tasks with unique key (name). */
-  typedef std::map< std::string,sotTaskAbstract* > Tasks;
-
-  /*! \brief Sorted set of features with unique key (name). */
-  typedef std::map< std::string,sotFeatureAbstract* > Features;
-  /*! @} */
-
- protected:
-  /*! \name Fields of the class to manage the three entities.
-    Also the name is singular, those are true sets.
-    @{
-  */
-
-  /*! \brief Set of controllers */
-  Tasks task;
-
-  /*! \brief Set of features */
-  Features feature;
-  /*! @} */
-
- public:
-  /*! \brief Default destructor */
-  ~sotPoolStorage( void );
-
-  /*! \name Methods related to the handling of the features
-    @{
-   */
-  /*! \brief Registering a feature. */
-  void registerFeature( const std::string& entname,sotFeatureAbstract* ent );
-
-  /*! \brief Get a reference to a feature. */
-  sotFeatureAbstract& getFeature( const std::string& name );
-  /*! @} */
-
-  /*! \name Methods related to the handling of the tasks
-    @{
-   */
-  /*! \brief Registering a task. */
-  void registerTask( const std::string& entname,sotTaskAbstract* ent );
-  /*! \brief Get a reference to a task. */
-  sotTaskAbstract& getTask( const std::string& name );
-  /*! @} */
-
-  /*! \brief This method looks for the object named objectName,
-    and ask to provide the function functionName with the arguments cmdArg.
-    If the method of the object displays some information this will
-    be done on os.
-
-    The commands specific to the <b>pool<\b> object are:
-    \li <b>list</b> : List all the entities registered in the pool.
-    \li <b>listFeature</b> : List all the features registered in the pool.
-    \li <b>listTask</b> : List all the tasks registered in the pool.
-  */
-  void commandLine( const std::string& objectName,const std::string& functionName,
-		    std::istringstream& cmdArg, std::ostream& os );
-
-  /*! \brief This method write a graph description on the file named FileName. */
-  void writeGraph(const std::string &aFileName);
-  void writeCompletionList(std::ostream& os);
-};
-
-
-SOT_CORE_EXPORT extern sotPoolStorage sotPool;
-
-#endif /* #ifndef __SOT_POOL_HH__ */
-
-
-
-
diff --git a/src/feature/sotFeature1D.cpp b/src/feature/sotFeature1D.cpp
index d27ea722..63d5301a 100644
--- a/src/feature/sotFeature1D.cpp
+++ b/src/feature/sotFeature1D.cpp
@@ -28,7 +28,7 @@
 #include <sot-core/exception-feature.h>
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeature1D,"Feature1D");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/feature/sotFeatureAbstract.cpp b/src/feature/sotFeatureAbstract.cpp
index dbfb8195..ab2374c0 100644
--- a/src/feature/sotFeatureAbstract.cpp
+++ b/src/feature/sotFeatureAbstract.cpp
@@ -18,7 +18,7 @@
  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 
 #include <sot-core/sotFeatureAbstract.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 
 const std::string 
 sotFeatureAbstract::CLASS_NAME = "FeatureAbstract";
diff --git a/src/feature/sotFeatureGeneric.cpp b/src/feature/sotFeatureGeneric.cpp
index 9ed33cf2..ccc988e2 100644
--- a/src/feature/sotFeatureGeneric.cpp
+++ b/src/feature/sotFeatureGeneric.cpp
@@ -28,7 +28,7 @@
 #include <sot-core/exception-feature.h>
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeatureGeneric,"FeatureGeneric");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/feature/sotFeatureJointLimits.cpp b/src/feature/sotFeatureJointLimits.cpp
index e31866c9..8de7b186 100644
--- a/src/feature/sotFeatureJointLimits.cpp
+++ b/src/feature/sotFeatureJointLimits.cpp
@@ -28,7 +28,7 @@
 #include <sot-core/sotDebug.h>
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeatureJointLimits,"FeatureJointLimits");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/feature/sotFeatureLineDistance.cpp b/src/feature/sotFeatureLineDistance.cpp
index 46b61926..1508fe8c 100644
--- a/src/feature/sotFeatureLineDistance.cpp
+++ b/src/feature/sotFeatureLineDistance.cpp
@@ -33,7 +33,7 @@
 
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeatureLineDistance,"FeatureLineDistance");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/feature/sotFeaturePoint6d.cpp b/src/feature/sotFeaturePoint6d.cpp
index 61c5760b..d9d15959 100644
--- a/src/feature/sotFeaturePoint6d.cpp
+++ b/src/feature/sotFeaturePoint6d.cpp
@@ -35,7 +35,7 @@
 
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeaturePoint6d,"FeaturePoint6d");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/feature/sotFeaturePoint6dRelative.cpp b/src/feature/sotFeaturePoint6dRelative.cpp
index 519e4387..79b52ff5 100644
--- a/src/feature/sotFeaturePoint6dRelative.cpp
+++ b/src/feature/sotFeaturePoint6dRelative.cpp
@@ -34,7 +34,7 @@
 
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeaturePoint6dRelative,"FeaturePoint6dRelative");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/feature/sotFeatureTask.cpp b/src/feature/sotFeatureTask.cpp
index 7d290820..008f694e 100644
--- a/src/feature/sotFeatureTask.cpp
+++ b/src/feature/sotFeatureTask.cpp
@@ -29,7 +29,7 @@
 #include <dynamic-graph/pool.h>
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeatureTask,"FeatureTask");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/feature/sotFeatureVector3.cpp b/src/feature/sotFeatureVector3.cpp
index e09009c8..cdbe89ee 100644
--- a/src/feature/sotFeatureVector3.cpp
+++ b/src/feature/sotFeatureVector3.cpp
@@ -35,7 +35,7 @@
 
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeatureVector3,"FeatureVector3");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/feature/sotFeatureVisualPoint.cpp b/src/feature/sotFeatureVisualPoint.cpp
index 0c5e1acd..07ce16ea 100644
--- a/src/feature/sotFeatureVisualPoint.cpp
+++ b/src/feature/sotFeatureVisualPoint.cpp
@@ -28,7 +28,7 @@
 #include <sot-core/sotDebug.h>
 using namespace std;
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_FEATURE_PLUGIN(sotFeatureVisualPoint,"FeatureVisualPoint");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/math/sotOpPointModifior.cpp b/src/math/sotOpPointModifior.cpp
index 31c27e73..c1f5457f 100644
--- a/src/math/sotOpPointModifior.cpp
+++ b/src/math/sotOpPointModifior.cpp
@@ -23,7 +23,7 @@
 #include <sot-core/sotMatrixTwist.h>
 
 #include <dynamic-graph/pool.h>
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotOpPointModifior,"OpPointModifior");
 
 using namespace std;
diff --git a/src/matrix/sotBinaryOp.cpp b/src/matrix/sotBinaryOp.cpp
index dcbaecf9..3ce2c2d9 100644
--- a/src/matrix/sotBinaryOp.cpp
+++ b/src/matrix/sotBinaryOp.cpp
@@ -19,7 +19,7 @@
 
 #include <sot-core/sotBinaryOp.h>
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 #include <sot-core/sotMatrixHomogeneous.h>
 #include <sot-core/sotVectorRollPitchYaw.h>
 #include <sot-core/sotMatrixRotation.h>
diff --git a/src/matrix/sotDerivator.cpp b/src/matrix/sotDerivator.cpp
index e5971723..eda463eb 100644
--- a/src/matrix/sotDerivator.cpp
+++ b/src/matrix/sotDerivator.cpp
@@ -18,7 +18,7 @@
  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 
 #include <sot-core/sotDerivator.h>
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 
 
 
diff --git a/src/matrix/sotFIRFilter.cpp b/src/matrix/sotFIRFilter.cpp
index f074d8f2..c107b754 100644
--- a/src/matrix/sotFIRFilter.cpp
+++ b/src/matrix/sotFIRFilter.cpp
@@ -19,7 +19,7 @@
 
 #include <sot-core/sotFIRFilter.h>
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 
 #define SOT_FACTORY_TEMPLATE_ENTITY_PLUGIN(sotClassType,sotSigType,sotCoefType,id,className) \
   template<>								\
diff --git a/src/matrix/sotIntegratorAbstract.cpp b/src/matrix/sotIntegratorAbstract.cpp
index cea8d806..d1b1734f 100644
--- a/src/matrix/sotIntegratorAbstract.cpp
+++ b/src/matrix/sotIntegratorAbstract.cpp
@@ -19,7 +19,7 @@
 
 #include <sot-core/sotIntegratorAbstract.h>
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 
 #define SOT_FACTORY_TEMPLATE_ENTITY_PLUGIN(sotClassType,sotSigType,sotCoefType,className)   \
   template<>                                                                                \
diff --git a/src/matrix/sotIntegratorEuler.cpp b/src/matrix/sotIntegratorEuler.cpp
index c7d469d1..168677ec 100644
--- a/src/matrix/sotIntegratorEuler.cpp
+++ b/src/matrix/sotIntegratorEuler.cpp
@@ -19,7 +19,7 @@
 
 #include <sot-core/sotIntegratorEuler.h>
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 
 #define SOT_FACTORY_TEMPLATE_ENTITY_PLUGIN(sotClassType,sotSigType,sotCoefType,className)   \
   template<>                                                                                \
diff --git a/src/matrix/sotMatrixConstant.cpp b/src/matrix/sotMatrixConstant.cpp
index 8e887c5f..10a540bb 100644
--- a/src/matrix/sotMatrixConstant.cpp
+++ b/src/matrix/sotMatrixConstant.cpp
@@ -19,7 +19,7 @@
 
 #include <sot-core/sotMatrixConstant.h>
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotMatrixConstant,"MatrixConstant");
 
 using namespace std;
diff --git a/src/matrix/sotUnaryOp.cpp b/src/matrix/sotUnaryOp.cpp
index 9d3ac2a6..0fa7b63a 100644
--- a/src/matrix/sotUnaryOp.cpp
+++ b/src/matrix/sotUnaryOp.cpp
@@ -19,7 +19,7 @@
 
 #include <sot-core/sotUnaryOp.h>
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 
 #include <sot-core/sotMatrixHomogeneous.h>
 #include <sot-core/sotMatrixTwist.h>
diff --git a/src/matrix/sotVectorConstant.cpp b/src/matrix/sotVectorConstant.cpp
index 9439083e..fb40bda3 100644
--- a/src/matrix/sotVectorConstant.cpp
+++ b/src/matrix/sotVectorConstant.cpp
@@ -19,7 +19,7 @@
 
 #include <sot-core/sotVectorConstant.h>
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotVectorConstant,"VectorConstant");
 
 using namespace std;
diff --git a/src/matrix/sotVectorToRotation.cpp b/src/matrix/sotVectorToRotation.cpp
index d8438f5e..5934e440 100644
--- a/src/matrix/sotVectorToRotation.cpp
+++ b/src/matrix/sotVectorToRotation.cpp
@@ -19,8 +19,8 @@
 
 #include <sot-core/sotVectorToRotation.h>
 
-#include <sot-core/sotFactory.h>
-#include <sot-core/sotMacrosSignal.h>
+#include <sot-core/factory.h>
+#include <sot-core/macros-signal.h>
 #include <sot-core/sotDebug.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotVectorToRotation,"VectorToRotation");
 
diff --git a/src/sot/sotSOT.cpp b/src/sot/sotSOT.cpp
index f5721b8e..d974e936 100644
--- a/src/sot/sotSOT.cpp
+++ b/src/sot/sotSOT.cpp
@@ -35,7 +35,7 @@
 #endif //#ifdef VP_DEBUG
 
 #include <sot-core/sotSOT.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 #include <sot-core/sotTask.h>
 #include <sot-core/sotMemoryTaskSOT.h>
 
@@ -46,7 +46,7 @@ using namespace std;
 /* --------------------------------------------------------------------- */
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotSOT,"SOT");
 
 
diff --git a/src/sot/sotSOTH.cpp b/src/sot/sotSOTH.cpp
index 098968ec..9066db31 100644
--- a/src/sot/sotSOTH.cpp
+++ b/src/sot/sotSOTH.cpp
@@ -30,7 +30,7 @@
 
 
 #include <sot-core/sotSOTH.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 #include <sot-core/sotTask.h>
 #include <sot-core/sotTaskUnilateral.h>
 
@@ -42,7 +42,7 @@ using namespace std;
 /* --------------------------------------------------------------------- */
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotSOTH,"SOTH");
 
 
diff --git a/src/sot/sotSOTQr.cpp b/src/sot/sotSOTQr.cpp
index 933a9030..3d4014e6 100644
--- a/src/sot/sotSOTQr.cpp
+++ b/src/sot/sotSOTQr.cpp
@@ -31,7 +31,7 @@
 
 
 #include <sot-core/sotSOTQr.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 #include <sot-core/sotTask.h>
 #include <sot-core/sotSOT.h>
 #include <sot-core/sotMemoryTaskSOT.h>
@@ -45,7 +45,7 @@ using namespace std;
 /* --------------------------------------------------------------------- */
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotSOTQr,"SOTQr");
 
 
diff --git a/src/sot/sotWeightedSOT.cpp b/src/sot/sotWeightedSOT.cpp
index c7bf7c7c..f258d22e 100644
--- a/src/sot/sotWeightedSOT.cpp
+++ b/src/sot/sotWeightedSOT.cpp
@@ -25,7 +25,7 @@
 /* SOT */
 #include <sot-core/sotWeightedSOT.h>
 #include <sot-core/sotMemoryTaskSOT.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 #include <sot-core/sotTask.h>
 #include <sot-core/sotDebug.h>
 using namespace std;
@@ -35,7 +35,7 @@ using namespace std;
 /* --------------------------------------------------------------------- */
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotWeightedSOT,"WSOT");
 
 /* --------------------------------------------------------------------- */
diff --git a/src/task/sotConstraint.cpp b/src/task/sotConstraint.cpp
index eec949c4..dd7abaf9 100644
--- a/src/task/sotConstraint.cpp
+++ b/src/task/sotConstraint.cpp
@@ -29,7 +29,7 @@ using namespace std;
 
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_TASK_PLUGIN(sotConstraint,"Constraint");
 
 
diff --git a/src/task/sotGainAdaptative.cpp b/src/task/sotGainAdaptative.cpp
index 088cabcb..19d7c0dd 100644
--- a/src/task/sotGainAdaptative.cpp
+++ b/src/task/sotGainAdaptative.cpp
@@ -26,7 +26,7 @@
 /* --------------------------------------------------------------------- */
 /* --------------------------------------------------------------------- */
 #include <sot-core/sotDebug.h>
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 #include <sot-core/exception-signal.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotGainAdaptative,"GainAdaptative");
 
diff --git a/src/task/sotGainHyperbolic.cpp b/src/task/sotGainHyperbolic.cpp
index a0851db8..f3d2f57f 100644
--- a/src/task/sotGainHyperbolic.cpp
+++ b/src/task/sotGainHyperbolic.cpp
@@ -25,7 +25,7 @@
 /* --------------------------------------------------------------------- */
 /* --------------------------------------------------------------------- */
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 #include <sot-core/sotDebug.h>
 #include <sot-core/exception-signal.h>
 SOT_FACTORY_ENTITY_PLUGIN(sotGainHyperbolic,"GainHyperbolic");
diff --git a/src/task/sotTask.cpp b/src/task/sotTask.cpp
index 9347dc43..93a4cdb4 100644
--- a/src/task/sotTask.cpp
+++ b/src/task/sotTask.cpp
@@ -29,7 +29,7 @@ using namespace std;
 
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_TASK_PLUGIN(sotTask,"Task");
 
 
@@ -306,7 +306,7 @@ display( std::ostream& os ) const
 /* --- PARAMS --------------------------------------------------------------- */
 /* --- PARAMS --------------------------------------------------------------- */
 /* --- PARAMS --------------------------------------------------------------- */
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 
 static void readListIdx( std::istringstream& cmdArgs,
 			 unsigned int & idx_beg,unsigned int &idx_end,
diff --git a/src/task/sotTaskAbstract.cpp b/src/task/sotTaskAbstract.cpp
index ed6f8e2c..56230461 100644
--- a/src/task/sotTaskAbstract.cpp
+++ b/src/task/sotTaskAbstract.cpp
@@ -23,7 +23,7 @@
 
 /* SOT */
 #include <sot-core/sotTaskAbstract.h>
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 
 
 /* --------------------------------------------------------------------- */
diff --git a/src/task/sotTaskConti.cpp b/src/task/sotTaskConti.cpp
index 42d4b951..de412df2 100644
--- a/src/task/sotTaskConti.cpp
+++ b/src/task/sotTaskConti.cpp
@@ -30,7 +30,7 @@ using namespace std;
 
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_TASK_PLUGIN(sotTaskConti,"TaskConti");
 
 
diff --git a/src/task/sotTaskPD.cpp b/src/task/sotTaskPD.cpp
index aad7955c..5c10cd01 100644
--- a/src/task/sotTaskPD.cpp
+++ b/src/task/sotTaskPD.cpp
@@ -29,7 +29,7 @@ using namespace std;
 
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 
 SOT_FACTORY_TASK_PLUGIN(sotTaskPD,"TaskPD");
 
@@ -108,7 +108,7 @@ computeTaskModif( sotVectorMultiBound& task,int time )
 /* --- PARAMS --------------------------------------------------------------- */
 /* --- PARAMS --------------------------------------------------------------- */
 /* --- PARAMS --------------------------------------------------------------- */
-#include <sot-core/sotPool.h>
+#include <sot-core/pool.h>
 
 void sotTaskPD::
 commandLine( const std::string& cmdLine
diff --git a/src/task/sotTaskUnilateral.cpp b/src/task/sotTaskUnilateral.cpp
index 35ee03c1..77b12b2a 100644
--- a/src/task/sotTaskUnilateral.cpp
+++ b/src/task/sotTaskUnilateral.cpp
@@ -32,7 +32,7 @@ using namespace std;
 
 
 
-#include <sot-core/sotFactory.h>
+#include <sot-core/factory.h>
 SOT_FACTORY_TASK_PLUGIN(sotTaskUnilateral,"TaskUnilateral");
 
 
-- 
GitLab