Revision 35c9457f doc/statediagrams/general/initialization.uml
| 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