SP-DEVS - Википедия - SP-DEVS

SP-DEVS Сокращение «Спецификация системы дискретных событий с сохранением расписания» - это формализм для моделирования и анализа систем дискретных событий как с помощью моделирования, так и с помощью методов проверки. SP-DEVS также предоставляет функции модульного и иерархического моделирования, унаследованные от Classic. DEVS.

История

SP-DEVS был разработан для поддержки верификационного анализа своих сетей, гарантируя получение конечного графа достижимости исходных сетей, что было открытой проблемой формализма DEVS примерно 30 лет. Чтобы получить такой граф достижимости своих сетей, на SP-DEVS были наложены три ограничения:

  1. конечность наборов событий и набора состояний,
  2. продолжительность жизни состояния может быть запланирована с помощью рационального числа или бесконечности, и
  3. сохранение внутреннего расписания от любых внешних событий.

Таким образом, SP-DEVS является подклассом обоих DEVS и FD-DEVS. Эти три ограничения приводят к тому, что класс SP-DEVS закрывается при связывании, даже если число состояний конечно. Это свойство обеспечивает проверку некоторых качественных и количественных свойств на основе графа с конечными вершинами даже с моделями, связанными с SP-DEVS.

Пример контроллера пешеходного перехода

Системные Требования
Рис. 1. Система пешеходного перехода
Рис. 2. Модель SP-DEVS для контроллера освещения пешеходного перехода.

Рассмотрим систему пешеходного перехода. Так как красный свет (или световой сигнал запрета на прогулку) ведет себя противоположно зеленому свету (соответственно свету пешехода), для простоты мы рассматриваем только два огня: зеленый свет (G) и светильник для пешеходов (W ); и одну кнопку, как показано на рис. 1. Мы хотим управлять двумя индикаторами G и W с набором временных ограничений.

Для инициализации двух индикаторов требуется 0,5 секунды, чтобы включить G, а через 0,5 секунды W погаснет. Затем каждые 30 секунд существует вероятность того, что G погаснет, а W включится, если кто-то нажал кнопку. По соображениям безопасности W загорается через две секунды после выхода G. 26 секунд спустя W выходит, а через две секунды снова включается G. Такое поведение повторяется.

Дизайн контроллера

Чтобы создать контроллер, отвечающий вышеуказанным требованиям, мы можем рассмотреть одно входное событие «кнопка» (сокращенно? P) и четыре выходных события «зеленый свет» (! G: 1), «зеленый выключен» (! G: 0), «прогулка» (! W: 1) и «прогулка» (! W: 0), которые будут использоваться как сигналы команд для зеленого и пешеходного света. В качестве набора состояний контроллера мы рассматриваем «зеленый при загрузке» (BG), «переход при загрузке» (BW), «включение зеленого» (G), «зеленый-красный» (GR), красный цвет (R), прогулка (W), задержка (D). Давайте спроектируем переходы между состояниями, как показано на рис. 2. Первоначально контроллер запускается с BG, срок службы которого составляет 0,5 секунды. По истечении срока службы он переходит в состояние BW, в этот момент он также генерирует событие «зеленый свет». Через 0,5 секунды пребывания в BW он переходит в состояние G, время жизни которого составляет 30 секунд. Контроллер может оставаться в G, перебирая G в G без генерации какого-либо выходного события, или может перейти в состояние GR, когда он получает внешнее входное событие? P. Но фактическое время пребывания в GR - оставшееся время для цикла в G. Из GR он переходит в состояние R с генерацией выходного события! g: 0 и его состояние R последние две секунды, затем он переходит в состояние W с выходным событием! w: 1. 26 секунд спустя он переходит в состояние D с генерацией! W: 0 и после 2 секунд пребывания в D возвращается к G с выходным событием! G: 1.

Атомарный SP-DEVS

Формальное определение

Вышеупомянутый контроллер для пешеходных огней может быть смоделирован атомарной моделью SP-DEVS. Формально атомарный SP-DEVS представляет собой 7-кортеж

куда

  • является конечный набор входных событий;
  • является конечный набор выходных событий;
  • является конечный набор состояний;
  • является начальное состояние;
  • является расширенная функция времени который определяет продолжительность жизни состояния, в котором - это множество неотрицательных рациональных чисел плюс бесконечность.
  • является функция внешнего перехода который определяет, как событие ввода изменяет состояние системы.
  • является функция вывода и внутреннего перехода куда и обозначает тихое событие. Функция вывода и внутреннего перехода определяет, как состояние генерирует событие вывода, и в то же время как состояние изменяется внутри.[1]
Официальное представление контролера пешеходного перехода

Указанный выше контроллер, изображенный на рис.2, можно записать как куда = {? p}; = {! g: 0,! g: 1,! w: 0,! w: 1}; = {BG, BW, G, GR, R, W, D}; = BG, (BG) = 0,5,(BW) = 0,5, (G) = 30, (GR) = 30,(R) = 2, (Вт) = 26, (D) = 2; (G,? P) = GR, (s,? p) = s, если s ГРАММ; (BG) = (! G: 1, BW), (BW) = (! W: 0, G),(G) = (, ГРАММ), (GR) = (! G: 0, R), (R) = (! W: 1, W), (W) = (! W: 0, D), (D) = (! G: 1, G);

Поведение модели SP-DEVS

Рис. 3. Сегмент события и его траектория состояния модели SP-DEVS.

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

Рис 3. показывает траекторию состояния, связанную с сегментом события модели SP-DEVS, показанной на рис. 2. Вверху на рис. показывает траекторию события, в которой горизонтальная ось является осью времени, поэтому она показывает, что событие происходит в определенное время, например,! g: 1 происходит в 0,5 и! w: 0 в 1,0 единицу времени и так далее. Внизу рисунка 3 показана траектория состояния, связанная с указанным выше сегментом события, в котором состояние связан с его продолжительностью жизни и прошедшим временем в виде . Например, (G, 30, 11) означает, что состояние - G, его продолжительность жизни и прошедшее время - 11 единиц времени. Сегменты линии в нижней части рис. 3 показывают временной поток прошедшего времени, который является единственной непрерывной переменной в SP-DEVS.

Одной интересной особенностью SF-DEVS может быть сохранение расписания - ограничение (3) SP-DEVS, которое нарисовано в момент времени 47 на рис. 3., когда происходит внешнее событие? P. В этот момент, даже если состояние может измениться с G на GR, прошедшее время не изменится, поэтому сегмент линии не будет разорван в момент 47 и может вырасти до который в этом примере равен 30. Благодаря такому сохранению расписания от входных событий, а также ограничению временного перехода неотрицательным рациональным числом (см. Ограничение (2) выше), высота каждой пилы может быть неотрицательным рациональным числом или бесконечностью. (как показано в нижней части рис. 3.) в модели SP-DEVS.

SP-DEVS - это подкласс DEVS

Модель SP-DEVS, является DEVS куда

  • из такие же, как у .
  • Учитывая состояние ,
  • Учитывая состояние и событие ввода
  • Учитывая состояние , если
  • Учитывая состояние , если

Преимущества

  • Применимость абстракции временной шкалы

Свойство неотрицательной рациональной продолжительности жизни, которая не изменяется входными событиями вместе с конечным числом состояний и событий, гарантирует, что поведение сетей SP-DEVS может быть абстрагировано как эквивалентный граф достижимости с конечными вершинами, абстрагируя бесконечно- много значений прошедшего времени.

Чтобы абстрагироваться от бесконечного числа случаев истекшего времени для каждого компонента сетей SP-DEVS, используется метод абстракции времени, называемый абстракция шкалы времени был введен [Hwang05],[HCZF07] в котором сохранены порядок и относительная разница расписаний. Используя технику абстракции шкалы времени, поведение любой сети SP-DEVS можно абстрагировать как граф достижимости, число вершин и ребер которого конечно.

  • Разрешимость безопасности

В качестве качественного свойства безопасность сети SP-DEVS может быть решена путем (1) создания графа достижимости конечных вершин данной сети и (2) проверки достижимости некоторых плохих состояний. [Hwang05].

  • Разрешимость жизни

В качестве качественного свойства живучесть сети SP-DEVS разрешима: (1) генерируя граф достижимости с конечными вершинами (RG) данной сети, (2) из ​​RG, генерируя ядро ориентированный ациклический граф (KDAG), в котором вершина компонент сильной связности и (3) проверка того, содержит ли вершина KDAG цикл перехода состояний, который содержит набор состояний жизнеспособности[Hwang05].

  • Разрешимость минимального / максимального времени обработки

В качестве количественного свойства минимальные и максимальные границы времени обработки из двух событий в сетях SP-DEVS могут быть вычислены путем (1) создания графа достижимости с конечными вершинами и (2.a) путем нахождения кратчайших путей для минимального времени обработки. и (2.b) путем нахождения самых длинных путей (если они доступны) за максимальное время обработки. [HCZF07].

Недостатки

  • Меньшая выразительность: проблема OPNA

Пусть общее состояние модели SP-DEVS быть пассивный если ; в противном случае это будет активный.

Одним из известных ограничений SP-DEVS является феномен, заключающийся в том, что «как только модель SP-DEVS становится пассивной, она больше никогда не становится активной (OPNA)». Это явление было впервые обнаружено [Hwang 05b] хотя изначально он назывался ODNR («если он умирает, он никогда не возвращается»). Причина, по которой это происходит, заключается в ограничении (3) выше, в котором никакое событие ввода не может изменить расписание, поэтому пассивное состояние не может быть пробуждено в активное состояние.

Например, модели тостеров, изображенные на рис. 3 (b), не являются SP-DEVS, потому что общее состояние, связанное с «бездействием» (I), является пассивным, но оно переходит в активное состояние «тост» (T), чье значение время составляет 20 секунд или 40 секунд. Фактически модель, показанная на рис. 3 (б), является FD-DEVS.

Инструмент

Существует библиотека с открытым исходным кодом под названием DEVS # по адресу http://xsy-csharp.sourceforge.net/DEVSsharp/, который поддерживает некоторые алгоритмы определения безопасности и живучести, а также ограничения времени обработки Min / Max.

Сноски

  1. ^ можно разделить на две функции: и как в [ZKP00].

Рекомендации

  • [Hwang05] М. Х. Хван, "Учебное пособие: Проверка системы реального времени на основе сохраненных по расписанию DEVS", Материалы симпозиума 2005 DEVS, Сан-Диего, 2-8 апреля 2005 г., ISBN  978-1-56555-293-7 (Доступны на http://moonho.hwang.googlepages.com/publications )
  • [Hwang05b] М. Х. Хван, «Генерация конечного глобального поведения реконфигурируемых систем автоматизации: подход DEVS», Труды 2005 IEEE-CASE, Эдмонтон, Канада, 1-2 августа 2005 г. (доступно на http://moonho.hwang.googlepages.com/publications )
  • [HCZF07] М. Х. Хван, С. К. Чо, Бернард Зейглер и Ф. Линь, «Границы времени обработки сохраняющих график DEVS», Технический отчет ACIMS, 2007 г. (Доступно на http://www.acims.arizona.edu и http://moonho.hwang.googlepages.com/publications )
  • [Sedgewick02], R. Sedgewick, Алгоритмы в C ++, часть 5 Графический алгоритм, Эддисон Уэсли, Бостон, третье издание
  • [ZKP00] Бернард Зейглер, Тэг Гон Ким, Герберт Прахофер (2000). Теория моделирования и моделирования (второе изд.). Academic Press, Нью-Йорк. ISBN  978-0-12-778455-7.CS1 maint: несколько имен: список авторов (связь)