commit ee83a495436186dbc15d6e0bc3e360e19ae5ff02
Author: Thomas Schöpping <tschoepp@cit-ec.uni-bielefeld.de>
Date:   Tue Feb 25 15:14:38 2020 +0100

    Again another huge update to the documentation.
    Still incomplete, though.

diff --git a/doc/activitydiagrams/publisher/urtPublisherPublish.uml b/doc/activitydiagrams/publisher/urtPublisherPublish.uml
index ebed72b..3b5aaab 100644
--- a/doc/activitydiagrams/publisher/urtPublisherPublish.uml
+++ b/doc/activitydiagrams/publisher/urtPublisherPublish.uml
@@ -25,76 +25,76 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 title **µRtWare**\nurtPublisherPublish()\n
 
-!include ../../functions.iuml
+/'### PARAMETERS & RETURN ####################################################'/
 
-/'### PARAMETERS & START #####################################################'/
-
-start
 note
-  -- ""**publisher** : urt_publisher_t*"" --
+  -- **publisher** : urt_publisher_t* --
   Pointer to the publisher to use.
   Must not be ""NULL"".
-  -- ""**payload** : void*"" --
+  -- **payload** : void* --
   Pointer to the data to be published.
   May be ""NULL"" for messages without payload.
-  -- ""**n** : size_t"" --
+  -- **n** : size_t --
   Size of the payload in bytes.
-  -- ""**t** : urt_osTime_t"" --
+  -- **t** : urt_osTime_t --
   Timestamp to be set for the message.
-  -- ""**timeout** : urt_delay_t"" --
+  -- **timeout** : urt_delay_t --
   Timeout delay in case the message cannot be published.
-end note
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_ERROR"" on timeout.
+endnote
 
 /'### PROCEDURE ##############################################################'/
 
+start
 :lock topic;
-:access next message;
-while (HRT consumers left for the message\nor the message timestamp was modified\nand a timeout occurred?) is (yes)
-  if (Message timestamp was modified?) the (yes)
-    :iterate to next message;
+:access topic's next message;
+while (HRT consumers left for the message?) is (yes)
+  :wait for topic's condition variable (using topic's mutex) to be signaled or timeout;
+  if (Timeout occurred?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_ERROR"".
+    endnote
   else (no)
-    :wait for topic's condition variable (using topic's mutex) to be signaled or timeout;
+    if (Message timestamp was modified?) then (yes)
+      :access topic's next message;
+    else (no)
+    endif
   endif
 endwhile (no)
-if (Timeout occurred?) then (yes)
-  :unlock topic;
-  :return ""URT_STATUS_ERROR"";
-else (no)
+fork
   fork
-    fork
-      :iterate topic pointer to this message;
-    fork again
-      :copy payload to message;
-    fork again
-      :set origin time of message;
-    fork again
-      :set number of HRT consumers (from topic);
-    endfork
+    :iterate topic pointer to this message;
   fork again
-    :set QoS rate timer (@topic) wrt. most critical HRT subscriber;
+    :copy payload to message;
   fork again
-    while (HRT subscribers left?) is (yes)
-      if (QoS delay timer (@subscriber) is not armed?) then (yes)
-        :set QoS delay timer (@subscriber) wrt. origin time of the message;
-        note: No lock required since this timer is only accessed when the topic is locked.
-      else (no)
-      endif
-      :iterate to next HRT subscriber;
-    endwhile (no)
+    :set origin time of message;
+  fork again
+    :set number of HRT consumers (from topic);
   endfork
-  :fire event;
-  note: Msut be within topic lock because of HRT counter.
-  :unlock topic;
-  :return ""URT_STATUS_OK"";
-endif
-
-/'### STOP & RETURN ##########################################################'/
-
+fork again
+  :set QoS rate timer (@topic) wrt. most critical HRT subscriber;
+fork again
+  while (HRT subscribers left?) is (yes)
+    if (QoS delay timer (@subscriber) is not armed?) then (yes)
+      :set QoS delay timer (@subscriber) wrt. origin time of the message;
+      note: No lock required since this timer is only accessed when the topic is locked.
+    else (no)
+    endif
+    :iterate to next HRT subscriber;
+  endwhile (no)
+endfork
+:fire event;
+note: Msut be within topic lock because of HRT counter.
+:unlock topic;
 stop
 note
-  -- **return** ""urt_status_t"" --
-  Returns ""URT_STATUS_ERROR"" on timeout.
-end note
+ Returns ""URT_STATUS_OK"".
+endnote
 
 /'### OUTRO ##################################################################'/
 
