Index: /vtcross/trunk/src/include/vtcross/error.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/error.h	(revision 411)
+++ /vtcross/trunk/src/include/vtcross/error.h	(revision 518)
@@ -15,5 +15,7 @@
 */
 
-/* DESCRIPTION OF FILE.
+/*! This header defines macros for printing to standard error out.  The macros
+ * in this file should be used rather than printing to stderr with fprintf or
+ * exiting with a hard-coded 'exit' call.
  */
 
Index: /vtcross/trunk/src/include/vtcross/libvtcross.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/libvtcross.h	(revision 498)
+++ /vtcross/trunk/src/include/vtcross/libvtcross.h	(revision 518)
@@ -15,14 +15,15 @@
 */
 
-/* VTCROSS Cognitive Radio API
+/*! CROSS Cognitive Radio API
  *
- * This header exports all public functions that comprise the VTCROSS function
- * library.  
+ * This header exports all public functions that comprise the CROSS function
+ * library.  These are the functions that are used by the host application to
+ * control the CROSS radio.  
  *
  * PUT MORE STUFF HERE
  */
 
-#ifndef LIBVTCROSS_H
-#define LIBVTCROSS_H
+#ifndef LIBCROSS_H
+#define LIBCROSS_H
 
 #include <stdint.h>
@@ -33,5 +34,7 @@
 
 
-/* Sets the location of the shell component that the client code will be
+/*! \brief Tell the system where the Shell component is located. 
+ *
+ * Sets the location of the shell component that the client code will be
  * communicating with. Note that this can be a local or remote destination.
  */
@@ -39,5 +42,5 @@
 
 
-/* Parses VTCROSS XML configuration file and uses it to configure the radio. 
+/*! \brief  Parses XML configuration file and uses it to configure the radio. 
  *
  * This function *must* be called when the radio first starts up, and may be
@@ -47,6 +50,5 @@
 
 
-/* Lists current radio configuration options loaded from the configuration XML
- * file. 
+/*! \brief Lists current radio configuration options loaded from the XML.
  *
  * TODO How are we listing these?  Are we simply returning them to stdout?
@@ -56,5 +58,5 @@
 
 
-/* View data from the current status of the radio. 
+/*! \brief View data from the current status of the radio. 
  *
  * This function allows client code to capture radio properties at any certain
@@ -68,5 +70,5 @@
 
 
-/* View components currently connected to the radio by id. 
+/*! \brief View components currently connected to the radio by id. 
  *
  * TODO Should there be another way to list components? If you have 10 cognitive
@@ -79,5 +81,5 @@
 
 
-/* Look up component information by id. 
+/*! \brief Look up component information by id. 
  *
  * Note that the return type is of abstract base class component, which can then
@@ -87,6 +89,6 @@
 
 
-/* Given a certain set of observables, ask the radio to find the optimum radio
- * parameters and return them. 
+/*! \brief  Given a certain set of observables, ask the radio to find the 
+ * optimum radio parameters and return them. 
  *
  * TODO I'm a little confused about this function... why would anyone need to
@@ -97,14 +99,12 @@
 
 
-/* Update the radio regarding its performance for a certain set of transmission
- * parameters, observables, and utilities.
+/*! \brief  Update the radio regarding its performance.
  *
- * TODO Where in the function parameters are we accurately representing the
- * radio's performance?
+ * TODO
  */
 bool UpdateParameterPerformance(Parameter *p, uint32_t numParameters, Observable *o, \
         uint32_t numObservables);
 
-/* Deactivate/Activate/Disconnect a component by id.
+/*! \brief Deactivate/Activate/Disconnect a component by id.
  */
 bool ActivateComponent(uint32_t id);
@@ -112,7 +112,9 @@
 bool DisconnectComponent(uint32_t id);
 
+/*! \brief Set the active mission of the CROSS radio.
+ */
 uint32_t SetActiveMission(char * activeMission);
 
-/* Shut down the radio.
+/*! \brief Shut down the radio.
  *
  * This function will deactivate and disconnect all radio components before
@@ -121,5 +123,5 @@
 bool Shutdown();
 
-/* Return total number of currently recognized transmission parameters.
+/*! \brief Return total number of currently recognized transmission parameters.
  */
 uint32_t GetNumParameters();
Index: /vtcross/trunk/src/include/vtcross/cognitive_engine.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/cognitive_engine.h	(revision 465)
+++ /vtcross/trunk/src/include/vtcross/cognitive_engine.h	(revision 518)
@@ -15,5 +15,5 @@
 */
 
-/* This header exports the declaration for the Cognitive Engine component type.
+/*! This header exports the declaration for the Cognitive Engine component type.
  */
 
@@ -25,14 +25,21 @@
 
 
-/* Cognitive Engine class declaration.  All public functions are inherited from
- * parent classes.
+/*! \brief Cognitive Engine class declaration.
+ *
+ * All public functions are inherited from parent classes.  Please see parent
+ * class definitions for function documentation.
  */
 class CognitiveEngine : public Engine
 {
     public:
+        /*! Default constructor. */
         CognitiveEngine();
+
+        /*! Default destructor. */
         ~CognitiveEngine();
 
-        /* Overloaded constructor that creates a cognitive engine object and
+        /*! \brief Preferred constructor.
+         *
+         * Overloaded constructor that creates a cognitive engine object and
          * connects it to either the shell or an SML, depening on the SML bool.
          */
@@ -53,22 +60,31 @@
 
     private:
-        /* Receive the transmitted radio configuration from the radio itself
-         * (the CE will not always be local to the radio).
-         */
+        /*! \brief Receive radio XML configuration.
+         * 
+         * Receive the transmitted radio configuration from the radio itself
+         * (the CE will not always be local to the radio). This gets passed
+         * through either the Shell or the SML. */
         void ReceiveRadioConfiguration();
 
-        /* Receive an 'experience' report from the radio.
-         */
+        /*! \brief Receive an 'experience' report from the radio.
+         *
+         * An experience report can be used to build the transmission history
+         * for a CE just starting up so that it has a moving start regarding
+         * parameter optimization. */
         void ReceiveExperience();
 
-        /* Find the most optimal set of transmission parameters given certain
+        /*! \brief Request that the CE optimize a set of parameters. 
+         *
+         * Find the most optimal set of transmission parameters given certain
          * observables and possibly a service if the SML component is present
-         * and active.
-         */
-        Parameter *GetSolution(Observable *observables, Parameter *currentParameters);
-        Parameter *GetSolution(Observable *observables, Parameter *currentParameters, \
-                std::string service);
+         * and active. */
+        Parameter *GetSolution(Observable *observables, \
+                Parameter *currentParameters);
+        Parameter *GetSolution(Observable *observables, \
+                Parameter *currentParameters, std::string service);
 
-        /* Receive a feedback from the radio regarding the performance of a
+        /*! \brief Receive feedback from the radio 
+         *
+         * Receive a feedback from the radio regarding the performance of a
          * certain set of parameters, possibly associated with a service.
          *
@@ -78,11 +94,12 @@
          * more accurate performance statistics. 
          */
-        void ReceiveFeedback(Observable *observables,\
-                Parameter *parameters);
-        void ReceiveFeedback(Observable *observables, \
-                Parameter *parameters, std::string service);
+        void ReceiveFeedback(Observable *observables,Parameter *parameters);
+        void ReceiveFeedback(Observable *observables, Parameter *parameters, \
+                std::string service);
 
 
-        /* BuildCognitiveEngine performs the CE implementation specific work
+        /*! \brief Initialize the CE and prepare it for operation. 
+         *
+         * BuildCognitiveEngine performs the CE implementation specific work
          * that defines the internals of a CE.  For example, a CBR CE engine
          * would build the case-base reasoner or create the database, a neural
@@ -92,5 +109,7 @@
         void BuildCognitiveEngine();
 
-        /* The SML_present bool reflects whether or not the remote component
+        /*! \brief Keept track of what this CE is connected to. 
+         *
+         * The SML_present bool reflects whether or not the remote component
          * this object is connected to is an SML.  If it isn't, then it must be
          * a shell.  The socketFD stores the socket file descriptor for this
Index: /vtcross/trunk/src/include/vtcross/cross_shell.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/cross_shell.h	(revision 465)
+++ /vtcross/trunk/src/include/vtcross/cross_shell.h	(revision 518)
@@ -15,6 +15,6 @@
 */
 
-/* This header exports the declaration for the VTCROSS Shell component, which is
- * a critical part of every VTCROSS system. 
+/*! This header exports the declaration for the CROSS Shell component, which is
+ * a critical part of every CROSS system. 
  */
 
@@ -26,13 +26,22 @@
 
 
-/* Cognitive Radio Shell class declaration. 
+/*! \brief Cognitive Radio Shell class declaration. 
+ *
+ * The CROSS Cognitive Radio Shell (CRS) is the central control component of
+ * most CROSS radios.  It is a requirement for any CROSS radio, regardless of
+ * the presence or lack thereof of the SML.
  */
 class CognitiveRadioShell 
 {
     public:
+        /*! \brief Default CRS costructor. */
         CognitiveRadioShell();
+
+        /*! \brief Default CRS destructor. */
         ~CognitiveRadioShell();
 
-        /* Overloaded constructor that creates a CR Shell object and loads the
+        /*! \brief Preferred CRS constructor.
+         *
+         * Overloaded constructor that creates a CR Shell object and loads the
          * passed radio configuration XML file.
          */
@@ -40,25 +49,45 @@
             int16_t policyPort, int16_t commandPort);
 
-        /* Ask for the component type of a remote component via sockets, or
-         * respond to such a query sent to the shell itself.
-         */
+        /*! \brief Request the component type of a remote component. */
         std::string GetRemoteComponentType(int32_t socketFD);
+
+        /*! \brief Respond to a request to identify component type. */
         void SendComponentType(int32_t socketFD);
 
+        /*! \brief Shutdown the CRS.
+         *
+         * Since the CRS is the central control component of the CROSS radio,
+         * shutting down the CRS will shutdown the entire radio.
+         */
         void Shutdown();
+
+        /*! \brief Restart the CRS.
+         *
+         * Restart the CRS component - reloads configuration files, and
+         * re-initializes the CRS component.
+         */
         void Reset();
         
-        /* Start all the socket servers */
+        /*! \brief Start the CRS's socket server. 
+         *
+         * This function will make the CRS create a socket server and begin
+         * listening for incoming connections from other components.
+         */
         void StartShellServer(); 
 
+        /*! \brief Load the radio configuration.
+         *
+         * This function reads in the radio's XML configuration file, which is
+         * typically located on the same system as the CRS, although it can also
+         * be passed to the CRS from the radio host platform if necessary.
+         */
         int32_t LoadRadioConfiguration(const char* radioConfig, Parameter* &pList, \
             Utility* &uList, Observable* &oList, Radio_Info* radioInfo);
     private:
-        /* Parse and load/reload policies into the policy engine.
-         */
-        void LoadPolicies();
-        void ReloadPolicies();
-
-        /* Register and Deregister the different components.
+        /*! \brief Handle component registration activities.
+         *
+         * Register and Deregister the different components.
+         * TODO Are multiple functions really necessary?  They are all basically
+         * doing the same thing...
          */
         void RegisterCognitiveEngine(int32_t socketFD);
@@ -69,4 +98,10 @@
         void DeregisterSML(int32_t socketFD);
         
+        /*! \brief Set the active mission.
+         *
+         * This function handles a request by the radio host platform to set or
+         * change the current active mission in the service management layer.
+         * This command is basically passed through the CRS to the SML.
+         */
         void SetActiveMission(int32_t socketFD);
 
@@ -75,18 +110,23 @@
         int32_t HandleMessage(int32_t socketFD);
        
-        /* Send optimization request to primary port FD.
+        /*! \brief Send optimization request to CE.
+         *
+         * The host application requested that parameters be optimized - pass
+         * the parameters and command to the CE.
+         *
+         * TODO How is the CE being selected if multiple CEs are available?
          */
         void GetOptimalParameters(int32_t socketFD);
 
-        /* TODO
+        /*! TODO
          */
         bool SendRadioConfiguration(int32_t socketFD);
         bool SendRadioExperience(int32_t socketFD);
 
-        /* TODO
+        /*! TODO
          */
         bool UpdateParameterPerformance(int32_t socketFD);
 
-        /* TODO
+        /*! TODO
          */
         bool SML_present;
@@ -94,9 +134,9 @@
         bool CE_present;
        
-        /* TODO
+        /*! TODO
          */
         int32_t numberOfCognitiveEngines; 
 
-        /* TODO
+        /*! TODO
          */       
         int16_t primaryPort;
@@ -104,5 +144,9 @@
         int16_t commandPort;
 
-        /* TODO
+        /*! TODO
+         *
+         * I'm confused as to what exactly these are for... there can be
+         * multiple CEs and PEs, and the CRS _IS_ the command component.
+         * --BCH
          */
         int32_t ceSocketFD;
@@ -110,5 +154,5 @@
         int32_t policySocketFD;
 
-        /* TODO
+        /*! TODO
          */
         Utility *utils;
@@ -116,5 +160,5 @@
         Observable *observables;
 
-        /* TODO
+        /*! TODO
          */
         struct Radio_Info *radio_info;
Index: /vtcross/trunk/src/include/vtcross/policy_engine.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/policy_engine.h	(revision 465)
+++ /vtcross/trunk/src/include/vtcross/policy_engine.h	(revision 518)
@@ -15,5 +15,5 @@
 */
 
-/* This header exports the declaration for the Policy Engine component type.
+/*! This header exports the declaration for the Policy Engine component type.
  */
 
@@ -25,14 +25,22 @@
 
 
-/* Policy Engine class declaration.  All public functions are inherited from
- * parent classes.
+/*! \brief Policy Engine class declaration.  
+ *
+ * All public functions are inherited from parent classes Engine and Component.
+ * Please see those class documentation files for further information regarding
+ * public functions.
  */
 class PolicyEngine : public Engine
 {
     public:
+        /*! \brief Default Policy Engine Constructor */
         PolicyEngine();
+
+        /*! \brief Default Policy Engine Destructor */
         ~PolicyEngine();
 
-        /* Overloaded constructor that creates a policy engine object and
+        /*! \brief Preferred Policy Engine Constructor. 
+         *
+         * Overloaded constructor that creates a policy engine object and
          * connects it to either the shell or an SML, depening on the SML bool.
          */
@@ -53,10 +61,11 @@
 
     private:
-        /* Parse and load/reload policies into the policy engine.
-         */
+        /*! \brief Parse and load/reload policies into the policy engine. */
         void LoadPolicies();
         void ReloadPolicies();
 
-        /* Return a decision made by the policy engine regarding a certain set
+        /*! \brief Return a validation decision.
+         *
+         * Return a decision made by the policy engine regarding a certain set
          * of transmission parameters.
          */
@@ -64,9 +73,13 @@
                 int32_t decision_array[]);
 
-        /* Validate a set of transmission parameters received from the radio.
+        /*! \brief Perform parameter validation.
+         *
+         * Validate a set of transmission parameters received from the radio.
          */
         void ValidateParameters();
 
-        /* The SML_present bool reflects whether or not the remote component
+        /*! \brief Keep track of what control component this PE is connected to.
+         *
+         * The SML_present bool reflects whether or not the remote component
          * this object is connected to is an SML.  If it isn't, then it must be
          * a shell.  The socketFD stores the socket file descriptor for this
Index: /vtcross/trunk/src/include/vtcross/socketcomm.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/socketcomm.h	(revision 411)
+++ /vtcross/trunk/src/include/vtcross/socketcomm.h	(revision 518)
@@ -15,5 +15,7 @@
 */
 
-/* TODO DESCRIPTION OF FILE.
+/*! This file describes the interface to libsocketcomm, which is the internal
+ * socket communication library that CROSS radios use to communicate between
+ * components.
  */
 
@@ -26,36 +28,36 @@
 
 
-/* TODO
+/*! TODO
  */
 int32_t ReadMessage(int32_t socketFD, char *msgBuffer);
 
-/* TODO
+/*! TODO
  */
 int32_t SendMessage(int32_t socketFD, const char *message) ;
 
-/* TODO
+/*! TODO
  */
 int32_t GetParameter(int32_t socketFD, struct Parameter pList[], \
         struct Radio_Info *radio_info);
 
-/* TODO
+/*! TODO
  */
 int32_t GetRequest(int32_t socketFD, struct Parameter pList[], \
         struct Radio_Info *radio_info);
 
-/* This is the original function that does what the above function is supposed
+/*! This is the original function that does what the above function is supposed
  * to do.
  */
 int32_t ClientSocket(const char  *serverName, const char *portNumber);
 
-/* TODO
+/*! TODO
  */
 int32_t  AcceptTCPConnection(int32_t servSock);
 
-/* TODO
+/*! TODO
  */
 int32_t CreateTCPServerSocket(uint16_t port);
 
-/* TODO
+/*! TODO
  */
 int32_t InitializeTCPServerPort(int32_t servSock);
Index: /vtcross/trunk/src/include/vtcross/components.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/components.h	(revision 465)
+++ /vtcross/trunk/src/include/vtcross/components.h	(revision 518)
@@ -15,12 +15,13 @@
 */
 
-/* This header exports the base declarations for all VT-CROSS radio components.
- * It contains two pure abstract base classes, Component and Engine; Engine derives
- * from Component.  All functions contained within the abstract base classes are
- * dynamically linked and pure, and all child non-abstract classes derive using 
- * private inheritence.  Class functions of the abstract base classes are public
- * for two reasons: (1) To allow for public/protected inheritence in other 
- * implementations, (2) So that symbolic debuggers can navigate the call tree 
- * for typecasted objects of derivative classes.
+/*! This header exports the base declarations for all CROSS radio components.
+ * 
+ * It contains two pure abstract base classes, Component and Engine; Engine 
+ * derives from Component.  All functions contained within the abstract base 
+ * classes are dynamically linked and pure, and all child non-abstract classes
+ * derive using private inheritence.  Class functions of the abstract base 
+ * classes are public for two reasons: (1) To allow for public/protected 
+ * inheritence in other implementations, (2) So that symbolic debuggers can 
+ * navigate the call tree for typecasted objects of derivative classes.
  *
  * Note that any new component type declaration MUST include this header and
@@ -40,5 +41,7 @@
 
 
-/* Component abstract base class that all component classes should inherit from,
+/*! \brief The Component class is the top-level abstract base class in CROSS.
+ *
+ * Component abstract base class that all component classes should inherit from,
  * including cognitive and policy engines, and the service management layer.
  * Defines only functions required by all component types.
@@ -47,5 +50,7 @@
 {
     public:
-        /* Asks the component at the passed socket FD for its component type
+        /*! \brief Asks a component to identify itself. 
+         *
+         * Asks the component at the passed socket FD for its component type
          * string.  Note that this implementation is global for all component
          * types, so is implemented here.  Should a component need to override
@@ -63,21 +68,18 @@
         }
 
-        /* Send an indentfying string for this object's component type in
+        /*! \brief Responds to a request for identification.
+         *
+         * Send an indentfying string for this object's component type in
          * response to a GetRemoteComponentType query.
          */
         virtual void SendComponentType() = 0;
 
-        /* Completely shutdown the radio and all operations.
-         */
+        /*! \brief Shutdown the component. */
         virtual void Shutdown() = 0;
 
-        /* Reset the radio and reload all configuration files.
-         *
-         * TODO are we remembering experiences in CEs?
-         */
+        /*! \brief Reset the component and reload configurations. */
         virtual void Reset() = 0;
 
-        /* Register or deregister a component with the primary radio shell.
-         */
+        /*! \brief Compenent registration procedures. */
         virtual void RegisterComponent() = 0;
         virtual void DeregisterComponent() = 0;
@@ -85,5 +87,7 @@
 
 
-/* Engine abstract base class from which all engine component types should
+/*! \brief Engine abstract base class declaration.
+ *
+ * Engine abstract base class from which all engine component types should
  * inherit (e.g. cognitive and policy engines). Inherits all functions from the
  * ABC Component publically.
@@ -92,21 +96,27 @@
 {
     public:
-        /* Connect to the remote control component, which will always be either
-         * the VTCROSS shell or SML.  Based on the status of the SML_present
+        /*! \brief Connect to a remote controlling component. 
+         *
+         * Connect to the remote control component, which will always be either
+         * the CROSS shell or SML.  Based on the status of the SML_present
          * bool, this function will also register the component or services.
          *
          * TODO I feel like the name of this function could be changed to be a
-         * little more descriptive?
-         */
+         * little more descriptive? */
         virtual void ConnectToRemoteComponent(const char* serverName, \
                 const char* serverPort, const bool SML) = 0;
         
-        /* Wait for a command signal containing task instructions.
-         */
+        /*! \brief Wait for a command signal containing task instructions.
+         *
+         * This is the general run-time loop from which all radio operation
+         * occurs.  Once the Engine has started up and initialized, it will
+         * remain in this function until it receives a command to perform some
+         * action. */
         virtual void WaitForSignal() = 0;
 
-        /* Register or deregister services that this engine provides with the
-         * service management layer.
-         */
+        /*! \brief Functions for interacting with the service management layer. 
+         *
+         * Register or deregister services that this engine provides with the
+         * service management layer. */
         virtual void RegisterServices() = 0;
         virtual void DeregisterServices() = 0;
Index: /vtcross/trunk/src/include/vtcross/containers.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/containers.h	(revision 411)
+++ /vtcross/trunk/src/include/vtcross/containers.h	(revision 518)
@@ -15,5 +15,5 @@
 */
 
-/* This header contains commonly used data container structs in VT-CROSS
+/*! This header contains commonly used data container structs in CROSS
  * systems.
  */
@@ -28,5 +28,5 @@
 
 
-/* TODO
+/*! TODO
  *
  */
@@ -41,5 +41,5 @@
 
 
-/* TODO
+/*! TODO
  *
  */
@@ -53,5 +53,5 @@
 
 
-/* TODO
+/*! TODO
  *
  */
@@ -62,5 +62,5 @@
 
 
-/* TODO
+/*! TODO
  *
  */
@@ -77,5 +77,5 @@
 
 
-/* TODO
+/*! TODO
  *
  */
@@ -88,5 +88,5 @@
 
 
-/* TODO
+/*! TODO
  *
  */
@@ -102,5 +102,5 @@
 
 
-/* TODO
+/*! TODO
  *
  */
@@ -114,5 +114,5 @@
 };
 
-/* Registration data for Cognitive Engines for use in communication 
+/*! Registration data for Cognitive Engines for use in communication.
  */
 struct CE_Reg {
Index: /vtcross/trunk/src/include/vtcross/cbr.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/cbr.h	(revision 509)
+++ /vtcross/trunk/src/include/vtcross/cbr.h	(revision 518)
@@ -15,6 +15,7 @@
 */
 
-/* This file contains the full implementation of the CBR class - the default
- * VTCROSS case-based reasoner.
+/*! This header contains the declaration and a full implementation of 
+ * the CBR class - the default CROSS case-based reasoner, which can be used as a
+ * backend for cognitive engines.
  */
 
@@ -39,11 +40,11 @@
 
 
-#define DATABASENAME "vtcross_cbr"
+#define DATABASENAME "cross_cbr"
 
 
 /* This is an internal debugging function used by some sqlite3 function calls.
- * It is not used otherwise in the VTCROSS codebase. */
-int32_t 
-callback(void *notUsed, int argc, char **argv, char **azColName)
+ *  It is not used otherwise in the CROSS codebase. */
+int32_t 
+callback(void *notUsed, int32_t argc, char **argv, char **azColName)
 {
     for(size_t i = 0; i < argc; i++) {
@@ -56,5 +57,7 @@
 
 
-/* The CBR class is designed to used as either as-is, or as a parent class.  All
+/*! \brief Case-Based Reasoner class declaration.
+ *
+ * The CBR class is designed to used as either as-is, or as a parent class.  All
  * functions are declared virtual, and internal members are 'protected' rather
  * than private. If you require functionality in a CBR not specifically provided
@@ -66,5 +69,7 @@
 {
     public:
-        /* Constructors for the CBR class. Note that the default constructor
+        /*! \brief Constructors for the CBR class. 
+         *
+         * Note that the default constructor
          * must be defined inline here so that super-calls from child classes
          * don't fail (i.e. we cannot rely on the compiler-provided constructor. */
@@ -74,24 +79,34 @@
                 string _primcols[], uint32_t _len, uint32_t _primlen);
 
-        /* Destructor for the CBR class. Note that this destructor will be
+        /*! \brief Destructors for the CBR class.
+         *
+         * Destructor for the CBR class. Note that this destructor will be
          * called automatically by any derived classes, and so child classes
          * should not repeat the freeing actions performed in this function. */
         virtual ~CBR();
 
-        /* This function opens the VTCROSS database, or if it has not been
+        /*! \brief Open/Create a sqlite database for the CBR.
+         *
+         * This function opens the CROSS database, or if it has not been
          * created yet, creates it. */
         virtual int32_t OpenDatabase();
 
-        /* Execute a sqlite3 command and return the sqlite3 return code. */
+        /*! \brief  Execute a sqlite command.
+         *
+         * Construct and execute a sqlite3 command and pass the return code back. */
         virtual int32_t ExecuteCommand();
 
-        /* Execute a sqlite3 search command and store the results in the passed
+        /*! \brief Search the sqlite3 database. 
+         *
+         * Execute a sqlite3 search command and store the results in the passed
          * retvals argument. */
         virtual int32_t ExecuteSearchCommand(float *_retvals);
 
-        /* Print the VTCROSS sqlite3 database. */
+        /*! \brief Print the CROSS sqlite database. */
         virtual void Print();
 
-        /* Search the VTCROSS database for specific fields and store the results
+        /*! \brief Search the CBR database. 
+         *
+         * Search the CROSS database for specific fields and store the results
          * in the passed retvals argument. */
         virtual int32_t Search(string _names[], int32_t *_ops, float *_vals, \
@@ -101,9 +116,9 @@
             float *_retvals);
 
-        /* Update a row in the VTCROSS sqlite3 database. */
+        /*! \brief Update an entry in the CBR database.  */
         virtual int32_t Update(string _where[], string _set[], float *_wherevals, \
                 float *_setvals, uint32_t _wherelen, uint32_t _setlen);
 
-        /* Add a row to the VTCROSS sqlite3 database. */
+        /*! \brief Add a row to the CROSS sqlite3 database. */
         virtual int32_t AddRow(string _cols[], float *_vals, uint32_t _len);
 
@@ -129,5 +144,5 @@
 
     /* Generate the command that will create the initial table within the
-     * VTCROSS database. */
+     * CROSS database. */
     command = "CREATE TABLE " + tablename + "(";
     for(size_t i = 0; i < numColumns; i++) {
@@ -159,5 +174,5 @@
 
     /* Generate the command that will create the initial table within the
-     * VTCROSS database with primary keys. */
+     * CROSS database with primary keys. */
     command = "CREATE TABLE " + tablename + "(";
     for(size_t i = 0; i < numColumns; i++) {
Index: /vtcross/trunk/src/include/vtcross/debug.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/debug.h	(revision 436)
+++ /vtcross/trunk/src/include/vtcross/debug.h	(revision 518)
@@ -15,5 +15,8 @@
 */
 
-/* DESCRIPTION OF FILE.
+/*! This header defines macros for log functions and debug statements.
+ * Generally, it is recommended that this header be included in every source
+ * file.  The functions included in this file should be used rather than
+ * hard-coding 'printf's or 'cout's in your code.
  */
 
Index: /vtcross/trunk/src/include/vtcross/common.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/common.h	(revision 411)
+++ /vtcross/trunk/src/include/vtcross/common.h	(revision 518)
@@ -15,7 +15,6 @@
 */
 
-/* This file is included in every source file of the VTCROSS system.  It
- * declares global flags and includes.
- */
+/*! This file is included in every source file of the CROSS system.  It 
+ * declares global flags and includes. */
 
 #ifndef COMMON_H
Index: /vtcross/trunk/src/include/vtcross/service_management_layer.h
===================================================================
--- /vtcross/trunk/src/include/vtcross/service_management_layer.h	(revision 465)
+++ /vtcross/trunk/src/include/vtcross/service_management_layer.h	(revision 518)
@@ -15,5 +15,5 @@
 */
 
-/* This header exports the declaration for the Service Management Layer
+/*! This header exports the declaration for the Service Management Layer
  * component.
  */
@@ -26,15 +26,22 @@
 
 
-/* Service Management Layer (SML) class declaration.  The functions listed here
- * are required by the VTCROSS API for service-oriented VTCROSS radio
- * architectures.
+/*! \brief Service Management Layer (SML) class declaration.  
+ *
+ * The functions listed here are required by the CROSS API for 
+ * service-oriented CROSS radio architectures.  Note that most public functions
+ * are documented in the parent class, Component.
  */
 class ServiceManagementLayer : public Component
 {
     public:
+        /*! \brief Default SML Constructor. */
         ServiceManagementLayer();
+
+        /*! \brief Default SML Destructor. */
         ~ServiceManagementLayer();
 
-        /* Overloaded constructor that creates an SML and connects it to the
+        /*! \brief Preferred SML Constructor.
+         *
+         * Overloaded constructor that creates an SML and connects it to the
          * shell with the passed hostname and port.
          */
@@ -42,8 +49,11 @@
                 const char* serverPort, int16_t clientPort);
 
-        /* Connect and register with the shell component at the passed hostname
+        /*! \brief Connect the SML to a remote Shell control component. 
+         *
+         * Connect and register with the shell component at the passed hostname
          * and port.
          */
         void ConnectToShell(const char* serverName, const char* serverPort);
+
         void SendComponentType();
         void MessageHandler(int32_t ID);
@@ -53,20 +63,26 @@
         void DeregisterComponent();
 
-        /* Starts the SML Server and watches it for incoming messages
+        /*! \brief Starts the SML Server and watches it for incoming messages
+         *
+         * TODO
          */
         void StartSMLServer();
 
     private: 
-        /* Receive the radio configuration settings from the shell and pass them
+        /*! \brief Pass the radio configuration onto another component. 
+         *
+         * Receive the radio configuration settings from the shell and pass them
          * on to another component.
          */
         void TransferRadioConfiguration(int32_t ID);
 
-        /* Receive information regarding a completed 'experience' and pass it on
+        /*! \brief Pass a radio experience onto another component. 
+         *
+         * Receive information regarding a completed 'experience' and pass it on
          * to the appropriate cognitive engine.
          */
         void TransferExperience(int32_t ID);
         
-        /* Listen for other components registering their available services with
+        /*! Listen for other components registering their available services with
          * the SML. 
          */
@@ -74,39 +90,39 @@
         void DeregisterServices(int32_t ID);
 
-        /* Change the active mission of the radio to a new one and adjust radio
+        /*! Change the active mission of the radio to a new one and adjust radio
          * behavoir appropriately.
          */
         void SetActiveMission();
 
-        /* TODO
+        /*! TODO
          */
         void RegisterCognitiveEngine(int32_t ID);
         void DeregisterCognitiveEngine(int32_t ID);
 
-        /* List all services provided to the radio by registered components.
+        /*! List all services provided to the radio by registered components.
          */
         void ListServices();
 
-        /* Load/Relead the XML configuration file. 
+        /*! Load/Relead the XML configuration file. 
          */
         void ReloadConfiguration();
         void LoadConfiguration(const char *SML_Config, Mission* &mList);
 
-        /* Create and initialize the DB to hold the services
+        /*! Create and initialize the DB to hold the services
         */
         void CreateServicesDB();
         void CreateDataDB();
 
-        /* TODO
+        /*! TODO
          */
         void PerformActiveMission();
         void TransactData(int32_t sourceID);
 
-        /* The socket file descriptor information for the shell which this SML
+        /*! The socket file descriptor information for the shell which this SML
          * is connected to.
          */
         int32_t shellSocketFD;
 
-        /* TODO
+        /*! TODO
          */
         int16_t CEPort;
