121
5. Определение механизмов композиции (вызовов процедур, методов, сцеплений)
функциональных модулей многоразового применения и аспектов в точках их
соединения, как фрагментов модулей с обеспечением свойств управления
выполнением этих модулей, или ссылок из этих точек на другие модули.
6. Создание объектной или компонентной модели, дополнение ее входными и
выходными фильтрами сообщений, посылающих объектам с ссылками, задание на
выполнение методов или аспектов управления синхронизацией, защитой и т.д.
7. Анализ библиотеки расширений для выбора некоторых функциональных модулей,
необходимых для реализации задач домена.
8. Компиляция, отладка модулей и аспектов, а также композиция их в прикладную
программу.
Для эффективной реализации аспектов разработаны ІР–библиотека расширений,
активные библиотеки, Smalltalk и ЯП, расширенные средствами описания аспектов.
В ІР–библиотеке размещены некоторые функции компиляторов, методов, средства
оптимизации, редактирования, отображения. и др. Например, библиотека матриц, с
помощью которой вычисляются выражения с массивами, обеспечивается скорость
выполнения, предоставления памяти и т.п.[21]. Использование таких библиотек в
расширенных средах программирования называют родовым программированием, а
решение проблем экономии, перестройки компиляторов под каждое новое языковое
расширение, использование шаблонов и результатов предыдущей обработкой относят
к области ментального программирования [22].
Библиотека включают отдельные функции компиляторов, средств оптимизации,
редактирования, отображения понятий, перестройки отдельных компонентов
компиляторов под новое языковое расширения, а также средства программирования на
основе шаблонов и т.п. Библиотеки с такими возможностями получили название
библиотек генерирующего типа.
Иной вид библиотек АОП – активные библиотеки, которые содержат не только
базовый код реализации понятий ПрО, но и целевой код обеспечения компиляции,
оптимизации, адаптации, визуализацию и редактирование.
Активные библиотеки пополняются средствами и инструментами интеллектуализации
агентов, с помощью которых поддерживается разработка специализированных агентов
для решения конкретных задач реализуемой ПрО.
5.1.6. Генерирующее (порождающее) программирование
Порождающее программирование (generatе programming) основана на генерации и
моделировании групп или отдельных элементов ПС из разных продуктов
программирования: объектов, компонентов, аспектов, сервисов, ПИК, систем,
характеристик, каркасов и т.п. Базисом этого программирования является ООП,
дополненное механизмами применения ПИК, а также свойствами изменчивости,
взаимодействия, синхронизации и др. [22].
В нем используются другие методы программирования, например, для поддержки
инженерии ПрО как дисциплины проектирования семейств ПС из разных ранее
указанных продуктов программирования.