Commit | Line | Data |
---|---|---|
970ed795 | 1 | /////////////////////////////////////////////////////////////////////////////// |
3abe9331 | 2 | // Copyright (c) 2000-2015 Ericsson Telecom AB |
970ed795 EL |
3 | // All rights reserved. This program and the accompanying materials |
4 | // are made available under the terms of the Eclipse Public License v1.0 | |
5 | // which accompanies this distribution, and is available at | |
6 | // http://www.eclipse.org/legal/epl-v10.html | |
7 | /////////////////////////////////////////////////////////////////////////////// | |
8 | /* state machine of a HC as the MC sees */ | |
9 | ||
10 | digraph state_mach_mc_hc { | |
11 | // states | |
12 | node [fontsize=20]; | |
13 | // start state (invisible) | |
14 | START [style=invis] | |
15 | // durable states | |
16 | node [shape=box,style="filled,rounded",fillcolor=lightgray]; | |
17 | IDLE; | |
18 | ACTIVE [height=1.5,width=3,fixedsize=true,fontsize=28]; | |
19 | OVERLOADED; | |
20 | DOWN; | |
21 | // transient states | |
22 | node[shape=box,style=rounded]; | |
23 | CONFIGURING; | |
24 | CONFIGURING_OVERLOADED; | |
25 | EXITING; | |
26 | // edges | |
27 | edge [fontsize=14]; | |
28 | START -> IDLE [arrowtail=odot]; | |
29 | {IDLE; ACTIVE} -> CONFIGURING [label="configure()/\nCONFIGURE"]; | |
30 | CONFIGURING -> ACTIVE [label="CONFIGURE_ACK"]; | |
31 | CONFIGURING -> IDLE [label="CONFIGURE_NAK/\nerror"]; | |
32 | ACTIVE -> OVERLOADED [label="CREATE_NAK/\nnotify"]; | |
33 | ACTIVE -> ACTIVE [label="create_mtc()/\nCREATE_MTC"]; | |
34 | ACTIVE -> ACTIVE [label="CREATE_REQ/\nCREATE_PTC"]; | |
35 | OVERLOADED -> ACTIVE [label="HC_READY/\nnotify"]; | |
36 | OVERLOADED -> CONFIGURING_OVERLOADED [label="configure()/\nCONFIGURE"]; | |
37 | CONFIGURING_OVERLOADED -> OVERLOADED [label="CONFIGURE_ACK"]; | |
38 | CONFIGURING_OVERLOADED -> IDLE [label="CONFIGURE_NAK/\nerror"]; | |
39 | CONFIGURING_OVERLOADED -> CONFIGURING [label="HC_READY/\nnotify"]; | |
40 | {IDLE; CONFIGURING; ACTIVE; OVERLOADED; CONFIGURING_OVERLOADED} -> EXITING [label="shutdown_session()/\nEXIT_HC"]; | |
41 | EXITING -> DOWN [label="connection termination"]; | |
42 | // error handling edges | |
43 | // commented out, to get a clearer picture :) | |
44 | /* | |
45 | {IDLE; CONFIGURING; ACTIVE; OVERLOADED; CONFIGURING_OVERLOADED} -> DOWN [label="connection termination/\nerror"]; | |
46 | */ | |
47 | } |