Язык спецификации
-
Определение языка спецификаций
- Используется для системного анализа и проектирования систем
- Описывает систему на более высоком уровне, чем языки программирования
-
Обзор подходов к спецификации
- Не выполняется напрямую, фокусируется на «что», а не «как»
- Программы моделируются как алгебраические структуры с наборами данных и функциями
- Приоритет отдается корректности поведения при вводе/выводе
-
Примеры языков спецификаций
- ACSL: попытка контролировать английский язык
- КАСЛ: ориентирован на свойства, использует логические аксиомы
- VDM и Z: модельно-ориентированные, включают реализацию поведения
- FizzBee: язык на основе Python для спецификации дизайна
- LePUS3: визуальный язык для описания дизайна
- Идеальный Сплав: язык для описания систем с параллельными процессами
- ЛОТОС: язык для описания систем с распределенными процессами
- Электронный ЛОТОС: расширение ЛОТОС для описания электронных систем
- МММЛ: язык для описания многомерных моделей
-
Процесс уточнения спецификаций
- Уточнение включает детали реализации
- Результатом является исполняемый алгоритм на языке программирования или подмножестве языка спецификации
-
Применение языков спецификаций
- Создание доказательств корректности программ
-
Последовательность действий при спецификации
- SMV (СМВ): метод спецификации с использованием автоматов
- SDL (СДЛ): метод спецификации с использованием диаграмм состояний
- B-Метод: метод спецификации с использованием булевых функций
-
Ссылки и рекомендации
- Упоминание формальной спецификации и унифицированного языка моделирования
- Ссылки на Викисклад для материалов, связанных со спецификациями языков