Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК по курсу ТРПС / ТРПС - Комплексное пособие.doc
Скачиваний:
198
Добавлен:
12.03.2015
Размер:
2.63 Mб
Скачать

Обзор используемых подходов

Рассмотрим кратко используемые языки и подходы формальной разработки.

Нотация Z(Z notation) – ЯФС, названный по теории множеств Цермело – Френкеля и основанный на стандартной математической системе обозначений, используемой аксиоматической теорией множеств, лямбда-исчислением и логикой предикатов первого порядка. Предложен в 1977 г. Ж.–Р. Абриалем совместно с С. Шуманом и Б. Мейером. В дальнейшем развивался Исследовательской группой по программированию Оксфордского университета, в которой Ж.‑Р. Абриаль работал в начале 1980‑х гг. Этот язык послужил основой для многих других ЯФС (Z++,Object‑Z,Alloy), подходов (B‑Method) и средств (проектCZT, средаZETA).

Язык общей алгебраической спецификации(CASL) – общецелевой ЯФС, основанный на логике первого порядка с индукцией и поддерживающий некоторые дополнительные возможности. Разработан группой Инициатива по созданию общих каркасов, целью которой является категоризация большинства существующих языков спецификации. Существует множество разнообразных расширений языкаCASL(HasCASL,CoCASL,ModalCASL,CASL-LTL,HetCASL).

B‑Метод(B‑Method) – подход формальной разработки, использующий формальный методB. Он базируется на языкеАбстрактно-машинная нотация(AMN) – ЯФС для спецификации абстрактных машин, основанный на математической теории обобщённых подстановок. МетодBразработан Ж.–Р. Абриалем как развитие нотацииZ, но является более низкоуровневым и более акцентированным на усовершенствовании кода. На основеBреализовано множество инструментальных средств (ABTools,Atelier B,B4free,jbtools,ProB,Batcave) и платформ (BRILLIANT,Rodin).

Венский метод разработки (VDM) – подход формальной разработки с использованием ЯФСVDM‑SLдля моделирования систем на высоком уровне абстракции. Разработан в Венской лаборатории фирмыIBMв 1970‑х гг. Первоначально в виде Венского языка определения, а затем метаязыкаMeta-IV, использовался для разработки компиляторов для языков программирования из определений этих языков. В дальнейшем вVDMбыли включены методики и средства, разработанные наVDM‑SL. В частности расширение подхода под названиемVDM++поддерживает объектно-ориентированные и параллельные системы. ДляVDMиVDM++существуют и средства разработки (VDMTools,Overture).

Исчисление процессов(Process calculi,Process calculus) илиАлгебры процессов(Process algebras) – разнородное семейство связанных языков и подходов формального моделирования параллельных систем. Оно обеспечивает возможность высокоуровневого описания взаимодействия, коммуникации и синхронизации набора независимых процессов, в также манипуляции описаниями процессов. Обзор подходов исчисления процессов приведён ниже.

Несмотря на чрезвычайное разнообразие подходов исчисления процессов, можно выделить следующие три общие особенности:

1. Представление взаимодействия между независимыми процессами как коммуникации (передачи сообщений –message-passing), а не как модификации разделяемых переменных.

2. Описание процессов и систем с использованием небольшого набора примитивов, а также операторов для комбинирования этих примитивов.

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

Самыми известными до сих пор подходами исчисления процессов являются CCS,CSPиACP. Современными подходами исчисления процессов являются‑исчисление, исчисление среды,PEPA(Алгебра процессов для оценки производительности), исчисление слияния.

Исчисление взаимодействующих систем(CCS) – подход формальной разработки в рамках исчисления процессов, тесно связанный с исследованием теоретических положений и практических методов в области организации, взаимодействия и эквивалентности процессов. Создан Р. Милнером между 1973 г. и 1980 г. (изложен в книге в 1980 г.). Под взаимным влияниемCCSиCSPдля обоих подходов был разработан ряд усовершенствований. НаCCSреализовано несколько языков (CBS,LOTOS), кроме того для изученияCCS‑подобных систем применяются такие модели, как моноид истории и модель актёра.

Взаимодействующие последовательные процессы(CSP) – подход для описания образцов взаимодействия в параллельных системах. Предложен (в виде параллельного языка программирования) Т. Хоаром в статье 1978 г. В дальнейшем автор совместно с С. Бруксом и А.В. Роско развили этот язык в форму исчисления процессов и изложили статье в 1984 г. Т. Хоар изложил современную формуCSPв своей книге в 1985 г. ТеорияCSPдо сих пор остаётся предметом активных исследований. Ряд языков и подходов являются производнымиCSP(Timed CSP,RPT,CSPP,HCSP) или интегрируют его возможности с другими языками и подходами (TCOZ,Circus,CspCASL). ИзвестнымCSP–средством является программа проверки моделиFDR(букв. Очищение от сбоев / отклонений) – коммерческий продукт фирмыFormal Systems Ltd. ДругиеCSP–средства:ProBE,ARCиCasper.

Алгебра взаимодействующих процессов(ACP) – алгебраический подход к обоснованию параллельных систем. Разработан Ж. Бергстрой и Ж.У. Клопом в 1982 г. РазработкаACPсвязана с созданием абстрактной обобщённой аксиоматической системы для процессов (отсюда и понятие «алгебра процессов»). ПодходACPпослужил основой для разработки нескольких подходов для описания и анализа параллельных систем (CRL,mCRL2,HyPA).