Помощь в написании студенческих работ
Антистрессовый сервис

Технология проектирования и разработки объектно-ориентированных программ с явным выделением состояний: метод, инструментальное средство, верификация

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Апробация диссертации. Основные положения диссертационной работы докладывались на конференциях и семинарах: II конференции молодых ученых СПбГУ ИТМО (2005 г.) — XXXIII, XXXV, XXXVI научных учебно-методических конференциях СПбГУ ИТМО «Достижения ученых, аспирантов и студентов СПбГУ ИТМО в науке и образовании» (2003, 2005, 2006 гг.) — «Телематика-2003», «Телематика-2004», «Телематика-2005… Читать ещё >

Технология проектирования и разработки объектно-ориентированных программ с явным выделением состояний: метод, инструментальное средство, верификация (реферат, курсовая, диплом, контрольная)

Содержание

  • ГЛАВА 1. ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ПРОГРАММ
    • 1. 1. Реактивные системы
    • 1. 2. Классификация автоматных подходов
    • 1. 3. Гибридные автоматы
    • 1. 4. Автоматное программирование встраиваемых систем
    • 1. 5. Использование автоматного подхода при реализации прикладных программ
    • 1. 6. Программные продукты для графического моделирования конечных автоматов
      • 1. 6. 1. Finite State Machine Editor
      • 1. 6. 2. Среда разработки Флора
      • 1. 6. 3. XJTek AnyState
      • 1. 6. 4. IAR Systems visualSTATE
      • 1. 6. 5. Telelogic Tau
      • 1. 6. 6. Borland Together Architect
    • 1. 7. Исполняемый UML
    • 1. 8. SWITCH-технология
  • Выводы по главе 1
  • ГЛАВА 2. РАЗРАБОТКА МЕТОДА ПОСТРОЕНИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННЫХ ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ АВТОМАТНОГО ПОДХОДА
    • 2. 1. Исполняемый графический язык автоматного программирования и метод построения программ на его основе
    • 2. 2. Синтаксис графического языка
    • 2. 3. Операционная семантика графического языка
  • Выводы по главе 2
  • ГЛАВА 3. ВЕРИФИКАЦИЯ МОДЕЛЕЙ АВТОМАТНЫХ ПРОГРАММ
    • 3. 1. Дедуктивный анализ автоматных моделей
    • 3. 2. Верификация на модели
      • 3. 2. 1. Метод верификации
      • 3. 2. 2. Сравнение метода эмуляции с методом верификации автоматных программ, известным из литературы
      • 3. 2. 3. Применение верификатора
  • Выводы по главе 3
  • ГЛАВА 4. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО ДЛЯ ПОДДЕРЖКИ АВТОМАТНОГО ПРОГРАММИРОВАНИЯ UNIMOD
    • 4. 1. Интерпретация
    • 4. 2. Компиляция
    • 4. 3. Реализация редактора диаграмм на платформе Eclipse
      • 4. 3. 1. Завершение ввода и исправление ошибок ввода
      • 4. 3. 2. Форматирование
      • 4. 3. 3. Исполнение модели
    • 4. 4. Отладка модели
      • 4. 4. 1. Статическая модель отладчика
      • 4. 4. 2. Динамическая модель отладчика
  • Выводы по главе 4
  • ГЛАВА 5. ВНЕДРЕНИЕ ПРЕДЛОЖЕННЫХ РЕЗУЛЬТАТОВ РАБОТЫ В
  • ПРАКТИКУ ПРОЕКТИРОВАНИЯ
    • 5. 1. Создание системы автоматического завершения ввода
      • 5. 1. 1. Описание предлагаемой технологии
      • 5. 1. 2. Построение диаграммы переходов синтаксического анализатора
      • 5. 1. 3. Удаление правой рекурсии
      • 5. 1. 4. Удаление немотивированных переходов
      • 5. 1. 5. Подстановка диаграмм переходов друг в друга
      • 5. 1. 6. Удаление срединной рекурсии
      • 5. 1. 7. Модель разрабатываемой системы
      • 5. 1. 8. Восстановление после ошибок
      • 5. 1. 9. Получение множества строк для автоматического завершения ввода
      • 5. 1. 10. Пример работы системы
    • 5. 2. Внедрение в учебном процессе
    • 5. 3. Создание мобильного
  • приложения
    • 5. 3. 1. Постановка задачи
    • 5. 3. 2. Статическая модель системы
    • 5. 3. 3. Динамическая модель системы
    • 5. 3. 4. Создание кода
    • 5. 4. Текстовый язык для автоматного программирования
  • Выводы по главе 5

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

При создании программных систем обычно выделяют следующие фазы:

1. Постановка задачи — сбор требований и создание прототипа программы.

2. Проектирование — разработка проектной документации, отражающей структурные и поведенческие особенности создаваемой системы.

3.Реализация — создание на основе проекта кода для целевой программно-аппаратной платформы.

4. Тестирование — отладка кода и проверка соответствия реализации поставленной задаче.

Семантический разрыв при передаче знаний между проектированием и реализацией заключается в том, что разработчик обычно реализует систему в соответствии со своим пониманием проектной документации. Это приводит к ряду проблем:

Реализация системы не соответствует проектной документации ввиду неформальной связи фаз проектирования и реализации.

2. Проверка соответствия реализации проектной документации (верификация) может быть выполнена только вручную.

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

Причина указанных проблем кроется в том, что существуют методы проектирования объектно-ориентированных программ, которые позволяют моделировать их структуру, а также методы, позволяющие моделировать их поведение, но отсутствуют методы, которые обеспечивают связь статики и динамики в единую формальную модель.

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

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

Цель диссертационной работы — разработка технологии проектирования и реализация объектно-ориентированных программ с явным выделением состояний.

Основные задачи исследования:

1. Создание метода проектирования объектно-ориентированных программ на основе автоматного подхода.

2. Разработка графического языка автоматного программирования.

3. Разработка методов верификации автоматных моделей программ.

4. Разработка инструментального средства для поддержки автоматного программирования.

5.Внедрение результатов работы в практику промышленной разработки программного обеспечения и в учебный процесс кафедры «Компьютерные технологии» СПбГУ ИТМО.

Научная новизна. На защиту выносятся следующие результаты, обладающие научной новизной:

1. Метод проектирования объектно-ориентированных программ с явным выделением состояний.

2.Графический язык для описания автоматных программ на основе UML-нотации.

3.Методы верификации автоматных моделей программ: метод верификации на модели (Model Checking), а также метод верификации полноты и непротиворечивости систем переходов автоматов.

4. Инструментальное средство для создания, верификации, отладки и запуска автоматных программ. При этом верификация на основе модели производится совместно с верификатором Bogor.

Перечисленные результаты получены в ходе выполнения в СПбГУ ИТМО научно-исследовательских и опытно-конструкторских работ по темам: «Разработка технологии создания программного обеспечения систем управления на основе автоматного подхода» (проводится по заказу Минобрнауки РФ с 2000 г. по настоящее время), «Разработка технологии автоматного программирования» (проводилась в 2002;2003 гг. по гранту Российского фонда фундаментальных исследований № 02−07−90 114), «Разработка технологии объектно-ориентированного программирования с явным выделением состояний» (проводилась в 2005;2006 гг. по гранту Российского фонда фундаментальных исследований № 05−07−90 011), «Технология автоматного программирования: применение и инструментальные средства» (государственный контракт, который выполнялся в 2005;2006 гг. в рамках Федеральной целевой научно-технической программы «Исследования и разработки по приоритетным направлениям развития науки и техники»). Последняя работа вошла в список 15 наиболее перспективных проектов, выполняемых по этой программе.

Методы исследования. В работе использованы методы объектно-ориентированного проектирования, теории автоматов, теории формальных грамматик, теории графов, теории алгоритмов, теории верификации.

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

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

Предложенные методы позволили устранить семантический разрыв между фазами проектирования и реализации за счет интерпретации автоматной модели программы или генерации изоморфного кода на целевом языке программирования.

За счет того, что автоматная модель системы является одновременно спецификацией и программой, процесс поддержания проектной документации в актуальном состоянии также значительно упростился.

Упрощается верификация на основе метода Model Checking, так как в автоматных моделях состояния явно выделены, и поэтому пространство состояний по сравнению с программами, построенными традиционным образом, резко сокращается.

Разработанная технология позволяет выявлять логические ошибки в автоматных программах на стадии проектирования, что уменьшает время разработки и время тестирования, и, как следствие, повышает качество программных продуктов.

Внедрение результатов работы. Результаты, полученные в диссертации, используются на практике в компании eVelopers (Санкт-Петербург) при разработке интернет-приложений для электронной коммерции и мобильных устройств, а также в компании Intellij Labs (Санкт-Петербург) при разработке мета-программирования Meta Programming System.

Полученные результаты используются также в учебном процессе на кафедре «Компьютерные технологии» СПбГУ ИТМО при выполнении курсовых работ по курсу «Теория автоматов в программировании». При этом на сайте http://is.ifmo.ru в разделе UniMod-проекты опубликовано 28 проектов, выполненных с помощью предлагаемой технологии, которые содержат, в том числе, и проектную документацию.

Апробация диссертации. Основные положения диссертационной работы докладывались на конференциях и семинарах: II конференции молодых ученых СПбГУ ИТМО (2005 г.) — XXXIII, XXXV, XXXVI научных учебно-методических конференциях СПбГУ ИТМО «Достижения ученых, аспирантов и студентов СПбГУ ИТМО в науке и образовании» (2003, 2005, 2006 гг.) — «Телематика-2003», «Телематика-2004», «Телематика-2005», «Телематика-2006», «Телематика-2007» (СПб.) — на семинаре «Автоматное программирование» в рамках международной конференции «International Computer Symposium in Russia (CSR 2006)» (ПОМИ им. Стеклова, 2006 г.) — на конференциях «Software Engineering Conference in Russia» — SECR 2005 (Москва), «The International Scientific Conference «110-Anniversary of Radio Invention» (СП6ГЭТУ, IEEE, 2005 г.) — Второй Всероссийской научной конференции «Методы и средства обработки информации» (МГУ, 2005 г.) — Open Source Forum (М.: Форт-Росс, 2005 г.) — международной научно-технической конференции «Многопроцессорные вычислительные и управляющие системы» МВУС-2007 (Таганрог, 2007 г.) — научно-технической конференции «Научно-программное обеспечение в образовании и научных исследованиях» (СПб., 2008 г.).

Публикации. По теме диссертации опубликовано 23 печатные работы, в том числе в журналах из списка ВАК «Программирование», «Информационно-управляющие системы» и «Научно-технический вестник СПбГУ ИТМО», а также в журнале «Технология клиент-сервер» и материалах указанных конференций и семинаров.

Свидетельства об официальной регистрации программ для ЭВМ. На инструментальное средство, разработанное в рамках диссертации, получены свидетельства: «Ядро автоматного программирования».

2 006 613 249 от 14.09.2006, «Встраиваемый модуль автоматного программирования для среды разработки Eclipse» № 2 006 613 817 от 7.11.2006.

Структура диссертации. Диссертация изложена на 152 страницах и состоит из введения, пяти глав и заключения.

Список литературы

содержит 114 наименований. Работа иллюстрирована 59 рисунками и содержит три таблицы.

Выводы по главе 5.

1. При разработки системы автоматического завершения ввода в инструментального для инструментального средства итМо<�Л использовано само это средство — применен так называемый «метод раскрутки».

2. Разработанные методы и инструментальное средство успешно применены для выполнения студенческих проектов по курсу.

Organic Circular! i Hierarchic Orthogonal j Tree P.

• nerlfa') 4. p nextCb' ntjffb') -Гь e nev1(s)[*lst] end.

• nd[else] yFiles Evaluation Version je norj I ok J.

Автоматное программирование" на кафедре «Компьютерных технологий» СПбГУ ИТМО.

3. Разработанные методы и инструментальное средство внедрено в компании eVelopers для промышленной разработки программного обеспечения. Приведен пример разработки автоответчика для мобильного телефона.

4. Разработан прототип текстового языка автоматного программирования в среде быстрой разработки языков MPS. В рамках работ по созданию следующей версии инструментального средства UniMod2 в него будет включена реализация этого языка.

ЗАКЛЮЧЕНИЕ

.

В настоящей работе разработан метод проектирования объектно-ориентированных программ с явным выделением состояний. В рамках этого метода модель программы предлагается строить с помощью двух иМЬ-диаграмм — диаграмм классов и состояний. Разработанный метод апробирован при создании ряда приложений и показал свою эффективность. Он позволяет:

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

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

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

• формально и наглядно описывать логику поведения программы и модифицировать ее, изменяя только графы переходов;

• упростить сопровождение проекта вследствие повышения централизации логики программы.

Для поддержки разработанного метода было создано инструментальное средство итМос1. Оно позволяет визуально создавать модели программ, запускать их в режиме интерпретации или компиляции, визуально отлаживать их. Инструментальное средство также позволяет верифицировать создаваемые модели, для некоторых типов найденных ошибок автоматически предлагаются варианты их исправлений.

Исходные тексты, документация и примеры использования программного пакета JniMod представлены на сайте http://unimod.sourceforge.net. За все время существования проекта было произведено более 45 000 скачиваний.

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

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

Для расширения функциональных возможностей инструментального средства UniMod был разработан прототип текстового языка автоматного программирования. Разработка осуществлялась с помощью системы метапрограммирования JetBrains MPS. В рамках работ по созданию следующей версии инструментального средства UniMod! в него будет включена реализация этого языка.

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

Показать весь текст

Список литературы

  1. И. Инженерия программного обеспечения. М.: Вильяме, 2002.
  2. И. Объектно-ориентированные методы. Принципы и практика. М.: Вильяме, 2004.
  3. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. СПб.: Невский диалект, 2001.
  4. К. Применение UML и шаблонов проектирования. М.: Вильяме, 2001.
  5. П., Норт Д., Мейфмлд М. Объектные модели. Стратегии, шаблоны и приложения. М.: Лори, 1999.
  6. Harel D., Politi М. Modelling Reactive Systems with Statecharts. NY: McGraw-Hill, 1998.
  7. Harel D. Statecharts: A Visual Formalizm for Complex Systems //Science of Computer Programming. 1987. № 8, pp. 231−274.
  8. Harel D. et al. STATEMATE: A Working Environment for the Development of Complex Reactive Systems //IEEE Transactions on Software Engineering. 1990. № 4, pp. 234−252.http://csdl.computer.org/comp/trans/ts/1990/04/e0403abs.htm
  9. С. Обещания и просчеты UML 2.0 //Открытые системы. 2006. № 2, с. 75−79.10. 1st European Conference on Model-Driven Software Engineering. Germany. 2003. http://www.agedis.de/conference/
  10. International Workshop «e-Business and Model Based in System Design». IBM EE/A. SPb ETU, 2004.
  11. OMG Model Driven Architecture, http://www.omg.org/mda/
  12. Frankel D. Model Driven Architecture: Applying MDA to Enterprise Computing. NJ: Wesley, 2003.
  13. Буч Г., Рамбо Г., Якобсон И. UML. Руководство пользователя. М.: ДМК, 2000.
  14. Mellor S., Balcer М. Executable UML: A Foundation for Model Driven Architecture. MA: Addison-Wesley, 2002.
  15. Raistrick C., Francis P., Wright J. Model Driven Architecture with Executable UML. Cambridge University Press, 2004.
  16. Wikipedia. Finite state machine. http://en.wikipedia.org/wiki/Finitestate machine#Externallinks
  17. Sun Studio Enpterprise. http://developers.sun.com/prodtech/iavatools/jsenterprise/reference/techart/wh atis. html
  18. Jacobson I. Four Macro Trends in Software Development Y2004. http://www.ivarjacobson.com/postnuke/html/modules.php?op=modload&nam e=UpDownload&-file=index&-req=getit&-lid-9ч
  19. I-Logix Statemate. http://ilogix.com/sublevel.aspx?id=74
  20. XJTek Any State, http://www.xitek.com/anystates/ ,
  21. StateSoft ViewControl. http://www.statesoft.ie/products.html
  22. SCOPE, http://www.itu.dk/~wasowski/proiects/scope/
  23. IAR Systems visualSTATE. http://www.iar.com/pl 014/pl014 eng. php
  24. The State Machine Compiler, http://smc.sourceforge.net/
  25. Jia X. et al. Using ZOOM Approach to Support MDD. http://se.cs.depaul.edu/ise/zoom/papers/zoom/SERP ZOOM. pdf
  26. Э., Хелм P., Джонсон P., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер, 2001.
  27. Н. Н., Корнеев Г. А., Шалыто A. A. State Machine новый паттерн объетно-ориентированного проектирования //Информационно-управляющие системы. 2004. № 5, с. 32−36. http://is.ifmo.ru/works/pattern/
  28. The Hybrid Systems Project, http://control.ee.ethz.ch/~hybrid/
  29. Ferrari-Trecate G. at el. Mixed Logic Dynamical Model of a Hydroelectric Power Plant. http://control.ee.ethz.ch/research/publications/publications.msql?banner=hybr id&action-Showdetails&id=859
  30. E., Колесов Ю., Сениченков Ю. Практическое моделирование динамических систем. СПб.: БХВ, 2002.
  31. Model Vision Studium, http://www.exponenta.ru/soft/others/mvs/mvs.asp
  32. XJTek Any Logic, http://www.xitek.com/anylogic/
  33. А. В., СуясовД. К, Шалыто А. А. Компьютерная игра космонавт. Проектирование и реализация //Компьютерные инструменты в образовании. 2004. № 4, с. 75−84.http://is.ifhio.ru/works/ cosmo article. pdf
  34. А., Туккелъ Н., Шамгунов Н. Ханойские башни и автоматы //Программист. 2002. № 8, с. 82−90. http://is.ifmo.ru/works/hanoy/
  35. А., Туккелъ Н. От тьюрингова программирования к автоматному //Мир ПК. 2002. № 2, с. 144−149.http ://is. i fmo.ru/ works/turin g /
  36. А. А. Логическое управление. Методы аппаратной и программной реализации алгоритмов. СПб.: Наука, 2000.
  37. Xilinx StateCAD. http://www.xilinx.com/xlnx/xebiz/designResources/ip product details. jsp?sG lobalNavPick=PRODUCTS&sSecondarvNavPick=Design+Tools&kev=dr dtstatemachine
  38. Altera Quartus //.http://www.altera.com/products/software/sfw-index.isp
  39. Шалыто A. A. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.
  40. State Logic. http://www.geindustrial.com/cwc/products?pnlid=2&id=sl
  41. I-Logix Rhapsody. http://www.ilogix.com/rhapsody/rhapsQdy.cfm
  42. Mathworks State/low. http://www.mathworks.com/products/stateflow/
  43. А. А., Туккелъ H. И. SWITCH-технология автоматный подход к созданию программного обеспечения «реактивных» систем. //Программирование. 2001. № 5, с. 42−54.http://is.ifmo.ru/works/ avtomatnij podhod k sozdaniju programmnogo ob espechenija. divu
  44. Gibson D. Finite State Machines. Making simple work of complex functions. http://www.microconsultants.com/tips/fsm/fsmarticl.pdf
  45. A Framework for Hardware-Software Co-Design of Embedded Systems. http://www-cad.eecs.berkeley.edu/~polis/
  46. VIS (Verification Interacting with Synthesis). http://www-cad.eecs.berkeley.edu/Respep/Research/vis/index.html
  47. Ахо А., Сети P., Ульман Д. Компиляторы: принципы, технологии и инструменты. М.: Вильяме, 2001.
  48. Р. Основные концепции компиляторов. М.: Вильяме. 2002.
  49. Т., Лайзерсон Ч., Ривест Р. Алгоритмы. Построение и анализ. М.: МЦМНО, 2000.
  50. Г. А., Шамгунов Н. Н., Шалыто А. А. Обход деревьев на основе автоматного подхода //Компьютерные инструменты в образовании. 2004. № 3, с. 32−37. http://is.ifmo.ru/works/traverse/
  51. А. А., Наумов JI. А. Методы объектно-ориентированной реализации реактивных агентов на основе конечных автоматов //Искусственный интеллект. 2004. № 4, с. 756−762.
  52. Werken Blissed. Java State-Machine Framework, http://blissed.werken.com/54. boost: :fsm. С++ library for finite state machines. http://boost-sandbox.sourceforge.net/fsm.zip.
  53. Ninni FSM Generator, http://nunnifsmgen.nunnisoft.ch/en/home. isp
  54. Finite State Machine generating software. http ://fsmgenerator. sourceforge. net/
  55. Finite State Machine (FSM). http://finsm.sourceforge.net/
  56. The State Machine Compiler, http://smc.sourceforge.net/
  57. Duval P-Y. et al. Evaluation of CHSM (Concurrent Hierarchical State Machine) language system. http://atddoc.cern.ch/Atlas/Notes/Q 12/NoteO 121 .html
  58. Open Source Page Flow Written in Java. http://www.manageability.org/blog/stuff/open-source-statemachine-for-user-interfaces-written-in-java
  59. StateSoft ViewControl. http://www.statesoft.ie/products.html
  60. Java 2 Platform, Enterprise Edition (J2EE). http://iava.sun.com/i2ee/index.isp
  61. Gurevich Y. Evolving Algebra 1993: Lipari Guide in «Specification and Validation Methods». Oxford University Press, 1995.
  62. AsmL for Microsoft .NET. http://research.microsoft.com/fse/asml/doc/StartHere.htmls
  63. Ю. Г. Теория автоматов. СПб.: Питер, 2002.
  64. Finite State Kernel Creator, http://fskc.sourceforge.net/
  65. UML Products By Company. http://www.objectsbydesign.com/tools/umltools byCompany. html
  66. A. H., Романовский К. Ю., Кознов Д. В. и др. REAL: Методология и CASE-средство разработки информационных систем и программного обеспечения //Программирование. 1999. № 3, с. 18−24.
  67. Nucleus UML Suite, http://www.projtech.com/embedded/nuc modeling. html
  68. UML Specification 1.5. http://www.omg.org/cgi-bin/apps/doc7formal/03−03-Ol.pdf
  69. A Validation Toolset for UML. http://www.eecs.umich.edu/~wwshen/tool/tool.html
  70. IBM ОСЬ Parser. ftp://ftp.software.ibm.com/soitware/websphere/awdtools/standards/ocl-parser-03.zip
  71. H. Автоматическая верификация модели UML. СПб ГТУ, 2002. http://bicamp.aanet.ru/2003/papers/sectionIT/AndreevND.pdf
  72. Maller-Pedersen В. Specification and Description Language. SDL + UML. //Telektronik. 2000. № 4, pp. 22−30.http://www.item.ntnu.no/fag/ttm4115/UMLandSDL/Telek4 2000%20SDL-UML.pdf
  73. Douglas B. Real-Time UML: Developing Efficient Objects for Embedded Systems. MA: Addison-Wesley, 1998.
  74. Гома X. UML. Проектирование систем реального времени, параллельных и распределенных приложений. М.: ДМК Пресс, 2002.
  75. ITU-T. SDL combined with UML (Z. 109). Geneva. ITU-T, 2000.
  76. Specification and Design Language (SDL). http://www.sdl-forum.org/SDL/index.htm
  77. А. А., Туккелъ H. И. Автоматы и танки //BYTE/Россия. 2003. № 2, с. 28−32. http://is.ifmo.ru/works/tanks new/
  78. Visio2Switch. http://www.softcraft.ru/auto/switch/v2s.shtml
  79. Finite State Machine Editor, http://fsme.sourceforge.net/
  80. С. Ускоритель разработки приложений //Открытые системы. 2004. № 6, с. 40−44.
  81. Telelogic Таи2. http://www.telelogic.com/products/tau/tg2.cfm
  82. Rambaugh J., Jacobson I., Booch G. The Unified Modeling Language Reference Manual. Addison-Wesley, 2005.
  83. Borland Together Architect. http://www.borland.com/together/architect/index.html
  84. Фаулер M. UML. Основы. СПб.: Символ-Плюс, 2004.
  85. М. Рефакторинг: улучшение существующего кода. СПб.: Символ-Плюс, 2002.
  86. Riehle D., Fraleigh S., Bucka-Lassen D., Omorogbe N. The Architecture of a UML Virtual Machine / Proceedings of the 2001 Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA '01). ACM Press, 2001.
  87. Matilda UML Virtual Machine, http://dssg.cs.umb.edu/projects/umlvm/
  88. Carter K. iUML. http://www.kc.com/products/iuml/index.htm 1
  89. B.M. Синтез цифровых автоматов. M.: Физматгиз, 1962.
  90. MetaObject Facility Core Speification Version 2.0. http://www.omg.org/technology/documents/formal/MOF Core. htm
  91. M., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982.
  92. Н., Шенъ А. Лекции по математической логике и теории алгоритмов. Часть 2. Языки и исчисления. М.: МЦНМО, 2000.
  93. Parr Т. J., Quong R. W. ANTRL: A Predicated-LL (k) Parser Generator // Software Practice And Experience. 1995, № 25(7), pp. 789−810.
  94. К. А., Кузьмин E. В. Верификация автоматных программ с использованием LTL // Моделирование и анализ информационных систем. 2007. Т. 14. № 1, с. 3−14.
  95. Э., Грамберг О., Пелед Д. Верификация моделей программ: Model Checking. М.: МЦНМО, 2002
  96. Holzmann G. The Model Checker Spin. IEEE Trans, on Software Engineering, Vol. 2. 1997, No. 5, pp. 279−295.
  97. Robby, Lhvyer M., Hatclijf J. Bogor: A Flexible Framework for Creating Software Model Checkers. TAIC PART 2006, pp 3−22.
  98. Velocity. Java-based template engine. http://iakarta.apache.org/velocity/index.html
  99. Fruchterman Т. M. J., Reingold E. M. Graph Drawing by Force Directed Placemen I I Software Practice and Experience. 1991. № 21(11), pp. 1129— 1164.
  100. Java Debug Wire Protocol. http://iava.sun.eom/i2se/l.5.0/docs/guide/ipda/jdwp-spec.html104. Java Networking Features. http ://j ava. sun, com/j 2 se/1.5.0/docs/guide/net/index.html
  101. А. А., Штучкин А. А. Совместное использование теории построения компиляторов и SWITCH-технологии (на примере построения калькулятора). СПбГУ ИТМО. 2003. http: Пs .ifmo.ru/proj ects/calc/
  102. А. И. Основы разработки трансляторов. Использование диаграмм Вирта для представления динамически порождаемых конечных автоматов, распознающих КС (1) грамматику. http://softcraft.ru/translat/lect/t08−04.shtml
  103. А. А., Туккелъ Н. И., Шамгунов Н. Н. Реализация рекурсивных алгоритмов на основе автоматного подхода. //Телекоммуникации и информатизация образования. 2002. № 5, с. 52−68. http://is.ifmo.ru/works/recurse/
  104. О.Е. Дискретная математика: логика, группы, графы. М.: Лаборатория Базовых Знаний. 2003.
  105. Harrison R. Symbian OS С++ for Mobile Phones. John Wiley & Sons, 2003.
  106. Fowler M. Language Workbenches: The Killer-App for Domain Specific Languages? http://www.martinfowler.com/articles/languageWorkbench.html9 м1
  107. М. Языковой инструментарий: новая жизнь языков предметной области. http://www.maxkir.com/sd/languageWorkbenches.html)
  108. Dmitriev S. Language Oriented Programming: The Next Programming Paradigm //onBoard. 2005. № 2. (Дмитриев С. Языково-ориентированное программирование: следующая парадигма//RSDN Magazine. 2005. № 5).
  109. Ward М. Language Oriented Programming //Software Concepts and Tools. 1994. 15.
  110. Luo Z. Computation and Reasoning: A Type Theory for Computer Science. Oxford University Press, 1994.
  111. Simonyi C. The Death of Computer Languages, the Birth of Intentional Programming /The Future of Software. Univ. of Newcastle upon Tyne, England, Dept. of Computing Science, 1995.
  112. Kachelaev D., Khasanzyanov В., Yaminov В., Shalyto A. Instrumental Tool for Automata Based Software Development UniMod 2 /Proceeding of the Second Spring Young Researchers' Colloquium on Software Engineering. V. 1. SPbSU. 2008, pp. 55−58.
Заполнить форму текущей работой