Rambler's Top100
Структуралист (на главную)  
 

Порождающее программирование
(generative programming)

Порождающее программирование (generative programming) – парадигма технологии разработки программного обеспечения, основанная на моделировании семейства программных систем, используя которые можно по конкретным техническим требованиям автоматически получить специализированный и оптимизированный промежуточный или конечный программный продукт из элементарных, многократно используемых компонентов реализации с помощью базы знаний о конфигурациях [1].

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

Таким образом, порождающее программирование – это автоматизированное производство программных продуктов из отдельных компонентов, на манер того, как это происходит при производстве промышленных изделий, в частности автомобилей. Ключевыми моментами здесь являются унификация, автоматизация и гибкость. Так современные сборочные линии позволяют создавать автомобили с различными конфигурациями. Например, для автомобиля Mercedes-Benz класса E имеется 8000 вариантов водительских мест и 10 000 вариантов сидений [1].

В отличие от методологии компонентного программирования в порождающем программировании происходит автоматическая (автоматизированная) сборка программного продукта. Компонентно-ориентированное ориентированное программирование можно уподобить сборке автомобиля из конструктора (набора типовых элементов), в то время как в порождающем программировании задаются требования к синтезируемой системе, на манер того, как клиент заказывает у дилера желаемую конфигурацию автомобиля. Для реализации такой парадигмы необходимы:

  • компоненты реализации, с учетом общей архитектуры данной линейки продуктов;
  • модель знаний о трансляции абстрактных требований в конкретные связи компонентов;
  • реализация этих знаний в генераторах.

Здесь также налицо полная аналогия синтеза объектов с использованием интегративных и универсальных моделей и моделей морфологического множества. Таким образом, концепция порождающего программирования тесно связана с идеей автоматизации структурно-параметрического синтеза, на базе теории интегративных моделей, а, следовательно, многие элементы теории и инструментальные средства автоматизации структурно-параметрического синтеза, представленные на данном сайте, могут быть использованы в порождающем программировании. В самом деле, в работах по порождающему программированию производство программных систем явно или неявно трактуется как структурно-параметрический синтез (ведь программная система имеет структуру, а также параметры). И наоборот, элементы теории и инструментальные средства порождающего программирования могут быть заимствованы при развитии теории и реализации интегративных моделей.

Литература

  1. Чернецки К., Айзенекер У. Порождающее программирование: методы, инструменты, применение / Пер. с англ. СПб: Питер, 2005.
  2. Акимов С.В. Четырехуровневая интегративная модель для автоматизации структурно-параметрического синтеза // Труды учебных заведений связи / СПбГУТ. СПб, 2004. № 171. С. 165-173.
  3. Акимов С.В. Мультиагентная модель автоматизации структурно-параметрического синтеза

Связанные понятия

Кто Вы?
Исследователь
Специалист
Управленец
Преподаватель
Студент
Аспирант
Другое
Результаты голосования

©Structuralist 2005-2006
structuralist@narod.ru
Рейтинг@Mail.ru Rambler's Top100
Hosted by uCoz