--- /dev/null
+#!/bin/bash
+# creates the file architecture for a new user package
+
+if [ $# -lt 3 ]
+ then
+ echo "usage : bbCreateBox <template-xml-file-name> <box-name> <package-name> [author] [description] [category]"
+ exit
+fi
+
+# bbCreatePackage path
+TMP=$(which $0|rev)
+BINPATH=$(echo ${TMP#*/}|rev)
+# Input data path
+#INPUT=${BINPATH}/@bbCreateBox_DATA_REL_PATH_FROM_BIN@/$1
+INPUT=$1
+
+BBCB_BOX_NAME=$2
+BBCB_PACKAGE_NAME=$3
+BBCB_AUTHOR=$4
+BBCB_DESCRIPTION=$5
+BBCB_CATEGORY=$6
+
+echo "input = " $INPUT
+echo "box name = " $BBCB_BOX_NAME
+echo "package = " $BBCB_PACKAGE_NAME
+echo "author = " $BBCB_AUTHOR
+echo "description = " $BBCB_DESCRIPTION
+echo "category = " $BBCB_CATEGORY
+
+sed s,BBCB_BOX_NAME,"${BBCB_BOX_NAME}", < $INPUT | sed s/BBCB_AUTHOR/"${BBCB_AUTHOR}"/ | sed s{BBCB_DESCRIPTION{"${BBCB_DESCRIPTION}"{ | sed s/BBCB_CATEGORY/"${BBCB_CATEGORY}"/ > bb${BBCB_PACKAGE_NAME}${BBCB_BOX_NAME}.xml
+
+
--- /dev/null
+#============================================================================
+# STARTS THE DESCRIPTION OF THE BLACK BOX
+<blackbox name="BBCB_BOX_NAME">
+#============================================================================
+
+ #============================================================================
+ # THE BOX DOCUMENTATION
+ <author>BBCB_AUTHOR</author>
+ <description>BBCB_DESCRIPTION</description>
+ <category>BBCB_CATEGORY</category>
+ #============================================================================
+
+ #============================================================================
+ # #include directives to be put in the .h generated
+ # There must be one tag per file to include
+ # Here we include the standard header iostream.h
+ <include><PRE>
+ iostream.h
+ </PRE></include>
+ #============================================================================
+
+ #============================================================================
+ # INPUTS/OUTPUTS DECLARATION
+ # Declares an input with name 'In', type 'double' and description 'First input'
+ <input name="In" type="double" description="First input"/>
+ # Declares an output with name 'Out', type 'double' and description 'First output'
+ <output name="Out" type="double" description="First output"/>
+ #============================================================================
+
+ #============================================================================
+ # THE PROCESSING METHOD BODY :
+ # Here simpy copies the value of the input 'In' to the output 'Out'
+ # INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
+ # void bbSet{Input|Output}NAME(const TYPE&)
+ # const TYPE& bbGet{Input|Output}NAME() const
+ # Where :
+ # * NAME is the name of the input/output
+ # (the one provided in the attribute 'name' of the tag <input>)
+ # * TYPE is the C++ type of the input/output
+ # (the one provided in the attribute 'type' of the tag <input>)
+ <process><PRE>
+ bbSetOutputOut( bbGetInputIn() );
+ std::cout << "Here I am !" << std::endl;
+ </PRE></process>
+ #============================================================================
+
+ #============================================================================
+ # CONSTRUCTORS / DESTRUCTORS (OPTIONAL)
+ # THE CONSTRUCTION METHOD BODY :
+ # Here initializes the input 'In' to 0
+ # This is also where you should allocate the output pointers
+ <constructor><PRE>
+ bbSetInputIn(0);
+ </PRE></constructor>
+ # THE COPY-CONSTRUCTION METHOD BODY :
+ # Here does nothing
+ # But this is where you should allocate the output pointers if any
+ # and copy the pointed values (to avoid bug caused by multiple references)
+ <copyconstructor><PRE>
+ </PRE></copyconstructor>
+ # THE DESTRUCTION METHOD BODY :
+ # Here does nothing
+ # but this is where you should desallocate the output pointers if any
+ <destructor><PRE>
+ </PRE></destructor>
+ #============================================================================
+
+#============================================================================
+# END OF BLACK BOX DESCRIPTION
+</blackbox>
+#============================================================================