Язык спецификаций

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Язык спецификаций — формальный язык, предназначенный для декларативного описания структуры, связей, свойств данных и способов их преобразований, (в отличие от активных языков) без явного упоминания порядка выполняемых действий и использования конкретных значений данных.

В отличие от языков программирования, используемых при реализации компьютерных программ, языки спецификаций применяются для проведения системного анализа, анализа требований, разработке архитектуры создаваемых программных систем и формальной верификации программного обеспечения.

Различные языки спецификаций используются для описания структуры информационной системы, моделей предметной области и других задач, связанных с разработкой ПО и БД (UML, ERD, DFD) и могут иметь как текстовый, так и бинарный формат, а также графическое представление конструкций языка. Применяются они так же для описания интерфейсов пользователя (XUL, XAML), шаблонов отчётов, преобразования документов, а также в качестве форматов передачи данных между приложениями в распределённых информационных системах (XML, JSON, CLEAR). Ещё одно применение языков спецификации — описание структур баз данных, а именно — декларативная часть SQL обычно называется Data Definition Language (DDL). При синтаксическом анализе и разборе (парсинге) применяются языки спецификаций, например, форма Бэкуса — Наура и ABNF (англ. augmented Backus-Naur form — расширенная форма Бэкуса — Наура) являются общепринятыми формальными языками спецификации сетевых протоколов и даже синтаксиса активных языков программирования; регулярные выражения аналогичны выше упомянутым нотациям, однако форма записи регулярных выражений в десятки раз компактнее, и хорошо разработаны алгоритмы парсинга с их помощью, а поддержка регулярных выражений осуществлена в подавляющем большинстве современных языков программирования.

Методы спецификаций[править | править вики-текст]

Признаки[править | править вики-текст]

Методы спецификации можно классифицировать по нескольким признакам[1]:

Языки спецификации по парадигмам[править | править вики-текст]

Использующие парадигму смены состояний[1]:

Алгебраическая парадигма[1]:

  • CASL (Common Algebraic Specification Language)

Алгебра процессов[1]:

  • EB³ (Entity-Based Black Box)

Логика[1]:

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

  • Henri Habrias, Marc Frappier Chapter 19 A Comparison of the Specification Methods // Software Specification Methods. — John Wiley & Sons, 2006. — 418 p. — ISBN 978-1-905-20934-7.
  • Bjørner, D. and Henson, M.C. Logics of Specification Languages. — Springer, 2007. — 646 p. — ISBN 9783540741077.