commit 2934c7a44de166c2f813f948e1317bbe41fff204
Author: Thomas Schöpping <tschoepp@cit-ec.uni-bielefeld.de>
Date:   Tue Nov 13 12:53:52 2018 +0100

    Classdiagram updated

diff --git a/doc/classdiagrams/overview.uml b/doc/classdiagrams/overview.uml
index 3bf8efd..ea8d6d1 100644
--- a/doc/classdiagrams/overview.uml
+++ b/doc/classdiagrams/overview.uml
@@ -28,13 +28,13 @@ title **µRtWare**\nOverview\n
 /' Not a type but a set of configuration macros. '/
 class urt_config <<(C,grey)>> {
     'Selection to en-/disable debug checks.
-  + URT_CONFIG_DEBUG : bool
+  + URT_CFG_DEBUG : bool
     'Selector to specify the width of urt_delay_t type.
-  + URT_CONFIG_DELAY_WIDTH
-    'Selector to specify the widtg of the urt_topicid_t type.
-  + URT_CONFIG_TOPICID_WIDTH
-    'Selector to specify the integer type of urt_nodesync_t.
-  + URT_CONFIG_NODESYNC_TYPE
+  + URT_CFG_DELAY_WIDTH
+    'Selector to specify the width of the urt_topicid_t type.
+  + URT_CFG_TOPICID_WIDTH
+    'Selector to specify the width of the urt_nodestage_t type.
+  + URT_CFG_NODESTAGE_WIDTH
 }
 
 package "primitives" {
@@ -68,32 +68,18 @@ package "primitives" {
   }
   urt_topicid_t ..> urt_config
 
-  /' Just a function for debugging. '/
-  class urt_debug <<(F,white)>> {
-      'Checks the condition in debug mode.
-    + urtDebugAssert(condition : bool) : void
-  }
-
   /' Node synchronization type. '/
-  class urt_nodesync_t <<T,lightblue>> {
+  class urt_nodestage_t <<T,lightblue>> {
     'configurable
     uin8_t
     .. or ..
-    int8_t
-    .. or ..
     uint16_t
     .. or ..
-    int16_t
-    .. or ..
     uint32_t
     .. or ..
-    int32_t
-    .. or ..
     uint64_t
-    .. or ..
-    int64_t
   }
-  urt_nodesync_t ..> urt_config
+  urt_nodestage_t ..> urt_config
 
 } /' package "primitives" '/
 
@@ -177,7 +163,24 @@ package "OSAL" {
   package "thread" {
 
     /' Thread priority type. '/
-    class urt_osThreadPrio_t <<(T,lightblue)>>
+    class urt_osThreadPrio_t <<(T,lightblue)>> {
+      'Minimum priority for low priority threads.
+      + URT_THREAD_PRIO_LOW_MIN
+        'Maximum priority for low priority threads.
+      + URT_THREAD_PRIO_LOW_MAX
+        'Minimum priority for normal priority threads.
+      + URT_THREAD_PRIO_NORMAL_MIN
+        'Maximum priority for normal priority threads.
+      + URT_THREAD_PRIO_NORMAL_MAX
+        'Minimum priority for high priority threads.
+      + URT_THREAD_PRIO_HIGH_MIN
+        'Maximum priority for high priority threads.
+      + URT_THREAD_PRIO_HIGH_MAX
+        'Minimum priority for real-time threads.
+      + URT_THREAD_PRIO_RT_MIN
+        'Maximum priority for real-time threads.
+      + URT_THREAD_PRIO_RT_MAX
+    }
 
     /' Thread main function type. '/
     class urt_osThreadFunction_t <<(T,lightblue)>> {
@@ -210,47 +213,30 @@ package "OSAL" {
 
     /' OS thread interface. '/
     class urt_osThread_t <<(T,lightblue)>> {
-        'Minimum priority for low priority threads.
-      + URT_THREAD_PRIO_LOW_MIN : urt_osThreadPrio_t
-        'Maximum priority for low priority threads.
-      + URT_THREAD_PRIO_LOW_MAX : urt_osThreadPrio_t
-        'Minimum priority for normal priority threads.
-      + URT_THREAD_PRIO_NORMAL_MIN : urt_osThreadPrio_t
-        'Maximum priority for normal priority threads.
-      + URT_THREAD_PRIO_NORMAL_MAX : urt_osThreadPrio_t
-        'Minimum priority for high priority threads.
-      + URT_THREAD_PRIO_HIGH_MIN : urt_osThreadPrio_t
-        'Maximum priority for high priority threads.
-      + URT_THREAD_PRIO_HIGH_MAX : urt_osThreadPrio_t
-        'Minimum priority for real-time threads.
-      + URT_THREAD_PRIO_RT_MIN : urt_osThreadPrio_t
-        'Maximum priority for real-time threads.
-      + URT_THREAD_PRIO_RT_MAX : urt_osThreadPrio_t
-      ..
         'Maximum sleep interval in seconds (as float).
-      + URT_THREAD_MAX_SLEEP : float
+      + URT_THREAD_SLEEP_MAX : float
         'Maximum sleep interval in seconds.
-      + URT_THREAD_MAX_SSLEP : unsigned int
+      + URT_THREAD_SSLEP_MAX : unsigned int
         'Maximum sleep interval in milliseconds.
-      + URT_THREAD_MAX_MSLEEP : unsigned int
+      + URT_THREAD_MSLEEP_MAX : unsigned int
         'Maximum sleep interval in microseconds.
-      + URT_THREAD_MAX_USLEEP : unsigned int
+      + URT_THREAD_USLEEP_MAX : unisgned int
       __
         'Macro to setup working area as static variable (handles alignment if required).
-      + URT_THREAD_WORKING_AREA (varname, stacksize)
+      + URT_THREAD_MEMORY (varname, stacksize)
       ..
         'Initializes an urt_osThread_t object.
-      + urtThreadInit (wa : void*, wasize : size_t, func : urt_osThreadFunction_t*, arg : void*) : urt_osThread_t*
+      + urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*
         'Starts a thread.
       + urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void
         'The calling threads yields.
       + urtThreadYield (void) : void
-        'Retrieves the priority of a thread.
-      + urtThreadGetPriority (thread : urt_osThread_t*) : urt_osThreadPrio_t
-        'Sets the priority of a thread.
-      + urtThreadSetPriority (thread : urt_osThread_t*, prio : urt_osThreadPrio_t) : void
-        'Retrieves the first thread in the list of children.
-      + urtThreadSuspend (void) : void
+        'Retrieves the priority of the calling thread.
+      + urtThreadGetPriority (void) : urt_osThreadPrio_t
+        'Sets the priority of the calling thread.
+      + urtThreadSetPriority (prio : urt_osThreadPrio_t) : void
+        'Suspends a thread so it will no longer be executed.
+      + urtThreadSuspend (thread : urt_osThread_t*) : void
         'Wakes a suspended thread.
       + urtThreadResume (thread : urt_osThread_t*) : urt_status_t
         'Suspends the calling thread for the specified time.
@@ -268,19 +254,24 @@ package "OSAL" {
         'Terminates a specified thread.
       + urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void
         'Waits until the specified thread terminates.
-      + urtThreadJoin (thread : urt_osThread_t*) : void
+      + urtThreadJoin (thread : urt_osThread_t*) : int
         'Retrieves the execution state of the specified thread.
       + urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t
+        'Retrieves the calling thread itself.
+      + urtThreadGetSelf (void) : urt_osThread_t*
         'Retrieves the first child of a thread (or ""NULL"").
       + urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*
         'Retrieves a sibling (next child in a list) of the thread or ""NULL"".
-      + urtThreadGetSibling (thread : urt_osThread_t*) : urt_psThread_t*
+      + urtThreadGetSibling (thread : urt_osThread_t*) : urt_osThread_t*
+        'Retrieves the parent thread.
+      + urtThreadGetParent (thread : urt_osThread_t) : urt_osThread_t*
     }
     urt_osThread_t ..> urt_osThreadPrio_t
     urt_osThread_t ..> urt_osThreadFunction_t
     urt_osThread_t ..> urt_osTime_t
     urt_osThread_t ..> urt_osThreadTerminateSignal_t
     urt_osThread_t ..> urt_osThreadState_t
+    urt_osThread_t ..> urt_status_t
 
   } /' package "thread" '/
 
@@ -328,7 +319,7 @@ package "OSAL" {
         'Unregisters a listener from a source.
       + urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t
         'Blocks the thread until any event occurs or the timeout expires.
-      + urtEventWait (type : urt_osEventWaitType_t, timeout : urt_delay_t) : urt_osEventMask_t
+      + urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWaitType_t, timeout : urt_delay_t) : urt_osEventMask_t
     }
     urt_events ..> urt_osEventSource_t
     urt_events ..> urt_osEventListener_t
@@ -351,6 +342,13 @@ package "OSAL" {
 
 package "middleware" {
 
+  /' Just a function for debugging. '/
+  class urt_debug <<(F,white)>> {
+      'Checks the condition in debug mode.
+    + urtDebugAssert(condition : bool) : void
+  }
+  urt_debug ..> urt_config
+
   package "real-time class" {
 
     /' The top level RT class structure. '/
@@ -584,7 +582,7 @@ package "middleware" {
       'Starts all node threads (nodes will block before the loop).
     + urtCoreStartNodes (void) : urt_status_t
       'Nodes can use this function to synchronize globally.
-    + urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodesync_t) : urt_status_t
+    + urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodestage_t) : urt_status_t
       'Stops all nodes.
     + urtCoreStopNodes (void) : urt_status_t
       'Retrieves a topic given an identifier.
@@ -595,7 +593,7 @@ package "middleware" {
   urt_core_t "1" *-- "1" urt_osEventSource_t
   urt_core_t "1" *-- "1" urt_osMutex_t
   urt_core_t ..> urt_status_t
-  urt_core_t --> urt_nodesync_t
+  urt_core_t --> urt_nodestage_t
   urt_core_t ..> urt_topicid_t
 
   package "node" {
@@ -632,7 +630,7 @@ package "middleware" {
         'Optional parameters for the loop callback function.
       + loopparams : void*
         'Execution stage of the node.
-      + stage : urt_nodesync_t
+      + stage : urt_nodestage_t
         'Event listener for middleware-wide control events.
       + listener : urt_osEventListener_t
       __
@@ -645,7 +643,7 @@ package "middleware" {
     urt_node_t "1" o-- "1" urt_osThread_t
     urt_node_t "1" o-- "1" urt_nodeSetupCallback_t
     urt_node_t "1" o-- "1" urt_nodeLoopCallback_t
-    urt_node_t "1" *-- "1" urt_nodesync_t
+    urt_node_t "1" *-- "1" urt_nodestage_t
     urt_node_t "1" *-- "1" urt_osEventMask_t
     urt_node_t "1" *-- "1" urt_osEventWaitType_t
     urt_node_t "1" *-- "1" urt_osEventListener_t
