Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zapiska.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
170.31 Кб
Скачать
    1. Постановка задачи

Цель работы – разработать веб-приложение для автоматической верификации программ. С точки зрения пользователя, приложение должно иметь возможность работать в сети Интернет без предварительной установки каких-либо дополнительных программ помимо браузера. Пользователь должен иметь возможность создавать, сохранять редактировать и удалять проекты. Также должен иметься удобный инструмент для проектирования модели и генерирования кода.

Для этого необходимо решить следующие задачи:

  1. Обеспечить регистрацию пользователей в приложении;

  2. Обеспечить хранение проектов в базе для каждого пользователя;

  3. Разработать инструмент для проектирования автоматной модели;

  4. Разработать методику записи автоматной модели на языке Promela;

  5. Разработать способ преобразования автоматной модели в код на языке Promela.

Система должна по спроектированной автоматной модели сгенерировать промежуточный код на языке Promela, пригодный в дальнейшем для верификации с использованием верификатора SPIN.

2 Описание методов решения

2.1 Выбор языка программирования

Программное обеспечение реализовано с использованием языков PHP, JavaScript/JQuery. Также в разработке был задействован PHP-фреймворк Yii2.

PHP – основной язык при разработке веб-приложений. Можно отметить следующие достоинства:

  • Традиционность. Многие конструкции языка позаимствованы из C и Perl. Код PHP очень похож очень похож на код того же C или Pascal. PHP – язык, вобравший в себя достоинства C и Perl, нацеленный на работу в интернете, язык с простым, понятным и универсальным синтаксисом.

  • Эффективность. PHP построен по принципу транслирующего интерпретатора. Это позволяет ему обрабатывать скрипты с достаточно высокой скоростью. Производительность PHP достаточна для разработки серьезных веб-приложений.

  • Простота. При разработке на PHP отсутствует необходимость подгрузки дополнительных библиотек или настраивать компиляцию. PHP выполняет код от открывающей экранирующей последовательности (<?) до закрывающей экранирующей последовательности (?>). Если код имеет верный синтаксис, он будет выполнен. Также есть возможность встраивать части PHP кода непосредственно в html-код страниц, и они будут корректно обрабатываться PHP-интерпретатором. Наличие множества встроенных функций избавляет от написания многих пользовательских скриптов.

  • Безопасность. PHP имеет 2 типа средств безопасности: системного уровня и уровня приложения. Присутствует безопасный режим (safe mode), который ограничивает использование языка по нескольким параметрам. Также есть такая функция как шифрование и возможность интеграции с защищенными технологиями электронной коммерции. Важной особенностью является то, что код PHP нельзя посмотреть напрямую в браузере – сценарий компилируется до его отправки пользователю.

  • Гибкость. Отличная гибкость достигается за счет встраиваемости языка. PHP отлично интегрируется с множеством языков, такими как JavaScript, HTML, XML и другими. Приложения, написанные на PHP, обладают хорошей расширяемостью. Отсутствует зависимость от браузеров, так как скрипты полностью компилируются на стороне сервера. Также отсутствует привязка о каком-то конкретному веб-серверу.

  • Бесплатность. Выбрана стратегия распространения Open Source, исходные коды PHP находятся в свободном доступе, что благотворно сказалось на развитии языка.

Трудно представить современное веб-приложение, написанное без использования JavaScript/JQuery.

JQuery – это кроссплатформенная библиотека, упрощающее взаимодействие между JavaScript и HTML. JavaScript довольно неудобен и сложен для понимания. JQuery упрощает использование JavaScript настолько, насколько это возможно, а также делает программирование на нем приятнее и легче. Фреймворком JQuery пользуются в своих проектах признанные мировые компании, как Microsoft, Google, и многие российские, такие как Яндекс.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]