Методы и средства инженерии программного обеспечения


Генерирующее (порождающее) программирование


 

Порождающее программирование (generatе programming)  основана на генерации и моделировании групп или отдельных элементов ПС из разных продуктов программирования: объектов, компонентов, аспектов, сервисов, ПИК, систем, характеристик, каркасов и т.п. Базисом этого программирования является  ООП, дополненное   механизмами применения ПИК, а также  свойствами  изменчивости,  взаимодействия, синхронизации и др. [22].

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

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

Главным элементом проектирования ПС является не уникальный программный продукт, созданный из ПИК для конкретных применений, а семейство ПС или конкретные его экземпляры. Элементы семейства не создаются с нуля, а генерируются на основе общей генерирующей модели домена (generative domain model), т.е. модели семейства,  включающей  средства определения членов семейства, компоненты реализации и ПИК для  сборки  любого члена семейства и базы конфигурации,  специфицирующей  членов семейства.

Каждый член семейства отражает максимум знаний  о его производстве, а именно,  конфигурации, инструментарии измерения и оценки, методах тестирования и планирования, отладки, визуального представления, а также о  многократно используемых ПИК из  активной библиотеки [21, 22].

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




- Начало -  - Назад -  - Вперед -