Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters.cpp	(revision 3)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters.cpp	(revision 3)
@@ -0,0 +1,41 @@
+#ifdef CONFIGURATION
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/include/Configuration_Parameters.h"
+
+namespace morpheo              {
+namespace behavioural          {
+    
+  Configuration_Parameters::Configuration_Parameters  (string   name   ,
+						       uint32_t value  ,
+						       uint32_t min    ,
+						       uint32_t max    ,
+						       string   step   ,
+						       uint32_t value_default,
+						       uint32_t level  ,
+						       string   comment):
+    _name    (name         ),
+    _value   (value        ),
+    _min     (min          ),
+    _max     (max          ),
+    _step    (step         ),
+    _default (value_default),
+    _level   (level        ),
+    _comment (comment      )
+  {
+    if ((value<min) or (value>max))
+      throw (ErrorMorpheo ("Parameters \""+name+"\" is out of bound : "+toString(value)+" not include in ["+toString(min)+":"+toString(max)+"]"));
+  };
+    
+  Configuration_Parameters::~Configuration_Parameters () 
+  {
+  };
+
+}; // end namespace behavioural          
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters_print.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters_print.cpp	(revision 3)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Configuration_Parameters_print.cpp	(revision 3)
@@ -0,0 +1,44 @@
+#ifdef CONFIGURATION
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/include/Configuration_Parameters.h"
+
+
+namespace morpheo              {
+namespace behavioural          {
+
+  string Configuration_Parameters::print (uint32_t depth)
+  {
+    XML * xml = new XML (_name);
+    
+    xml->balise_open_begin("generic");
+    xml->  attribut("name"   ,         _name  );
+    xml->  attribut("value"  ,toString(_value));
+    xml->  attribut("min"    ,toString(_min  ));
+    xml->  attribut("max"    ,toString(_max  ));
+    xml->  attribut("step"   ,         _step  );
+    xml->  attribut("default",toString(_value));
+    xml->  attribut("level"  ,toString(_level));
+    xml->balise_open_end  ();
+    xml->  text  (_comment);
+    xml->balise_close();
+    
+    return xml->get_body(depth);
+  };
+  
+  ostream& operator<< (ostream& output_stream,
+		       morpheo::behavioural::Configuration_Parameters & x)
+  {
+    output_stream << x.print(0);
+
+    return output_stream;
+  };
+
+}; // end namespace behavioural          
+}; // end namespace morpheo              
+#endif
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML.cpp	(revision 2)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML.cpp	(revision 3)
@@ -11,15 +11,7 @@
 namespace behavioural          {
 
-  XML::XML  (string filename) :
-    _filename (filename)
+  XML::XML  (string name) :
+    _name (name)
   {
-    header ("UTF-8");
-  };
-
-  XML::XML  (string filename,
-	     string encoding) :
-    _filename (filename)
-  {
-    header(encoding);
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_balise_open_end.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_balise_open_end.cpp	(revision 2)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_balise_open_end.cpp	(revision 3)
@@ -13,5 +13,5 @@
   bool XML::balise_open_end (void)
   {
-    _body += ">\n";
+    _body += " >\n";
 
     return true;
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_generate_file.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_generate_file.cpp	(revision 2)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_generate_file.cpp	(revision 3)
@@ -7,10 +7,30 @@
 
 #include "Behavioural/include/XML.h"
+#include <fstream>
+using namespace std;
 
 namespace morpheo              {
 namespace behavioural          {
 
+  void XML::generate_file (string encoding)
+  {
+    header (encoding);
+
+    string name     = _name;
+    string filename =  name + ".xml";
+
+    cout << "Generate file \""<< filename << "\"" << endl;
+
+    ofstream file;
+    file.open(filename.c_str(),ios::out | ios::trunc);
+
+    file << get_body();
+
+    file.close();
+  };
+
   void XML::generate_file (void)
   {
+    generate_file("UTF-8");
   };
 
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_get_body.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_get_body.cpp	(revision 2)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_get_body.cpp	(revision 3)
@@ -16,4 +16,16 @@
   };
 
+  string XML::get_body (uint32_t depth)
+  {
+    string body       = _body;
+    string tabulation = indent(depth);
+
+    body.insert(0,tabulation);
+    for (size_t pos=body.find('\n',0); pos<body.length()-1; pos=body.find('\n',++pos))
+      body.insert(++pos,tabulation);
+
+    return body;
+  };
+
 }; // end namespace behavioural          
 }; // end namespace morpheo              
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_header.cpp
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_header.cpp	(revision 2)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/src/XML_header.cpp	(revision 3)
@@ -13,5 +13,5 @@
   void XML::header (string encoding)
   {
-    _body += "<?xml version=\"1.0\" encoding=\""+encoding+"\"?>\n";
+    _body = "<?xml version=\"1.0\" encoding=\""+encoding+"\" ?>\n" + _body;
   };
 
