автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Автоматическая генерация программных компонент по высокоуровневым спецификациям
Оглавление автор диссертации — кандидата технических наук Кручинин, Алексей Николаевич
СОДЕРЖАНИЕ.
ВВЕДЕНИЕ.
ГЛАВА 1. ОБЗОР ТЕХНОЛОГИЙ ПРОГРАММИРОВАНИЯ, ПОЗВОЛЯЮЩИХ ПОВЫСИТЬ КАЧЕСТВО СОПРОВОЖДЕНИЯ КОДА.
1.1. Принцип разделения ответственностей (Separation of Concerns) и компонентное программирование, как основа построения подхода для эффективного сопровождения кода.
1.2. Расширяемое программирование (extensible programming).
1.2.1. Технология вертикального слоения А.Л. Фуксмана.
1.2.2. Расширяемые программы М.М. Горбунова-Посадова.
1.3. Аспектно-ориентированное программирование.
1.3.1. Методы аспектной декомпозиции.
1.3.2. Недостатки аспектно-ориентированного подхода.
1.4. Виды спецификаций и способы их выработки. Роль спецификаций в построении гибкого сопровождаемого приложения.
1.4.1. Подходы к выработке спецификаций.
1.4.2. Роль спецификаций в построении гибкого сопровождаемого приложения.
1.5. Выводы.
ГЛАВА 2. НОВЫЙ СПОСОБ ДЕКОМПОЗИЦИИ КОДА, ОСНОВАННЫЙ НА АСПЕКТНО-ОРИЕНТИРОВАННОЙ ПАРАДИГМЕ.
2.1. Фактор сосредоточенности. Рассредоточенный код и причины его появления.
2.1.1. Рассредоточенный и сосредоточенный код.
2.1.2. Причины появления и методы работы с рассредоточенностью кода.
2.1.3. Классификация рассредоточенного кода.
2.1.4. Значимость фактора рассредоточенности в программном коде.
2.2. Предлагаемый метод аспектной декомпозиции.
2.2.1. Точки присоединения и их классификация.
2.2.2. Этапы проектирования модифицируемого приложения, как основа метода построения аспектного кода.
2.3. Фактор транзакционнностии и его роль для развития программы.
2.4. Выводы.
ГЛАВА 3. ПРИМЕНЕНИЕ XML СПЕЦИФИКАЦИЙ ДЛЯ МОДЕЛИРОВАНИЯ СЛОЖНО-СТРУКТУРИРОВАННЫХ ПРОГРАММНЫХ ОБЪЕКТОВ.
3.1. Принципы построения спецификаций аспектов.
3.2. Построение многоуровневых спецификаций.
3.2.1. Цепочечный подход и его обобщение.
3.2.2. Метод цепочек спецификаций.
3.3. Метод аспектной декомпозиции и его сопряжение с методом цепочек спецификаций.
3.4. Выводы.
ГЛАВА 4. РЕАЛИЗАЦИЯ ПРОГРАММНОГО КОМПЛЕКСА «XPECTENGINE» И ОЦЕНКИ ЭФФЕКТИВНОСТИ ПРИМЕНЕНИЯ РАЗРАБОТАННОГО МЕТОДА АСПЕКТНОЙ ДЕКОМПОЗИЦИИ.
4.1. Практическое применение метода автоматической генерации компонент на примере программного комплекса «XpectEngine».
4.2. Оценки эффективности и сложности разработанного меюда аспектной декомпозиции. Сравнение полученных оценок на различных задачах.
4.3. Выводы.
Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Кручинин, Алексей Николаевич
Развитие программного кода, связанное с процессом сопровождения программной системы, вследствие высокой конкуренции на рынке программного обеспечения, должно происходить оперативно и, при этом, не в ущерб работоспособности этой системы. Часто работа по модификации и сопровождению программы может потребовать больше времени, чем все время, потраченное на ее разработку. В силу многих факторов, на этапе проектирования системы вопросы сопровождения часто не затрагиваются, чго приводит к появлению сложного «наслоенного» кода, который со временем становится неочевидным и чрезвычайно трудным для понимания и модификаций.
В работе Дейкстры [1] был предложен метод «разделения ответе ценностей» (Separation of Concerns), согласно которому четко локализованный код гораздо предпочтительнее, чем функционал ьно-нелокализованный, так как последний сложнее для обозрения и понимания. Дейкстра заключал, что локализованный код проще поддается отладке и повторному использованию, и, следовательно, такой код удобнее поддерживать. Дейкстра указал на необходимость локализации кода, но им не были сформулированы принципы декомпозиции. Структурный и объектно-ориентированный подходы предлагают способы достижения поставленной цели, однако, далеко не всегда успешные. Несмотря на глубокие различия, они имеют общую черту — использование функциональной декомпозиции на всех этапах жизненного цикла системы. При этом многие требования, которые должны найги отражение в программном коде, не могут быть четко реализованы в терминах функциональной декомпозиции по причине того, что они относятся к функционированию всей системы в целом, а не к ее отдельным компонентам. Обычно решение этой проблемы состоит в ручном «запутывании» кода с целью повышения эффективности системы, в ущерб четкой локализации кода [2]. Необходим отдельный уровень декомпозиции для четкого их обозначения и реализации.
Одна из I лавных проблем, которой в работе уделяется особое внимание — это проблема рассредоточенности кода, известная по работе A.JI. Фуксмана [3], как проблема «сосредоточенного описания рассредоточенных действий», или проблема «сквозной функциональности» в терминологии аспек I но-ориентированного подхода.
Существует несколько подходов для достижения приемлемой локализации кода. Особенно значимые успехи были получены в рамках аспекгно-ориентированного подхода, претендующего на решение проблемы рассредоточенности кода. Однако в действительное ги, аспект ная ориентированность является расширением объектно-ориентированного подхода, что не позволяет перенести его идеи на императивные и декларативные языки, а также на произвольные текстовые файлы (например, проектная документация может представлять собой текст, содержащий связи с кодом программы, а также список внутренних ссылок для быстрой навигации). Аспектная декомпозиция позволяет разбив программу на модули-аспекты, где каждый аспект — это функционал системы, влияющий на нее, как на целое, и пересекающий ее. Невыделенные явно аспекты тесно переплетаются с кодом программы.
Таким образом, актуально исследование в области поиска таких методов локализации кода, которые бы позволили разделить пересекающуюся логику с целью оптимизации сопровождения программного обеспечения.
В данной работе предлагается решение проблемы реализации сквозной функциональности, позволяющее сократить стоимость внесения изменений в программный код. Работа является продолжением и развитием работ A.JI. Фуксмана, а также идей о рассредоточенном коде и о вертикальном слоении программы.
Одной из наших целей является создание специальной инструмен гальной поддержки для логического представления программы. В основе подхода лежит возможность структурного разбиения программы на составляющие модули.
Область исследования.
Аспектная декомпозиция кода и его сопровождение. Модульное программирование.
Предмет исследования.
Структуризация программного кода с учетом возможных и наиболее вероятных его модификаций.
Цель и задачи работы.
Целью данной диссертационной работы является разработка методов структуризации программного кода, которые бы способствовали повышению качества сопровождения разрабатываемой системы.
Для достижения поставленной цели решаются следующие задачи: - разработка методов применения аспектно-ориентированной парадигмы, не ограниченных исключительно объектно-ориентированными языками, путем разрешения следующих задач: о расширение области применимости точек связывания на не объектно-ориентированные языки; о расширение области применимости аспектов на не объектно-ориентированные языки;
- разработка подхода для расширения масштабов повторного использования аспектного кода;
- разработка способа автоматической генерации программною кода по высокоуровневым спецификациям;
- реализация меюда автоматической генерации программного кода по высокоуровневым спецификациям на основе предла1аемой архитектуры.
Научная новизна.
1. Предложена общая классификация точек связывания, разработан новый вид точек связывания «прямые точки связывания» и определено его место в предложенном классе;
2. разработан статический подход «вплетения кода»1, основанный на прямых точках связывания;
3. использована параметризация модуля изменений методом морфологического анализа [5] для расширения области его применимости;
4. разработан «метод цепочек спецификаций», где в качестве звена цепи используется спецификация, что позволило:
- использовать вертикальные и горизонтальные преобразования над спецификациями;
- выражать аспекты звеньями цепи;
5. разработан метод автоматической генерации npoipaMMiioro кода по высокоуровневым спецификациям и метод его безболезненной инсталляции;
6. разработан и реализован программный комплекс «XpectEngine» для преобразования высокоуровневого аспектного кода к
1 Впервые термин введен в работе [4] низкоуровневому коду XML, HTML, JavaScript, ActionScript, a также к тексту документаций.
Практическая ценность.
Результаты проведенных исследований были использованы при создании программного комплекса «XpectEngine» в ФГНУ НИИ «Снецвузавгоматика», который был зарегистрирован [6] и используется в настоящее время в Министерстве экономики, торговли, внешних международных внешнеэкономических связей Ростовской области, а также для поддержки сетевого портала администрации города Батайска, о чем имеются справка и акт о внедрении. Программный комплекс «XpectEngine» 1акже применялся при создании веб-сайта кафедры информатики и вычислительного эксперимента РГУ.
Апробация результатов работы.
Результаты работы докладывались и обсуждались на следующих научных конференциях:
1. международная конференция «Технологии Microsoft в теории и практике программирования» (г. Москва., МГУ им. Ломоносова, 2004);
2. международная конференция «Ломоносов-2004» (г. Москва., МГУ им. Ломоносова, 2004);
3. XI Всероссийская научно-методическая конференция «Телематика-2004» (г. Санкт-Петербург, ИТМО, 2004);
4. V всероссийская научно-техническая конференция «Теоретические и прикладные вопросы современных информационных технологий» (г. Улан-Удэ, ВСГТУ, 2004);
5. X международная открытая научная конференция «Современные проблемы информатизации в технике и технологиях» — 3 доклада (г. Воронеж, ВГТУ, 2005);
6. XI международная открытая научная конференция «Современные проблемы информатизации в моделировании и программировании» — 3 доклада (г. Воронеж, ВГТУ, 2006).
Публикации.
По теме диссертационной работы опубликовано 14 печатных работ: 1 статья в издании, рекомендуемом ВАК для публикации основных научных резулыаюв диссертации на соискание ученой степени доктора наук; 1 статья в электронном журнале; свидетельство об официальной репарации программы для ЭВМ; 11 статей в сборниках трудов и сборниках тезисов конференций.
Основные результаты, выносимые на защиту.
1. Предложена новая концепция построения программного кода с учетом возможных и наиболее вероятных его модификаций.
2. Разработан статический автоматический подход 1енерации и вплетения профаммного кода, основанный на применении «прямых точек связываний» и высокоуровневых спецификаций.
3. Разработан метод цепочек спецификаций для реализации вертикальных и горизонтальных преобразований спецификаций аспектов.
4. Разработан программный комплекс «XpectEngine» для преобразования высокоуровневого аспектного кода к низкоуровневому результирующему коду.
Заключение диссертация на тему "Автоматическая генерация программных компонент по высокоуровневым спецификациям"
4.3. Выводы.
Предложена реализация метода автоматической генерации программного кода по высокоуровневым спецификациям на примере протраммного комплекса «XpectEngine». Внедрение комплекса показало значительное сокращение времени внесения изменений в уже существующий код.
В четвертой главе обосновывается выбор использованных инструментальных средств для построения программного комплекса «XpectEngine». В том числе указывается значимость применения языков сценариев для построения приложений, подверженных частым изменениям.
Во второй части главы приведены оценки сложности кода, построенного с помощью предложенной реализации в исследованных задачах.
ЗАКЛЮЧЕНИЕ
Целью данной диссертационной работы являлась разработка методов структуризации программного кода для повышения качества сопровождения разрабатываемой системы.
На основе обзора существующих технологий и анализа проблем необходимо было разработать ряд подходов и методов, которые могли бы позволить рассматривать программу не только с помощью абстракций, предлагаемых стандартными средствами выбранного языка, но также и на уровне специализированных объектов — аспектов, выражающих рассредоточенное поведение в коде программы.
Для достижения поставленной цели были предложены следующие решения:
1. разработана общая классификация точек связывания и новый вид точек связывания — «прямые точки связывания». Разработан статический подход «вплетения кода», основанный на прямых точках связывания;
2. использована параметризация модуля изменений методом морфологического анализа для расширения области его применимости, что позволило формировать высокоуровневые декларативные спецификации аспектов;
3. разработан «метод цепочек спецификаций», где в качестве звена цепи используется спецификация, что позволило:
- использовать вертикальные и горизонтальные преобразования над спецификациями;
- выражать аспекты, определяющие рассредоточенное поведение, звеньями цепи.
4. разработан метод автоматической генерации программного кода по высокоуровневым спецификациям и метод его инсталляции.
Рассмотренные подходы и методы построения кода позволяют реализовать мощные модифицируемые комплексы в различных средах, на сопровождение которых затрачивается меньшее количество усилий в сравнении с применением классических методов.
Предложенные в работе этапы построения модифицируемого приложения, как основы метода построения аснектного кода, позволяют минимизировать затраты на разработку, улучшить понимание кода, а значит осуществлять более продуктивную его поддержку и тестирование.
Изложенный в работе метод построения аспектного кода не накладывает каких-либо ограничений на язык написания программы. Он не сужает синтаксис и семантику используемых средств, а только предписывает некие требования к структуре программы.
На основе построенных моделей и выбранных технологий реализован программный комплекс «XpectEngine» для решения задач построения, расширения, сужения WWW-приложений путем подключения к коду аспектов.
Программный комплекс «XpectEngine» представляет собой генератор вплетения аспектов, а также набор созданных компонентов, как основу будущих аспектов, которые могут быть интегрированы в WWW-приложение.
Разработанный генератор вплетения аспектов предназначен для преобразования аспектного кода к низкоуровневому коду XML, HTML, JavaScript, ActionScript.
Применение «XpectEngine» оказалось особенно полезным там, где требования по качеству разработки приложений были высоки, а количество времени сильно ограничено.
Библиография Кручинин, Алексей Николаевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. E.W. Dijkstra, A Discipine of Programming. Prentice Hall, Englewood Cliffs, 1976.
2. Иськив А.И., Иванова И.В., Использование аспектной декомпозиции при создании информационных систем, МГТУ, 2000.
3. Фуксман А.Л. Технологические аспекты создания программных систем. М.: Статистика, 1979. - 184 с.
4. G.Kiczales, J.Lamping, A.Mendhekar and other, Aspet-Oriented Progremmind, ECOOP'97, Finland, June 1997.
5. Одрин B.M. Метод морфологического анализа технических систем. М.: ВНИИПИ, 1989.
6. Фаулер М. Рефакторинг: улучшение существующего кода. / Пер. с англ.- СПб.: Символ-плюс, 2003. 432 с.
7. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд. / Пер. с англ. М.: Бином, СПб.: Невский диалект, 2001. - 560 с.
8. Чернецки К., Айзенекер У. Порождающее программирование: методы, инструменты, применение. Для профессионалов. СПб.: Питер, 2005. -731 с.
9. Вирт Н. Язык программирования Оберон (пересмотренное сообщение) // Системная информатика. — Новосибирск: Наука, 1991. — Вып.1. — С. 40-63.
10. Ершов А.П., Предисловие к работе Фуксмана A.JI. Технологические аспекты создания программных систем. М.: Статистика, 1979. - 184с.
11. Горбунов-Посадов М.М. Расширяемые программы. М.: Полиптих, 1999.-336 с
12. Салтыкова Н.Н. Разработка метода проектирования модифицируемых СУБД-приложений: Дисс. на соискание ученой степени канд. тех. наук.- Ростов-на-Дону, 2002 г. 174 с.
13. Лигвиненко А.Н., Салтыкова Н.Н. Использование концепции однородного пространства для разработки модифицируемых приложений. Деп. ВИНИТИ № 539-В2002 26.03.02.
14. Gregor Kiczales, John Lamping, John Irwin // Aspect-Oriented programming, Springer-Verlag, 1997.
15. Homepage of the Subject-Oriented Programming Project, IBM Thomas J. Watson Research Center, YorktownHeights, New York, http://www.research.ibm.com/sop/
16. M. Lippert, С Videira Lopes. A Study on Exception Detection and Handling Using Aspect-Oriented Programming.Xerox PARC Technical Report P9910229 CSL-99-1, Dec. 99.
17. В. Павлов, Аспектно-ориентированное программирование // http://www.optim.ru/cs/2003/4/AOP2/AOP.asp
18. Советский энциклопедический словарь — М.: Советская энциклопедия, 1980. —1600 с.
19. Кручинин А.Н., Литвиненко А.Н. Применение цепочек спецификаций в аспектно-ориентированном программировании // Телематика-2004. Сб. трудов XI всеросс. научн.-метод. конф. СПб.: ГУИ'ГМО, 2004. - С. 151152.
20. Lieberherr, К., Holland, I., and Riel, A. Object-oriented programming: An objective sense of style. Proceedings of OOPSLA '88 Conference (San Diego, Calif., Sept. 1988). — c. 323-334.
21. Lieberherr, KJ Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, PWS Publishing Company, 1996.
22. Гецци К., Джазайери M., Мандриоли Д. Основы инженерии программного обеспечения. 2-е изд. / Пер. с англ. СПб.: БХВ-Петербург, 2005. - 832 с.
23. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя / Пер. с англ. М.: ДМК, 2000. - 432 с.
24. Крэг JI. Применение UML и шаблонов проектирования. / Пер. с англ. -М.: Вильяме, 2002.-624 с.
25. Лиеков Б., Гатэг Дж. Использование абстракций и спецификаций при разработке программ.— М.: Мир, 1989. 424 с.
26. Satoshi Matsuoka, Ken Wakita, Akinori Yonezawa: Synchronization, constaints with inheritance: What is not possible so what is? Technical Report 10, Department of Information Science, The university of Tokyo, 1990.
27. Салтыкова H.H., Литвиненко A.H. Проектирование модифицируемых приложений на основе событийного аппарата // Известия высших учебных заведений Северо-Кавказского региона. Технические науки, №3 2002.-С. 5-11.
28. Страуструп Б. Язык программирования С++, спец. изд. Пер. с англ. М.; СПб.: "Издательство БИНОМ" - "Невский Диалект", 2001 г. - 1099 с.
29. Эккель Б., Эллисон Ч. Философия С++. Практическое программирование. / Пер. с англ. СПб.: Питер, 2004. - 608 с.
30. Бин Д. XML для проектировщиков. Повторное использование и интеграция. М.: КУДИЦ-ОБРАЗ, 2004. - 256 с.
31. Трэвис Б., XML и SOAP. Программирование для серверов BizTalk./ Пер. с англ. М.: Русская редакция, 2001. - 496 с.
32. Горбунов-Посадов М.М. Безболезненное развише программы // Открытые системы. 1996. - № 4. - С. 65-70.
33. Ирвинг де ла Круз, Лес Талер. Основы MAPI / Пер. с англ. М.: Русская редакция, 1997. - 552 с.
34. Вигерес К. Разработка требований к программному обеспечению / Пер. с англ. М.: Русская редакция, 2004. - 576 с.
35. Жоголев Е.А. Технологические основы модульного программирования // Программирование. 1980. - №2. - С. 44-49.
36. Бек К. Экстремальное программирование. / Пер. с англ. СПб.: Питер, 2002.-224с.
37. Одрин В.М., Картавов С.С. Морфологический анализ систем. Построение морфологических таблиц. Киев: Наукова думка, 1977.
38. Акимов С. В. Компьютерные модели для автоматизированною структурно-параметрического синтеза // Компьютерное моделирование 2004: Труды 5-й международной конференции. Часть 1. СПб: Нестор, 2004.-С. 191-197.
39. Кэшу М. Delphi 4 для профессионалов. СПб: Питер, 1999. — 1120 с.
40. Остераут Д. Сценарии: высокоуровневое программирование для XXI века // Открытые системы 1998, № 3., http://www.osp.ni/os/l 998/03/12.htm
41. Турский В. Методология программирования. Пер. с англ. М.: Мир, 1981.-с. 265.
42. Колесов А. Проблемы компонентной модели программного обеспечения // PC Week/RE. 1997. - № 32. С.45.
43. Одрин В.М. Метод морфологического анализа технических систем. М.: ВНИИПИ, 1989.
44. Кознов Д.В. Визуальное моделирование компонентного программного обеспечения: Дисс. на соискание ученой степени канд. тех. наук. СПб. 2000.
45. Петцольд Ч. Код. / Пер. с англ. М.: Русская редакция, 2001. - 512 с.
46. Уолл Л., Кристиансен Т., Орвант Д. Программирование на Perl. / Пер. с англ. СПб.: Символ, 2002. - 1152 с.
47. Бентли Дж. Жемчужины программирования / Пер. с англ. СПб.: Пшер, 2002.-272 с.
48. Опалева Э.А., Самойленко В.П. Языки программирования и методы трансляции. СПб.: БХВ-Петербург, 2005. - 480 с.
49. Дастин Э., Рэшка Дж., Пол Дж. Автоматизированное тестирование программного обеспечения. Внедрение, управление и эксплуатация. -М.: «Лори», 2003. 567с.
50. Бухштабер В.М., Маслов В.И., Зеленюк Е.А. Методы анализа и построения алгоритмов автоматической классификации на основе математических моделей // Прикладная статистика. М.: Наука, 1983. -с. 126-144.
51. Канер С., Фолк Дж., Нгуен Е.К. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений. К.: «ДиаСофт», 2001. - 544с.
52. Агафонов В.Н. Спецификация программ: понятийные средства и их организация. 2-е изд., испр. и доп. - Новосибирск: Наука. Сиб. отд-ние, 1990.-224 с.
53. Горбунов-Посадов М.М. Конфигурации программ. Рецепты безболезненных изменений. М.: Малип, 1993. - 192 с.
54. Горбунов-Посадов М.М. Как растет программа. Препринт Института прикладной математики им. М.В. Келдыша РАН, 2000, № 50.-16 с.
55. Брукс Ф. П. Как проектируются и создаются программные комплексы. Мифический человеко-месяц. М.: Наука, 1979. - 150 с.
56. S. Chow, Y. Gu, Н. Johnson, V. Zakharov. An approach to the obfuscation of control-flow of sequential computer programs. LNCS, 2001, 2200, pp. 144155.
57. Салтыкова H.H. Использование спецификаций при создании СУБД-приложений для управления качеством водных ресурсов // Сб. тезисовшколы-семинара "Природные воды: рациональное использование, защита от загрязнения". Ростов-на-Дону, 2001. - С. 26-28.
58. Брагилевский В.Н., Кручинин А.Н. Об одном методе представления графовых структур в XML // Современные проблемы информатизации в моделировании и программировании. XI междунар. науч. конф. Сб. грудов Воронеж, Научная книга, 2006. Выпуск №11.- С. 218-219.
59. Кручинин А.Н., Брагилевский В.Н. Классификация методов вплетения функционала // Современные проблемы информатизации в моделировании и программировании. XI междунар. науч. конф. Сб. трудов Воронеж, Научная книга, 2006, Выпуск №11. - С. 290-292.
60. Кручинин А.Н, Литвиненко А.Н., Модифицированный цепочечный подход // Известия ВУЗОВ. Северо-кавказский регион. Естественные науки.-2005.-№4, С. 9-14.
61. Кручинин А.Н., Литвиненко А.Н., Малышевский А.П. Метод сопровождения программного кода // Современные проблемы информатизации в технике и технологиях. X Междунар. науч. конф. Сб. трудов. Воронеж, Научная книга, 2005, Выпуск №10. - С. 252-253.
62. Кручинин А.Н., Литвиненко А.Н. Решение задачи сопровождения программного кода // Теоретические и прикладные вопросысовременных информационных технологий. Материалы V всеросс. научн.-техн. конф. Улан-Удэ: ВСГТУ, 2004.4.2. - С. 239-241.
63. Кручинин А.Н., Литвиненко А.Н. Метод модификации программного кода на основе компонентного подхода // Системотехника. 2004. - №2, http://svstech.miem.edu.ru/2004/n2/Litvinenko.htm
64. Кручинин А.Н. Модульное проектирование однородных пространств на примере разборщика гипертекстовых структур // Рубикон. Сборник научных работ молодых ученых, 2002. -№ 20, С. 96-100.
-
Похожие работы
- Методы автоматизации построения поведенческой модели программного продукта на основе UCM-спецификаций
- Автоматическая генерация и исполнение программ по спецификациям на языке SDL
- Методы генерации тестовых сценариев на основе структурированных UCM-моделей проектируемой системы
- Метод и средства комплексной автоматизации высокоуровневого проектирования цифровых систем
- Динамическая верификация цифровой аппаратуры на основе формальных спецификаций
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность