2016-11-27 2 views
2

Это моя первая работа в сети Петри, и я хочу смоделировать стиральную машину. Я начал, и это выглядит, как это до сих пор:Стиральная машина petri net

У вас есть какие-то корректировки или помочь? Я, очевидно, знаю, что это не правильно, но я новичок и не осознаю ошибок, которые вы, ребята, можете увидеть. Заранее спасибо.

+1

Ну, сеть Петри не имеет ничего общего с UML. В UML вместо этого вы используете диаграмму конечного автомата. Поэтому, пожалуйста, удалите тег UML, поскольку он здесь неактуальен. – Ister

+0

@Ister Я знаю, я полностью осведомлен и довольно удобен с UML, но сети Петри, кажется, действительно непопулярны здесь, и я думал, что это привлечет больше внимания таким образом. Мне жаль, что я знаю его плохое –

+0

не имеет ничего общего с программированием, а также UML –

ответ

1

Первые комментарии на пути вашей сети, о рабочих:

  • нет никакого стрелка назад в off состоянии. Итак, как только вы включите свою стиральную машину, разве вы никогда не сможете ее отключить?
  • drain и dry оба ведут обратно к idle. Но когда в режиме ожидания есть токен, он либо переходит в деликатный, либо в T1. Условия («программа», выбранная оператором) не исчезают, поэтому они будут срабатывать снова и снова.

Учитывая последнее, я предлагаю, чтобы в конце программы не было свободного места, чтобы избежать этой езды на велосипеде. Если вам нужно пройти несколько раз через одно и то же состояние, но выполнять разные действия в зависимости от прогресса, вам нужно работать с большим количеством токенов.

Несколько замечаний о форме чистой в:

  • вам не нужно положить 1 на каждой дуге. Вы можете сделать это более читаемым, Оставив 1 выход и указав номер на дуге, только если потребуется более одного токена.
  • Обычно переходы не выровнены с дугами (хотя ничто не запрещает), а перпендикулярно потоку (здесь горизонтально)
  • В принципе, «места» (узлы) представляют состояния или ресурсы, а «переходы "(прямоугольники) представляют событие, которое изменяет состояние (или действие, которое потребляет ресурсы). Ваше соглашение об именах должно лучше отражать это
0

Видимо, вам не хватает какого-либо условия, чтобы остановить процесс. Теперь, как только вы начнете, ваша стирка продолжится в бесконечном цикле.

+0

Спасибо, да, вы правы, я добавлю стрелку с условием исправить это. Вы видите какие-то другие принципиально неправильные вещи? –

0

Я думаю, было бы неплохо оставить переходную графику незаштрихованной или незаполненной, если она не включена. Лично я заполняю его зеленым, если он включен.

Если вы хотите, чтобы кто-то проверил, правильно ли вы правильно моделировали логику в вашей сети Петри, было бы неплохо, если бы вы включили описание вашей системной логики в прозу.

Смежные вопросы