diff --git a/include/dynamic-graph/entity.h b/include/dynamic-graph/entity.h
index a461cdccba32cbb9ad103582419e819656a4bf25..f0bc3e0e0ec831d7b292896d73e1262117514af9 100644
--- a/include/dynamic-graph/entity.h
+++ b/include/dynamic-graph/entity.h
@@ -83,7 +83,7 @@ namespace dynamicgraph
       return name;
     }
     virtual const std::string& getClassName  () const = 0;
-
+    virtual std::string getDocString () const;
     SignalBase<int>& getSignal (const std::string& signalName);
     const SignalBase<int>& getSignal (const std::string& signalName) const;
     std::ostream& displaySignalList(std::ostream& os) const;
diff --git a/src/dgraph/entity.cpp b/src/dgraph/entity.cpp
index 8831af40e24f68737f1b811d03708f1cb113aa70..44c402ce91a13ca6010fbb232bc0ce378abf333c 100644
--- a/src/dgraph/entity.cpp
+++ b/src/dgraph/entity.cpp
@@ -132,6 +132,12 @@ signalDeregistration( const std::string& signame )
 }
 
 
+std::string Entity::getDocString () const
+{
+  std::string docString ("No header documentation.");
+  return docString;
+}
+
 #define __DG_ENTITY_GET_SIGNAL__(ITER_TYPE) \
   SignalMap::ITER_TYPE sigkey = signalMap.find(signame); \
   if( sigkey == signalMap.end () ) /* key does NOT exist */ \