File: state_mach_mc.dot

package info (click to toggle)
eclipse-titan 8.2.0-1
  • links: PTS
  • area: main
  • in suites: bookworm, sid
  • size: 103,544 kB
  • sloc: cpp: 271,008; ansic: 33,683; yacc: 23,419; makefile: 15,483; lex: 9,204; java: 4,848; perl: 4,555; sh: 2,242; xml: 1,378; javascript: 85; awk: 48; php: 32; python: 13
file content (69 lines) | stat: -rw-r--r-- 2,968 bytes parent folder | download
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
///////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2000-2021 Ericsson Telecom AB
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v2.0
// which accompanies this distribution, and is available at
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
///////////////////////////////////////////////////////////////////////////////
/* state machine of the MC */

digraph state_mach_mc {
  // states
  node [fontsize=20];
  // start state (invisible)
  START [style=invis]
  // durable states
  node [shape=box,style="filled,rounded",fillcolor=lightgray];
  INACTIVE;
  LISTENING;
  LISTENING_CONFIGURED;
  HC_CONNECTED;
  ACTIVE;
  READY;
  EXECUTING_CONTROL;
  EXECUTING_TESTCASE;
  PAUSED;
  // transient states
  node[shape=box,style=rounded];
  SHUTDOWN;
  CONFIGURING;
  CREATING_MTC;
  TERMINATING_MTC;
  TERMINATING_TESTCASE;
  // edges
  edge [fontsize=14];
  START -> INACTIVE [arrowtail=odot];

  INACTIVE -> LISTENING [label="start_session()/\nlisten()"];
  {LISTENING; LISTENING_CONFIGURED} -> INACTIVE [label="shutdown_session()/\nclose()"];
  {HC_CONNECTED; ACTIVE} -> SHUTDOWN [label="shutdown_session()/\nEXIT_HC"];
  LISTENING -> HC_CONNECTED [label="VERSION/\n-"];
  HC_CONNECTED -> HC_CONNECTED [label="VERSION/\n-"];
  SHUTDOWN -> INACTIVE [label="all_hc_down()/\n-"];
  {HC_CONNECTED; ACTIVE} -> CONFIGURING [label="configure()/\nCONFIGURE"];
  {LISTENING; LISTENING_CONFIGURED} -> LISTENING_CONFIGURED [label="configure()/\n-"];
  LISTENING_CONFIGURED -> CONFIGURING [label="VERSION/\nCONFIGURE"];
  CONFIGURING -> CONFIGURING [label="VERSION/\n-"];
  CONFIGURING -> ACTIVE [label="all_hc_configured()/\n-"];
  ACTIVE -> CONFIGURING [label="VERSION/\nCONFIGURE"];
  CONFIGURING -> HC_CONNECTED [label="CONFIGURE_NAK/\nerror"];
  ACTIVE -> CREATING_MTC [label="create_mtc()/\nCREATE_MTC"];
  CREATING_MTC -> ACTIVE [label="CREATE_NAK/\nerror"];
  CREATING_MTC -> READY [label="MTC_CREATED/\n-"];
  READY -> TERMINATING_MTC [label="exit_mtc()/\nEXIT_MTC"];
  TERMINATING_MTC -> ACTIVE [label="MTC_connection_terminates/\n-"];
  READY -> EXECUTING_CONTROL [label="execute_control()/\nEXECUTE_CONTROL"];
  READY -> EXECUTING_CONTROL [label="execute_testcase()/\nEXECUTE_TESTCASE"];
  EXECUTING_CONTROL -> READY [label="MTC_READY/\n-"];
  EXECUTING_CONTROL -> EXECUTING_TESTCASE [label="TESTCASE_STARTED/\n-"];
  EXECUTING_TESTCASE -> TERMINATING_TESTCASE [label="TESTCASE_FINISHED/\nSTOP"];
  TERMINATING_TESTCASE -> EXECUTING_CONTROL [label="all_PTCs_terminated/\nPTC_VERDICT"];
  TERMINATING_TESTCASE -> PAUSED [label="all_PTCs_terminated/\nPTC_VERDICT"];
  PAUSED -> EXECUTING_CONTROL [label="continue_testcase()/\nCONTINUE"];

  // error handling edges
  // commented out, to get a clearer picture :)
  /*
  {HC_CONNECTED; CONFIGURING; ACTIVE} -> LISTENING_CONFIGURED [label="all_hc_down()/\nerror"];
  */
}