Венский метод разработки
-
Основы VDM-SL
- VDM-SL — язык спецификации для описания программных систем.
- Используется для описания систем, которые не могут быть описаны с помощью традиционных языков программирования.
- Включает в себя контрактное программирование, где функции должны удовлетворять предварительным и постусловиям.
-
Контрактное программирование
- Предварительное условие описывает предположения, при которых функция возвращает результат, удовлетворяющий постусловию.
- Если входные данные не удовлетворяют предварительному условию, результат функции не определен.
-
Функциональное программирование
- VDM-SL поддерживает определение функций на основе функциональных языков программирования.
- Явное определение функции определяет результат через выражение над входными данными.
- Неявное определение функции может быть определено через функциональный язык программирования.
-
Моделирование на основе состояния
- Функции в VDM-SL не имеют побочных эффектов и используют операции для изменения переменных состояния.
- Операции могут быть определены как внешние, с доступом только для чтения или чтения/записи.
-
Примеры
- Максимальная функция и умножение натуральных чисел иллюстрируют неявное определение функций.
- Пример банковской системы демонстрирует использование VDM-SL для описания структуры данных.
-
Инструментальная поддержка
- VDM имеет ряд инструментов для поддержки разработки и проверки спецификаций.
- Overture — это инициатива с открытым исходным кодом для разработки совместимых инструментов.
- SpecBox и макросы LaTeX обеспечивают поддержку представления моделей VDM в математическом синтаксисе.
-
Производственный опыт
- VDM широко применяется в различных областях, включая компиляторы и разработку операционных систем.
- Существуют сравнительные показатели производительности и плотности дефектов компонентов, разработанных с использованием VDM.
-
Улучшение
- Процесс разработки включает овеществление данных и декомпозицию операций.
- Овеществление данных включает в себя уточнение абстрактных типов данных и доказательство соответствия новых операций и функций исходной спецификации.
-
Сравнение с другими формальными методами
- VDM-SL является одной из альтернатив формальным методам, таким как Z и пиджин-код.
- Пересказана только часть статьи. Для продолжения перейдите к чтению оригинала.