Вы находитесь на странице: 1из 2

Слайд 2:

В прошлом семестре был написан пакет программных приложений «FSMTest-2.0»,


но оно было незакончено, а именно: в нём отсутствовали семантическая проверка XML-
документов, вывод ошибок, содержащихся в XML-документах, программы, в которых
использовалось несколько командных строк, не работали. К тому же нужно было
добавить новые реализации, которых не было в предыдущей версии.

Слайд 3:
Целью нашей работы является доработка ППП «FSMTest-2.0», и перед нами стоят
задачи избавления от выявленных недостатков и добавления новых реализаций.

Слайд 4:
Хочу напомнить принцип работы программы «FSMTest-2.0»
1. XML-файл проверяется парсером, и если документ корректный, то он
разбирается, в соответствии с требуемым форматом, и данные передаются
ядру
2. В ядре данные обрабатываются, и на их основе создаётся интерфейс
приложения
3. В созданном окне пользователь выставляется параметры, которые ему
нужны, после чего данные передаются обратно в ядро, и из ядра
поступают на исполняемый файл

Слайд 5:
При построении дерева вкладок реализаций (которые вы видите на рисунке)
использовалась только синтаксическая проверка XML-документов при помощи
библиотеки SAX. Но так как у нас существует собственный формат XML-документа, с
определёнными значениями узлов и атрибутов, было необходимо добавить ещё и
семантическую проверку,
Поскольку XML-документ может быть написан сторонним пользователем и быть
синтаксически корректным (все теги закрыты, ничего не пропущено), но его формат будет
отличаться от требуемого, и программа не сможет правильно его разобрать. Для этого
используется написанный класс парсер, который осуществляет полную проверку
документов при построении дерева.

Слайд 6:
Так же была добавлена запись всех найденных как синтаксических, так и
семантических ошибок в лог-файл, где они хранятся в определённом формате, чтобы
пользователь мог легко их найти и исправить. Для этого используется метод класса
парсер, который возвращается список ошибок, содержащихся в XML-документах.

Слайд 7:
При отладке пакета FSMTest-2.0 не работали программы, соответствующие
приложениям, в которых результаты выполнения одной командной строки являются
входными данными для выполнения другой командной строки.
На данном рисунке вы можете видеть окно интерфейса программы с несколькими
командными строками. В течение долгого времени я пытался найти ошибку в коде ППП
FSMTest-2.0, но ничего, что бы указывало на причину, не было. Затем я начал проверять
все .exe файлы, входящие в состав реализации вручную, но проблема, так же, не была
обнаружена. После чего я решил проверить XML-документы (переход на следующий
слайд)

Слайд 8:
И выяснилось, что дело в неправильно написанном XML-документе.
Например: вместо "\Partial_from_Complete.exe", было записано "\
Pertial_from_Complete.exe", а так же присутствовали параметры, с переменными, которые
не были заданы пользователем. (покажу на обведённые места, и скажу)
После устранения ошибок в соответствующем XML-документе, программа стала
работать исправно.

Слайд 9:
Кроме этого в пакет FSMTest-2.0 были интегрированы две программные
реализации, написанные магистрантами Максимом Сухоплюевым и Александром
Твардовским. Для каждой их них написаны XML-описания окна интерфейса и
добавлены в папку с XML-документами, описывающими интерфейс программ.
Реализация приложения «Synch_Seq» для поиска синхронизирующих
последовательностей в конечном автомате, написанная Сухоплюевым.
На вход она принимает:
1. Путь к файлу в формате .fsm.
На выходе получаем .txt файл, в который записаны все безызбыточные
синхронизирующие последовательности и все найденные для данного автомата
последовательности.

Слайд 10:
Реализация приложения «InterFSM» для построения пересечения двух конечных
автоматов, написанная Твардовским.
На вход она принимает:
1. Путь к файлу в формате fsm, содержащему первый конечный автомат;
2. Путь к файлу в формате fsm, содержащему второй конечный автомат;
3. Целое число, отражающее состояние первого автомата, которое будет принято
за начальное;
4. Целое число, отражающее состояние второго автомата, которое будет принято
за начальное;
5. Путь к директории, в которую будет помещён результат.
Возможные выходные реакции:
a. true – пересечение было построено (программа выдала результат);
b. false – недостаточно аргументов.

Слайд 11: своими словами.


Слайд 12: Прочитаю со слайда.
Слайд 13: Просто скажу где была конфа.
Слайд 14: Всем спасибо, Добби свободен.

Вам также может понравиться