CoreASM — это проект с открытым исходным кодом (лицензированный по лицензии Academic Free версии 3.0), который фокусируется на разработке компактного исполняемого языка ASM ( абстрактные конечные автоматы ) в сочетании с поддерживающей инструментальной средой для высокоуровневого проектирования, экспериментальной проверки и формальной верификации (при необходимости) абстрактных системных моделей.
Абстрактные конечные автоматы известны своей универсальностью в моделировании алгоритмов, архитектур, языков, протоколов и практически всех видов последовательных, параллельных и распределенных систем. Формализм ASM широко изучался исследователями в академических кругах и промышленности более 15 лет с намерением преодолеть разрыв между формальными и прагматическими подходами.
Системная инженерия на основе моделей может извлечь выгоду из абстрактных исполняемых спецификаций как инструмента для исследования дизайна и экспериментальной проверки посредством моделирования и тестирования. Основываясь на опыте двух поколений инструментов ASM, разрабатывается новый исполняемый язык ASM, называемый CoreASM (см. домашнюю страницу CoreASM).
Язык CoreASM подчеркивает свободу экспериментирования и поддерживает эволюционную природу дизайна как продукта творчества. Он особенно подходит для исследования проблемного пространства с целью написания начальной спецификации. Язык CoreASM позволяет писать высокоабстрактные и краткие спецификации, сводя к минимуму необходимость кодирования при отображении проблемного пространства в формальную модель и допуская явное объявление частей спецификации, которые намеренно оставлены абстрактными. Принцип минимальности в сочетании с надежностью базовой математической структуры улучшает модифицируемость спецификаций, эффективно поддерживая высоко итеративный характер спецификации и дизайна.