Абстрактная машина состояний - Abstract state machine
В Информатика, абстрактный конечный автомат (КАК М) это Государственный аппарат работает на состояния которые являются произвольными структурами данных (структура в том смысле математическая логика, то есть непустой набор вместе с рядом функции (операции ) и связи над множеством).
В Метод ASM практичный и научно обоснованный системная инженерия метод, устраняющий разрыв между двумя сторонами разработки системы:
- человеческое понимание и формулировка реальных проблем (сбор требований путем точного высокоуровневого моделирования на уровне абстракции, определяемом данной областью приложения)
- развертывание своих алгоритмических решений машинами, исполняющими код, на меняющихся платформах (определение проектных решений, деталей системы и реализации).
Метод основан на трех основных концепциях:
- КАК М: точная форма псевдокода, обобщающая Конечные автоматы работать с произвольными структурами данных
- наземная модель: строгая форма чертежей, служащая авторитетной эталонной моделью для дизайна
- уточнение: наиболее общая схема для пошаговых экземпляров модельных абстракций к конкретным элементам системы, обеспечивающая контролируемые связи между все более и более подробными описаниями на последовательных этапах разработки системы.
В первоначальной концепции ASMs один агент выполняет программу в последовательности шагов, возможно, взаимодействуя со своим окружением. Это понятие было расширено, чтобы охватить распределенные вычисления, в котором несколько агентов выполняют свои программы одновременно.
Поскольку ASM моделируют алгоритмы на произвольных уровнях абстракции, они могут обеспечивать высокоуровневые, низкоуровневые и среднеуровневые представления аппаратного или программного обеспечения. Спецификации ASM часто состоят из серии моделей ASM, начинающихся с абстрактного наземная модель и переходя к более детальному изучению уточнения или огрубления.
Из-за алгоритмической и математической природы этих трех концепций, модели ASM и их интересующие свойства могут быть проанализированы с использованием любой строгой формы проверка (рассуждая) или Проверка (экспериментально, тестируя исполнение модели).
История
Концепция ASM связана с Юрий Гуревич, которые впервые предложили его в середине 1980-х годов как способ улучшить Тезис Тьюринга что каждый алгоритм является смоделированный соответствующим Машина Тьюринга. Он сформулировал ASM Диссертация: каждый алгоритм, не важно как Абстрактные, пошагово подражал с помощью соответствующего ASM. В 2000 году Гуревич аксиоматизированный понятие последовательных алгоритмов и доказал для них тезис ASM. Грубо говоря, аксиомы таковы: состояния - это структуры, переход состояния включает только ограниченную часть состояния, и все инвариантный под изоморфизмы конструкций. (Структуры можно рассматривать как алгебры, что объясняет оригинальное название развивающиеся алгебры для ASM.) Аксиоматизация и характеризация последовательных алгоритмов были расширены на параллельно и интерактивные алгоритмы.
В 1990-х усилиями сообщества был разработан метод ASM с использованием ASM для формальная спецификация и анализ (верификация и валидация ) из компьютерное железо и программного обеспечения. Исчерпывающие спецификации ASM для языки программирования (в том числе Пролог, C, и Ява ) и языки дизайна (UML и SDL ) были разработаны. Подробный исторический отчет можно найти в AsmBook (Глава 9) или вэта статья.
Доступен ряд программных инструментов для выполнения и анализа ASM.
Публикации
Книги
- AsmBook: Эгон Бёргер, Роберт Штерк. Абстрактные государственные машины: метод проектирования и анализа систем высокого уровня
- JBook: R.Stärk, J.Schmid, E.Börger. Java и виртуальная машина Java: определение, проверка, проверка
- Материалы / номера журнала (с 2000 г.)
- 2008: Springer LNCS 5238 Абстрактные конечные автоматы, B и Z
- 2007: Специальный выпуск J.UCS с и http://osys.grm.hia.no/asm07/proceedings Избранные статьи из ASM'07
- 2006: Springer LNCS 5115 Строгие методы построения и анализа программного обеспечения, Семинар ASM и B Dagstuhl[постоянная мертвая ссылка ]
- 2005: специальный выпуск Fundamenta Informatica с Избранные статьи из ASM'05 (электронное производство )
- 2004: Springer LNCS 3052 Абстрактные Государственные Машины 2004
- 2003: Springer LNCS 2589 Абстрактные Государственные Машины 2003: Успехи теории и практики
- 2003: специальный выпуск TCS с Избранные статьи из ASM'03
- 2002: Отчет о семинаре в Дагштуле Теория и приложения абстрактных государственных машин
- 2001: Специальный выпуск J.UCS 7.11 с Избранные статьи из ASM'01
- 2000: Springer LNCS 1912 Абстрактные государственные машины: теория и приложения
- Сравнительные тематические исследования с участием ASM
- Управление паровым котлом: пример из практики, Springer LNCS 1165
- Производственная ячейка: пример разработки программного обеспечения, Модель ASM
- Railcrossing: формальные методы вычислений в реальном времени, Модель ASM
- Light Control: пример разработки требований, Дагштульский семинар
- Выставление счетов: пример использования сбора требований
Поведенческие модели для промышленных стандартов
- OMG для BPMN (версия 2006): Springer LNCS 5316
- OASIS для BPEL: IJBPMI 1.4 (2006 г.)
- ECMA для C #: «Модульное определение высокого уровня семантики C♯» Дои:10.1016 / j.tcs.2004.11.008
- ITU-T для SDL-2000: формальная семантика SDL-2000 и Формальное определение SDL-2000 - компиляция и запуск спецификаций SDL как моделей ASM
- IEEE для VHDL93: Э.Бургер, У. Глессер, У. Мюллер. Формальное определение абстрактного симулятора VHDL'93 с помощью EA-Machines. В: Карлос Дельгадо Клоос и Питер Т. ~ Брейер (ред.), Формальная семантика для VHDL, стр. 107–139, Kluwer Academic Publishers, 1995.
- ISO для Пролога: «Математическое определение полного Пролога» Дои:10.1016 / 0167-6423 (95) 00006-E
инструменты
(в историческом порядке с 2000 г.)
- ASMETA, метамодель абстрактного конечного автомата и ее набор инструментов
- AsmL
- CoreASM, доступны на CoreASM, расширяемый механизм выполнения ASM
- AsmGofer
- Проект с открытым исходным кодом XASM
использованная литература
- Ю. Гуревич, Развивающиеся алгебры 1993: руководство по липари, Э. Бёргер (ред.), Спецификация и методы проверки, Oxford University Press, 1995, 9-36. (ISBN 0-19-853854-5)
- Э. Бёргер и Р. Штерк, Абстрактные государственные машины: метод проектирования и анализа систем высокого уровня, Springer-Verlag, 2003. (ISBN 3-540-00702-4)
- Р. Штерк, Й. Шмид и Э. Бёргер, Java и виртуальная машина Java: определение, проверка, проверка, Springer-Verlag, 2001. (ISBN 3-540-42088-6)
- Ю. Гуревич, Последовательные абстрактные конечные автоматы захватывают последовательные алгоритмы, Транзакции ACM по вычислительной логике 1 (1) (июль 2000 г.), 77-111.