Абстрактная машина состояний

В информатике абстрактный конечный автомат ( ASM ) — это конечный автомат, работающий с состояниями , которые являются произвольными структурами данных ( структура в смысле математической логики , то есть непустое множество вместе с рядом функций ( операций ) и отношений над множеством).

Обзор

Метод ASM — это практичный и научно обоснованный метод системной инженерии , который устраняет разрыв между двумя концами разработки систем:

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

Метод строится на трех основных концепциях:

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

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

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

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

История

Концепция ASM принадлежит Юрию Гуревичу , который впервые предложил ее в середине 1980-х годов как способ усовершенствования тезиса Тьюринга о том, что каждый алгоритм моделируется соответствующей машиной Тьюринга . Он сформулировал тезис ASM : каждый алгоритм, каким бы абстрактным он ни был , шаг за шагом эмулируется соответствующей ASM. В 2000 году Гуревич аксиоматизировал понятие последовательных алгоритмов и доказал для них тезис ASM. Грубо говоря, аксиомы таковы:

  • государства - это структуры,
  • государственный переход затрагивает только ограниченную часть государства, и
  • все инвариантно относительно изоморфизмов структур. (Структуры можно рассматривать как алгебры , что объясняет первоначальное название для ASM — эволюционирующие алгебры .)

Аксиоматизация и характеристика последовательных алгоритмов были распространены на параллельные и интерактивные алгоритмы.

В 1990-х годах, благодаря усилиям сообщества, [1] был разработан метод ASM, использующий ASM для формальной спецификации и анализа ( верификации и валидации ) компьютерного оборудования и программного обеспечения . Были разработаны всеобъемлющие спецификации ASM языков программирования (включая Prolog , C и Java ) и языков проектирования ( UML и SDL ).

Подробный исторический отчет можно найти в другом месте. [2] [3]

Доступен ряд программных инструментов для выполнения и анализа ASM.

Публикации

Книги

  • AsmBook: Эгон Бёргер , Роберт Штерк. Абстрактные конечные автоматы: метод высокоуровневого проектирования и анализа систем
  • JBook: Р.Старк, Й.Шмид, Э.Бёргер. Java и виртуальная машина Java: определение, проверка, валидация
  • Труды/выпуски журнала (с 2000 г.)
    • 2008: Springer LNCS 5238 Абстрактные конечные автоматы, B и Z
    • 2007: Специальный выпуск J.UCS с избранными статьями 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
    • Управление освещением: пример инженерных требований, семинар в Дагштуле
    • Выставление счетов: пример сбора требований

Поведенческие модели для промышленных стандартов

  • OMG для BPMN (версия 2006): Springer LNCS 5316
  • OASIS для BPEL: IJBPMI 1.4 (2006)
  • ECMA для C#: «Высокоуровневое модульное определение семантики C♯» doi :10.1016/j.tcs.2004.11.008
  • ITU-T для SDL-2000: формальная семантика SDL-2000 и формальное определение SDL-2000 - Компиляция и запуск спецификаций SDL как моделей ASM
  • IEEE для VHDL93: E.Boerger, U.Glaesser, W.Mueller. Формальное определение абстрактного симулятора VHDL'93 от EA-Machines. В: Carlos Delgado Kloos и Peter T.~Breuer (ред.), Formal Semantics for VHDL , стр. 107–139, Kluwer Academic Publishers, 1995
  • ISO для Prolog: "Математическое определение полного Prolog" doi :10.1016/0167-6423(95)00006-E

Инструменты

(в историческом порядке с 2000 года)

  • Верстак ASM
  • ASMETA, метамодель абстрактной машины состояний и ее набор инструментов
  • Асмл
  • CoreASM , доступный на CoreASM, расширяемый механизм выполнения ASM
  • AsmGofer на Archive.org
  • Проект XASM с открытым исходным кодом на SourceForge

Библиография

  • Y. Gurevich, Evolving Algebras 1993: Lipari Guide , E. Börger (ред.), Specification and Validation Methods , Oxford University Press , 1995, 9-36. ( ISBN 0-19-853854-5 ) 
  • Ю. Гуревич, Последовательные абстрактные машины состояний захватывают последовательные алгоритмы , ACM Transactions on Computational Logic 1(1) (июль 2000 г.), 77–111.
  • Р. Старк, Дж. Шмид и Э. Бёргер, Java и виртуальная машина Java: определение, проверка, валидация , Springer-Verlag , 2001. ( ISBN 3-540-42088-6 ) 
  • Э. Бёргер и Р. Стерк, Абстрактные конечные автоматы: метод проектирования и анализа систем высокого уровня , Springer-Verlag , 2003. ( ISBN 3-540-00702-4 ) 
  • Э. Бёргер и А. Рашке, Помощник по моделированию для специалистов по программному обеспечению , Springer-Verlag , 2018. [4] ( ISBN 978-3-662-56639-8 , doi : 10.1007/978-3-662-56641-1) 

Ссылки

  1. ^ Боуэн, Джонатан П. (2021). «Сообщества и предки, связанные с Эгоном Бёргером и ASM». В Рашке, Александр; Риккобене, Эльвиния; Шеве, Клаус-Дитер (ред.). Логика, вычисления и строгие методы: эссе, посвященные Эгону Бёргеру по случаю его 75-летия . Конспект лекций по информатике . Том 12750. Springer International Publishing . С. 96–120. doi :10.1007/978-3-030-76020-5_6. ISBN 978-3-030-76019-9. S2CID  235414337.
  2. ^ "AsmBook Home Page". Италия: Университет Пизы . Ноябрь 2005 г. Получено 8 июня 2021 г.(Глава 9)
  3. ^ Бёргер, Эгон (2002). «Истоки и развитие метода ASM для проектирования и анализа высокоуровневых систем». Журнал универсальной компьютерной науки . 8 (1). doi :10.3217/jucs-008-01-0002.
  4. Боуэн, Джонатан П. (ноябрь 2018 г.). «Эгон Бёргер и Александр Рашке: помощник по моделированию для специалистов по программному обеспечению». Формальные аспекты вычислений . 30 (6): 761–762. дои : 10.1007/s00165-018-0472-4. S2CID  53086556.
  • Абстрактные конечные автоматы
  • AsmCenter Архивировано 2019-09-13 в Wayback Machine
  • Набор инструментов TASM: спецификация, моделирование и формальная верификация систем реального времени
Retrieved from "https://en.wikipedia.org/w/index.php?title=Abstract_state_machine&oldid=1194512225"