Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемВладислав Распопин
1 Виртуальная машина автоматного программирования Наумов А.С., СПбГУ ИТМО 2006
2 2 Цель работы Проектирование и реализация платформы нижнего уровня для автоматного программирования в виде виртуальной машины автоматного программирования (ВМАП)
3 3 Существующие реализации Опера- ционная система Исход- ные коды Формат файла Отладка, трасси- ровка Интерпретация Много- поточное выпол- нение Взаимо- действие автоматов в условиях много- поточности Finite State Kernel Creator UnixCBinнет Finite State Machine Editor UnixC++XMLестьнет JSpasmJava нет есть нет StateWORKSWindowsнетVFSMMLестьВМ в явном виде нет UniModEclipseJavaXMLестьВМ в неявном виде естьнет visualSTATEWindowsнетTxtестьнет
4 4 Общие недостатки Прямая кодогенерация Зависимость от платформы Отсутствие многопоточности Специфический формат Закрытая реализация
5 5 Постановка задачи Необходимо спроектировать и реализовать ВМАП Истинная многопоточность и детерминированное взаимодействие Выполнение различных типов моделей конечных автоматов Верификация загружаемых программ Статическая проверка выполнимости Изменение загруженной программы во время выполнения Поддержка наследования автоматов Инструменты кодогенерации Графическая нотация XML Ассемблер Байт-код
6 6 Графическая нотация
7 7 Автоматная модель Входные переменные Выходные воздействия Запуск с событием (обрабатывается синхронно), события обязательны Конечное число состояний Группы состояний Действия при входе в состояния Переходы Условие перехода Действия на переходе
8 8 Архитектура ВМ Вызов автомата == вызов метода Отказ от тактичности 16-ти разрядная, 8 регистров Память: ПЗУ, Программа, Данные Стековая машина Нуль-адресные команды
9 9 Формат программы
10 10 Многопоточность Ни один из проанализируемых инструментов не предоставляет механизмов многопоточного выполнения Проблема недетерминированности Проблема взаимной блокировки потоков Решение: разбиение процесса обработки на три фазы, блокировки автоматов потоками
11 11 Реализация.NET Framework 2.0, C# ВМАП, API XML (MetaAuto, UniMod) ASM ASM Байт-код
12 12 Апробация Подсчет количества слов Нет генерации кода, только модель в Visio В случае ошибки в модели, нет необходимости перекомпиляции программы Обедающие философы Не надо задумываться над механизмом многопоточного выполнения
13 13 Результаты Предложена концепция ВМАП и определены требования Разработана архитектура и система команд ВМАП Разработан механизм многопоточного выполнения автоматных программ для широкого класса исполнимых автоматных моделей Реализованы программные компоненты Проведена апробация Развитие: трассировщик, отладчик, новый язык ассемблера
14 14 Спасибо
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.