Пример взаимодействующих автоматов — различия между версиями
Материал из Wiki
ANA (обсуждение | вклад) м (→Подграф для LastThread) |
ANA (обсуждение | вклад) м (→Граф переходов для 3 потоков) |
||
| Строка 155: | Строка 155: | ||
digraph G { | digraph G { | ||
ratio = "auto" ; | ratio = "auto" ; | ||
| − | Cal_Free [label="CalFree: 0001\n cal_ready = | + | Cal_Free [label="CalFree: 0001\n cal_ready = 111\n last_thread = 2|1|0" style=bold] |
Cal_RST [shape=none label=""] | Cal_RST [shape=none label=""] | ||
{ rank=same | { rank=same | ||
| − | Cal_Work11 [label=" | + | Cal_Work11 [label="CalWork_10: 0010\n cal_ready = *10\n last_thread = 0"] |
| − | Cal_Work12 [label=" | + | Cal_Work12 [label="CalWork_11: 0010\n cal_ready = *01\n last_thread = 1"] |
| + | Cal_Work13 [label="CalWork_12: 0010\n cal_ready = *01\n last_thread = 2"] | ||
} | } | ||
| − | Cal_Work2 [label="CalWork_2: 0100\n cal_ready = | + | Cal_Work2 [label="CalWork_2: 0100\n cal_ready = 001|010|100\n last_thread = 2|1|0"] |
| − | Cal_Work3 [label="CalWork_3: 1000\n cal_ready = | + | Cal_Work3 [label="CalWork_3: 1000\n cal_ready = 001|010|100\n last_thread = 2|1|0"] |
Cal_RST -> Cal_Free [label="reset"] | Cal_RST -> Cal_Free [label="reset"] | ||
| − | Cal_Free -> Cal_Work11 [label="cal_req = | + | Cal_Free -> Cal_Work11 [label="cal_req = 001\nlast_thread = 0|1|2"] |
| − | Cal_Free -> Cal_Work12 [label="cal_req = | + | Cal_Free -> Cal_Work11 [label="cal_req = 011\nlast_thread = 1"] |
| − | Cal_Free -> Cal_Work12 [label="cal_req = | + | Cal_Free -> Cal_Work11 [label="cal_req = --1\nlast_thread = 2"] |
| − | Cal_Free -> | + | |
| + | Cal_Free -> Cal_Work12 [label="cal_req = 010\nlast_thread = 0|1|2"] | ||
| + | Cal_Free -> Cal_Work12 [label="cal_req = 110\nlast_thread = 2"] | ||
| + | Cal_Free -> Cal_Work12 [label="cal_req = -1-\nlast_thread = 0"] | ||
| + | |||
| + | Cal_Free -> Cal_Work13 [label="cal_req = 100\nlast_thread = 0|1|2"] | ||
| + | Cal_Free -> Cal_Work13 [label="cal_req = 101\nlast_thread = 0"] | ||
| + | Cal_Free -> Cal_Work13 [label="cal_req = 1--\nlast_thread = 1"] | ||
Cal_Work11 -> Cal_Work2 | Cal_Work11 -> Cal_Work2 | ||
Cal_Work12 -> Cal_Work2 | Cal_Work12 -> Cal_Work2 | ||
| + | Cal_Work13 -> Cal_Work2 | ||
Cal_Work2 -> Cal_Work3 | Cal_Work2 -> Cal_Work3 | ||
| − | Cal_Work3 -> Cal_Free [label="cal_req = | + | Cal_Work3 -> Cal_Free [label="cal_req = 000"] |
| − | Cal_Free -> Cal_Free [label="cal_req = | + | Cal_Free -> Cal_Free [label="cal_req = 000"] |
| − | Cal_Work3 -> Cal_Work12 [label="cal_req = 11\nlast_thread = 0"] | + | Cal_Work3 -> Cal_Work12 [label="cal_req = 11?\nlast_thread = 0"] |
| − | Cal_Work3 -> Cal_Work11 [label="cal_req = 11\nlast_thread = 1"] | + | Cal_Work3 -> Cal_Work11 [label="cal_req = 11?\nlast_thread = 1"] |
| + | Cal_Work3 -> Cal_Work13 [label="cal_req = 11?\nlast_thread = 2"] | ||
} | } | ||
| Строка 201: | Строка 211: | ||
last_thread0 -> last_thread2 [label="cal_req = 10-"] | last_thread0 -> last_thread2 [label="cal_req = 10-"] | ||
| − | last_thread1 -> last_thread0 [label="cal_req = | + | last_thread1 -> last_thread0 [label="cal_req = 0-1"] |
last_thread1 -> last_thread1 [label="cal_req = 010|000"] | last_thread1 -> last_thread1 [label="cal_req = 010|000"] | ||
last_thread1 -> last_thread2 [label="cal_req = 1--"] | last_thread1 -> last_thread2 [label="cal_req = 1--"] | ||
last_thread2 -> last_thread0 [label="cal_req = --1"] | last_thread2 -> last_thread0 [label="cal_req = --1"] | ||
| − | last_thread2 -> last_thread1 [label="cal_req = | + | last_thread2 -> last_thread1 [label="cal_req = -10"] |
last_thread2 -> last_thread2 [label="cal_req = 100|000"] | last_thread2 -> last_thread2 [label="cal_req = 100|000"] | ||
Версия 14:20, 19 ноября 2017
Содержание |
Расширенный вариант графа переходов
Очень Расширенный вариант графа переходов
Pictures
Граф переходов для 3 потоков
Подграф для LastThread