Revision 35c9457f doc/statediagrams/general/initialization.uml

View differences:

doc/statediagrams/general/initialization.uml
27 27

  
28 28
start
29 29
fork
30
  :core;
30 31
  fork
31
    partition "urt_core_t" {
32
      note
33
        must be initialized statically
34
        (in startup thread)
35
      endnote
36
      :initialize members;
37
    }
32
    fork
33
      :topics;
34
    fork again
35
      :messages;
36
    endfork
37
    :publishers;
38 38
  fork again
39
    partition "urt_osThread_t" {
40
      :initialize work area;
41
      note
42
        must be initialized statically
43
        (in preamble / static memory allocation)
44
      endnote
45
      :initialize members;
46
    }
39
    :nodes;
47 40
  endfork
48
  fork
49
    partition "urt_topic_t" {
50
      :initialize members;
51
      :insert self to topic list;
52
    }
53
    partition "urt_publisher_t" {
54
      :initialize members;
55
      :find topic in topic list;
56
      if (Any messages to contribute?) then (yes)
57
        :lock topic;
58
        :contribute messages;
59
        :unlock topic;
60
      else (no)
61
      endif
62
    }
63
  fork again
64
    partition "urt_node_t" {
65
      :initialize members;
66
      :insert self to node list;
67
    }
68
  endfork
69
fork again
70
  partition "urt_subscriber_t" {
71
    :initialize members;
72
  }
73 41
fork again
74
  partition "urt_message_t" {
75
    :initialize members;
76
  }
42
  :subscribers;
77 43
endfork
78 44
stop
79 45

  

Also available in: Unified diff