Александр Терентьев (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

  • Не получается устроить массовую бойню

    Вот решил попробовать потравить незванных аквариумных гостей ( 1, 2, 3), противогельминтным ветеринарным средством Concurat L, ибо говорят, что все…

  • Живность в аквариуме 2

    Рано радовался. Раньше не обращал внимания на маленькие зеленоватые ниточки, прикрепленные к стеклу, думал, мелкая нитчатка. Оказались гидры. Ну…

  • Живность в аквариуме

    Так как меня неделю не было дома, аквариум стоял без обитателей. Так я поначалу думал :) но растения же я туда посадил и улиток поселил... В общем,…

  • 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