В. С. Любченко акб "Алекскомбанк" зао, Александров




Скачать 46.33 Kb.
НазваниеВ. С. Любченко акб "Алекскомбанк" зао, Александров
Дата08.02.2013
Размер46.33 Kb.
ТипДокументы

КОНЕЧНО-АВТОМАТНАЯ ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ

THE FINITSTATE AUTOMATION TECHNOLOGY OF PROGRAMMING

В.С.Любченко

АКБ "Алекскомбанк" ЗАО, Александров

Тел.: (09244) 2-34-36, e-mail: slava@ivvson.kc.ru


Технология – это "совокупность производственных методов и процессов в определенной отрасли производства, а также научное описание способов производства". Можно ли назвать представленное в [1,2] технологией? Покажем это, рассмотрев этапы создания программных проектов.
Проектирование

Формальная модель конечного автомата (КА) и сеть из множества КА предоставляют разработчику гибкие структурные средства для отображения параллельного взаимодействия как на уровне отдельных компонентов, так и на уровне их множества. Другие технологии таких возможностей или не имеют, или они ограничены. Параллельные модели – одно из основных и перспективных направлений в области развития программирования и аппаратных средств. КА-технология использует модель со средствами представления и описания параллелизма, которые по своим возможностям не уступают другим моделям, а реализация проще. Применяя стандартные приемы, несложно также перейти от параллельного конечно-автоматного представления к тривиальному последовательному описанию. Таким образом, в рамках КА-технологии можно легко и наглядно представлять структуру задачи любой сложности в параллельном виде. Пример из [1] это демонстрирует. Другие примеры применения конечных автоматов приведены в [2].
Кодирование

Как реализовать автоматы? Во-первых, существуют формальные методы перехода от модели КА к эквивалентной блок-схеме[3]. Во-вторых, известны и программные методы реализации автоматов [6]. При выбранном в КА-технологии методе интерпретации автоматов является принципиальным отделение множества операторов программы от ее управления. Это 1) полностью соответствует формальному определению программы в виде схемы программы [7] и 2) удобно для реализации выбранного способа интерпретации автоматов. Кодирование/программирование автоматов в рамках КА-технологии основано на:

  • введении понятия динамичного объекта;

  • алгоритм поведения объекта задается моделью конечного автомата;

  • язык описания автомата основан на базе табличной формы представления автоматов;

  • логика поведения объекта отделена от методов автоматного объекта;

  • любые динамичные объекты могут выполняться параллельно. На текущий момент это реализовано с средствами Microsoft Visual С++ 6.0.
Тестирование

Стоимость выявления ошибки на этапе кодирования в два раза выше, чем на этапе проектирования, а ее обнаружение при тестировании обходится уже в 10 раз дороже. В рамках КА-технологии применимы приемы тестирования и отладки, которые зачастую невозможны при других подходах. Отделение множества операторов от структуры КА-программы позволяет проводить их независимый анализ и даже, например, наследовать алгоритм. Работа КА-программы легко отслеживается с помощью переменной состояния КА-программы. При этом ошибки КА-программы сосредоточены в ее четко определенных функциональных структурных единицах – предикатах, действиях или управлении. Общность модели позволяет использовать, например, даже методы тестирования из области проектирования аппаратных средств.
Эксплуатация и сопровождение

С листингом КА-программ работать очень легко, так как отделение логики программы (управления) от ее операторов делает ее "самодокументируемой". Это свойство позволяет быстро и точно восстановить алгоритм работы программы/объекта. Модель КА обобщает такие методы разработки программ, как таблицы решений и программирование с использованием переменной состояния. Эти методы удобны и эффективны не только для разработки программ, но и для последующего их сопровождения.
Реализация

Автоматная модель и ее параллельный вариант – это универсальная алгоритмическая модель, пригодная для применения в любой прикладной области. На текущий момент она реализована в форме DLL библиотеки. Виртуальная КА-машина выполняет функции интерпретации модели КА, реализует параллельную работу компонент. Разработанные на языке С++ средства описания автоматов и библиотека расширяют объектные возможности языка. КА-технология хорошо подходит для работы в реальном времени. Реализованный проект обеспечивает реакцию системы с точностью до 0,01 сек в среде Windows. Это на уровне специализированных систем такого типа.
Выводы

  • КА-технология позволяет использовать и внедрить весьма эффективные математические методы разработки, тестирования и отладки программ.

  • Табличное представление КА легко реализовать аппаратно, что позволяет говорить уже не об интерпретации, а о прямой реализации автоматов.

  • КА-технология – параллельная технология.

  • Автоматная модель наделяет объекты динамическими свойствами.
Сравнение SWITCH-технологии и КА-технологии

Технологией разработки программного обеспечения, описанная в [6], и КА-технология описывают алгоритм программы моделью конечного автомата, но, однако, в конечном итоге используют отличающиеся автоматные модели. В SWITCH-технологии – модель взаимосвязанных графов переходов, в КА-технологии – сетевая модель структурных автоматов. Основное отличие рассматриваемых технологий в реализации логики автоматных программ. В SWITCH-технологии она реализуется переводом автоматного описания в программные инструкции языка программирования (типа SWITCH), в КА-технологии реализуется прямое исполнение автоматов путем интерпретации его исходного табличного представления.

В итоге КА-технология по сравнению с SWITCH-технологией:

  • предлагает более короткий и удобный путь реализации автоматов;

  • параллелизм формальной модели в КА-технологии имеет более широкие возможности, чем у модели, положенной в основу SWITCH-технологии;

  • КА-технология, в отличие от SWITSH-технологии использует возможности объектной парадигмы, наделяя ее новыми возможностями.
Литература

1. Любченко В.С. Новые песни о главном (римейк для программистов). "Мир ПК", № 6/98, с.114-119.

2. Любченко В.С. Мы выбираем, нас выбирают… К проблеме выбора алгоритмической модели. "Мир ПК", № 3/99.

3. Буч Г. Объектно-ориентированное проектирование с примерами применения: Пер. с англ. – М.: Конкорд, 1992. – 519 с.

4. Баранов С.И. Синтез микропрограммных автоматов. – Л.: Энергия, 1979. – 232 с.

5. Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях: Пер. с англ. – Киев: Диалектика, 1993. – 240 с.

6. Шалыто А.А., Туккель Н.И. SWITCH-технология: автоматный подход к созданию программного обеспечения "РЕАКТИВНЫХ" систем. www.softcraft.ru

7. Котов В.Е . Введение в теорию схем программ. Новосибирск.: Наука, 1978. – 258 с.


Похожие:

В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconА. А. Жаров Протокол совещания Федеральной службы по надзору в сфере связи, информационных технологий и массовых
Александров С. А., Иванова С. Ю., Кувшинников Д. Н. (Зао «Межгосударственная телерадиокомпания «мир»)
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconСтроительные нормы и правила
Зао «Ленгипротранс», зао «Ленпромтранспроект», зао «Институт Харьковский Промтранспроект», Петербургский государственный университет...
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconЛитература о Ломоносове М. В. в фондах библиотеки БашГУ
Александров, Д. Н. Риторика: уч пособие / Д. Н. Александров.— М.: "Юнити-дана", 1999.— 534 с
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconВ июле-сентябре 2010 года
Александров А. А. Интегративная психотерапия [Текст] / А. А. Александров. Спб. Питер, 2009. 347 с ил., табл
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconСписок книг, поступивших в библиотеку за июнь 2010 Г
Александров А. Г. Методы построения систем автоматического управления/ А. Г. Александров. Москва: Физматлит, 2008. 230 с
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconВ. В. Александров Молись за благополучие властей
Александров В. В. Развивающиеся системы. В науке, технике, обществе и культуре: спб ч. Теория систем и системное моделирование: Изд-во...
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconЛюбченко павло миколайович
Розділ Громадянське суспільство: теоретичні основи становлення І розвитку
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconКнига рассчитана на психологов, психиатров, практикующих психотерапевтов, на всех интересующихся психологией
Александров А. А. Александров, Артур Александрович. Современная психотерапия. Курс лекций спб.: "Академический проект", 1997 335...
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconТехнические науки александров, Алексей Александрович. Теплофизические свойства рабочих веществ теплоэнергетики
Александров, Алексей Александрович. Теплофизические свойства рабочих веществ теплоэнергетики : справочник / А. А. Александров, К....
В. С. Любченко акб \"Алекскомбанк\" зао, Александров iconВ апреле-июне 2010 года 1
Александров А. А. Психогенетика [Текст] : [учеб пособие по направлению и спец психологии] / А. А. Александров. Спб.: Питер, 2008....
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница