mce-sensorfw.dot 4.44 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
// -*- mode: c -*-

digraph mce_sensorfw
{
  fontsize=6;
  ranksep=0.2;
  nodesep=0.2;

  edge[fontsize=6];
  edge[arrowsize=0.4];

  node[width=0.001]
  node[height=0.001]
  node[fontsize=6]
  node[shape=box];
  node[style=filled];
  node[fillcolor=wheat];

  compound = true;

  subgraph clusterREPORTING {
    REPORTING_IDLE;
    REPORTING_RETHINK;
    REPORTING_ENABLING;
    REPORTING_ENABLED;
    REPORTING_DISABLING;
    REPORTING_DISABLED;
    REPORTING_ERROR;
    REPORTING_ANY [label="*"];

    REPORTING_ANY       -> REPORTING_ERROR [label="failure"];
    REPORTING_ANY       -> REPORTING_IDLE  [label="reset()"];

    REPORTING_IDLE      -> REPORTING_RETHINK [label="connected"];

    REPORTING_RETHINK   -> REPORTING_ENABLING;
    REPORTING_RETHINK   -> REPORTING_DISABLING;

    REPORTING_ENABLING  -> REPORTING_ENABLED;
    REPORTING_ENABLED   -> REPORTING_RETHINK [label="disable()"];

    REPORTING_DISABLING -> REPORTING_DISABLED;
    REPORTING_DISABLED  -> REPORTING_RETHINK  [label="enable()"];
44 45

    REPORTING_ERROR     -> REPORTING_RETHINK [label="retry"];
46 47 48 49 50 51 52 53 54 55
  }

  subgraph clusterOVERRIDE {
    OVERRIDE_IDLE;
    OVERRIDE_RETHINK;
    OVERRIDE_ENABLING;
    OVERRIDE_ENABLED;
    OVERRIDE_DISABLING;
    OVERRIDE_DISABLED;
    OVERRIDE_ERROR;
56
    OVERRIDE_NA;
57 58
    OVERRIDE_ANY [label="*"];

59 60
    OVERRIDE_ANY       -> OVERRIDE_ERROR     [label="failure"];
    OVERRIDE_ANY       -> OVERRIDE_IDLE      [label="reset()"];
61

62
    OVERRIDE_IDLE      -> OVERRIDE_RETHINK   [label="connected"];
63 64 65 66

    OVERRIDE_RETHINK   -> OVERRIDE_ENABLING;
    OVERRIDE_RETHINK   -> OVERRIDE_DISABLING;

67 68 69 70
    OVERRIDE_ENABLING  -> OVERRIDE_ENABLED   [label="ack"];
    OVERRIDE_ENABLED   -> OVERRIDE_RETHINK   [label="disable()"];
    OVERRIDE_DISABLING -> OVERRIDE_DISABLED  [label="ack"];
    OVERRIDE_DISABLED  -> OVERRIDE_RETHINK   [label="enable()"];
71

72 73 74 75
    OVERRIDE_ERROR     -> OVERRIDE_RETHINK   [label="retry"];

    OVERRIDE_ENABLING  -> OVERRIDE_NA        [label="nak"];
    OVERRIDE_DISABLING -> OVERRIDE_NA        [label="nak"];
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
  }

  subgraph clusterCONNECTION {
    CONNECTION_IDLE;
    CONNECTION_CONNECTING;
    CONNECTION_REGISTERING;
    CONNECTION_CONNECTED;
    CONNECTION_ERROR;
    CONNECTION_ANY [label="*"];

    CONNECTION_ANY           -> CONNECTION_ERROR [label="failure"];
    CONNECTION_ANY           -> CONNECTION_IDLE  [label="reset()"];

    CONNECTION_IDLE          -> CONNECTION_CONNECTING [label="start()"];
    CONNECTION_CONNECTING    -> CONNECTION_REGISTERING;
    CONNECTION_REGISTERING   -> CONNECTION_CONNECTED;

    CONNECTION_CONNECTED -> REPORTING_IDLE [style=dotted, lhead=clusterREPORTING]
    CONNECTION_CONNECTED -> OVERRIDE_IDLE  [style=dotted, lhead=clusterOVERRIDE]

96
    CONNECTION_ERROR     -> CONNECTION_CONNECTING [label="retry"];
97 98 99 100 101 102
  }
  subgraph clusterSESSION {
    SESSION_IDLE;
    SESSION_REQUESTING;
    SESSION_ACTIVE;
    SESSION_ERROR;
103
    SESSION_INVALID;
104 105 106 107 108 109
    SESSION_ANY [label="*"];

    SESSION_ANY        -> SESSION_ERROR      [label="failure"];
    SESSION_ANY        -> SESSION_IDLE       [label="reset()"];

    SESSION_IDLE       -> SESSION_REQUESTING [label="start()"];
110 111
    SESSION_REQUESTING -> SESSION_ACTIVE     [label="success"];
    SESSION_REQUESTING -> SESSION_INVALID    [label="invalid"];
112 113 114

    SESSION_ACTIVE   -> CONNECTION_IDLE [style=dotted, lhead=clusterCONNECTION]

115
    SESSION_ERROR    -> SESSION_REQUESTING [label="retry"];
116 117 118 119 120 121 122
  }

  subgraph clusterPLUGIN {
    PLUGIN_IDLE;
    PLUGIN_LOADING;
    PLUGIN_LOADED;
    PLUGIN_ERROR;
123
    PLUGIN_NA;
124 125
    PLUGIN_ANY [label="*"];

126 127 128 129 130
    PLUGIN_ANY  -> PLUGIN_IDLE       [label="reset()"];
    PLUGIN_IDLE -> PLUGIN_LOADING    [label="load()"];
    PLUGIN_LOADING -> PLUGIN_NA      [label="not-available"];
    PLUGIN_LOADING -> PLUGIN_LOADED  [label="loaded"];
    PLUGIN_ANY     -> PLUGIN_ERROR   [label="failure"];
131

132
    PLUGIN_LOADED  -> SESSION_IDLE   [style=dotted, lhead=clusterSESSION];
133 134

    PLUGIN_ERROR   -> PLUGIN_LOADING [label="retry"];
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
  }

  subgraph clusterSERVICE {
    SERVICE_IDLE;
    SERVICE_QUERYING;
    SERVICE_RUNNING;
    SERVICE_STOPPED;

    SERVICE_IDLE -> SERVICE_QUERYING    [label="mce_startup"];
    SERVICE_QUERYING -> SERVICE_RUNNING [label="has_owner"];
    SERVICE_QUERYING -> SERVICE_STOPPED [label="no_owner"];
    SERVICE_RUNNING -> SERVICE_STOPPED  [label="lost_owner"];
    SERVICE_STOPPED -> SERVICE_RUNNING  [label="gained_owner"];

    SERVICE_RUNNING -> PLUGIN_IDLE [style=dotted, lhead=clusterPLUGIN];
    SERVICE_STOPPED -> PLUGIN_ANY [style=dotted, lhead=clusterPLUGIN];
  }

153
}