diff --git a/include/dynamic-graph/entity.h b/include/dynamic-graph/entity.h
index ea5ed24ca0a10fa070991f754e9963a861a7e3c4..2cd095c713caa0d8d3e0834fb773cad2ab06404d 100644
--- a/include/dynamic-graph/entity.h
+++ b/include/dynamic-graph/entity.h
@@ -47,6 +47,8 @@ namespace dynamicgraph
   class DYNAMIC_GRAPH_DLLAPI Entity : private boost::noncopyable
   {
   public:
+    typedef std::map< std::string,SignalBase<int>* > SignalMap;
+
     static const std::string CLASS_NAME;
 
     explicit Entity (const std::string& name);
@@ -90,10 +92,8 @@ namespace dynamicgraph
     virtual std::map<const std::string, command::Command*>
       getNewStyleCommandMap();
 
-
+    virtual SignalMap getSignalMap() const;
   protected:
-    typedef std::map< std::string,SignalBase<int>* > SignalMap;
-
     /// Add a command to Entity
     virtual void addCommand(const std::string& name,
 			    command::Command* command);
diff --git a/src/dgraph/entity.cpp b/src/dgraph/entity.cpp
index 4bd0d63f76748ee8c1280bd9a4cf3be5838d867a..83a920a46fe4582e968ba43f92f63365812dae43 100644
--- a/src/dgraph/entity.cpp
+++ b/src/dgraph/entity.cpp
@@ -213,6 +213,11 @@ std::ostream& dynamicgraph::operator<< (std::ostream& os, const Entity& ent )
   return os;
 }
 
+Entity::SignalMap Entity::getSignalMap() const
+{
+  return signalMap;
+}
+
 /* --- PARAMS --------------------------------------------------------------- */
 /* --- PARAMS --------------------------------------------------------------- */
 /* --- PARAMS --------------------------------------------------------------- */