- •Цель работы:
- •Ход работы:
- •13:03:11,708 Info [Run] Finish on-enter action [o1.Z0] execution
- •13:03:15,147 Info [Run] Start on-enter action [o1.Z0] execution
- •13:03:15,648 Info [Run] Finish on-enter action [o1.Z0] execution
- •13:03:41,700 Info [Run] Start on-enter action [o1.Z0] execution
- •13:03:43,200 Info [Run] Finish on-enter action [o1.Z0] execution
Министерство образования и науки РФ
ФГБОУ ВПО «Восточно-Сибирский государственный университет технологий и управления»
Электротехнический факультет
Кафедра систем информатики
Дисциплина «Автоматное программирование»
ОТЧЕТ
по лабораторной работе № 3
на тему “Решение задачи с использованием ООП с явным выделением состояний”
|
Выполнил: студент гр.Б-662 Жамбалов Э.Б. |
|
Проверила: Хаптахаева Н.Б. |
Улан-Удэ
2015
Цель работы:
Словесное описание системы
«Умный светофор» - светофор, меняющий свое состояние в случае присутствия пешеходов и автомобилей у пешеходного перехода. АС – режим светофора для автомобилей, ПС – режим светофора для пешеходов.
По умолчанию в АС горит зеленый, а в ПС горит красный, т.к. останавливаться перед светофором людям намного легче, чем автомобиля. Таймер отсчитывает каждые 5 секунд, по их истечению происходит проверка. Сначала идет проверка на наличие пешеходов, если их нет, то зеленый продолжает гореть. Если появляется пешеход, то зеленый в АС мигает, затем гаснет, а вместо него загорается сначала желтый, затем красный, в ПС загорается зеленый, позволяя идти пешеходам.
Пешеходы переходят через дорогу. Если в течение 5 секунд пешеходов не появилось, то в ПС мигает зеленый, затем загорается красный, а в АС загорается зеленый, позволяя ехать машинам.
Должна быть построена модель для решения задачи “моделирование работы «умного» светофора”. Лабораторная работа должна быть выполнена в среде UniMod.
Спроектировать систему в соответствие с принципами ООП с явным выделением состояний.
Описать разработанную модель с использованием нотации автоматного программирования. Схемы связей и диаграммы переходов строить в UniMod.
Реализовать проект в среде UniMod: сгенерировать код и запрограммировать входные и выходные воздействия.
Ход работы:
События:
е1 – Нажата кнопка «добавить машину»;
е2 –Нажата кнопка «Добавить пешехода»;
е3 – Выключение светофора;
Входные воздействия:
x1 – Есть ли в очереди пешеходы;
x2 – Есть ли в очереди машины;
x3 – Должен ли поменяться цвет светофора;
Выходные воздействия:
z0 – Горит зеленый для машин;
z1 – Мигает зеленый для машин;
z2 – Горит желтый для машин;
z3 – Горит красный для машин;
z4 – Горит зеленый для пешеходов;
z5 – Мигает зеленый для пешеходов;
z6 – Горит красный для пешеходов и красный /желтый для машин;
z8 – Появление новых машин;
z9 – Появление новых пешеходов.
Рисунок 1 – схема связей;
Рисунок
2 – Граф автомата А1
Реализация программы
Программа реализована в среде Unimod на языке Java.
13:03:11,703 INFO [Run] Start event [e101] processing. In state [/A1:Top]
13:03:11,703 INFO [Run] Transition to go found [s1#зеленый АС##true]
13:03:11,703 INFO [Run] Start on-enter action [o1.z0] execution
Горит зеленый для машин
Нажимайте 1, для добавления автомобиля или 2 для добавления пешехода; q для выключения светофора:
13:03:11,706 INFO [Run] Finish on-enter action [o1.z0] execution
13:03:11,706 DEBUG [Run] Try transition [зеленый АС#зеленый АС#e101#true]
13:03:11,708 INFO [Run] Transition to go found [зеленый АС#зеленый АС#e101#true]
13:03:11,708 INFO [Run] Start on-enter action [o1.z0] execution
Горит зеленый для машин
Нажимайте 1, для добавления автомобиля или 2 для добавления пешехода; q для выключения светофора:
13:03:11,708 Info [Run] Finish on-enter action [o1.Z0] execution
13:03:11,708 INFO [Run] Finish event [e101] processing. In state [/A1:зеленый АС]
1
13:03:15,146 INFO [Run] Start event [e1] processing. In state [/A1:зеленый АС]
13:03:15,147 DEBUG [Run] Try transition [зеленый АС#зеленый АС#e1#true]
13:03:15,147 INFO [Run] Transition to go found [зеленый АС#зеленый АС#e1#true]
13:03:15,147 INFO [Run] Start output action [o1.z8] execution
1-я машина ждет
13:03:15,147 INFO [Run] Finish output action [o1.z8] execution
