Александр Терентьев (aterentiev) wrote,
Александр Терентьев
aterentiev

FSM интересное решение

Писал я пару дней назад вопрос про графы-диаграммы. Спасибо всем откликнувшимся.

В процессе поиска нашел я интересный вариант. Это Graphwiz. Содержит псевдоязык и автоматические генераторы графов. Получается что-то такое:



Исходный код вполне читаем и представляет собой что-то такое, описывающее узлы и связи между ними:
[Spoiler (click to open)]
digraph finite_state_machine {

  rankdir = TD;
  size = "20";

  node [ shape = hexagon, style = filled, fillcolor = green, fontname = Verdana, fontsize = 8, label = "DR Flush" ] start;
  node [ shape = hexagon, style = filled, fillcolor = green, fontname = Verdana, fontsize = 8, label = "End" ] end;

  node [ shape = point, fillcolor = red, width = 0.2 ]; end10;

  node [ shape = rectangle, label = "Send CMD106", style = filled, color = black, fillcolor = white ]; a1;

  node [ shape = ellipse, style = filled, color = black, fillcolor = lightblue, label = "CMD106_WAIT 10" ]; fsm10; 

  # labels
  node [ shape = plaintext, label = "--> STOP\nTR10/01", fontname = Verdana, fontsize = 8, fillcolor = white ]; label_10_01;
  node [ shape = plaintext, label = "TransactionTimeout\nTR10/02", fontname = Verdana, fontsize = 8, fillcolor = white ]; label_10_02;
  node [ shape = plaintext, label = "CMD106 response received\nTR10/03", fontname = Verdana, fontsize = 8, fillcolor = white ]; label_10_03;

  #edges
  start -> a1:n; a1:s -> fsm10;

  fsm10:w -> label_10_01:n; label_10_01:s -> end10;
  fsm10 -> label_10_02:n; label_10_02:s -> end;
  fsm10:e -> label_10_03:n; label_10_03:s -> end;

}


Интересный и приятный продукт.
Tags: Инструмент, Работа
Subscribe

  • (no subject)

    Кстати, не в курсе ли мои воображаемые виртуальные друзья, может ли USB hid девайс узнать текущую установленную громкость на компе? Что он ей…

  • О полке и мебели под размер

    Давно хотелось мне завести полочку в кабинет над столом. Я рассматривал много вариантов, начиная с простых стеллажей, заканчивая самоделками. И в…

  • Доработка инструмента

    При сборке полочки для стола (а про это я еще напишу) внезапно обнаружилось, что если использовать струбцины для удержания частей под 90° и…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments