Алгебраическое проектирование программ: алгоритмы, объекты, инструменты
Освещены современные исследования средств проектирования алгоритмов и программ. Известный тезис Вирта: "алгоритмы + структуры данных = программы" распространен на современные исследования по методологии и технологии программирования. При этом особое внимание уделено тем из них, которые соп...
Збережено в:
| Дата: | 2007 |
|---|---|
| Автори: | , , |
| Формат: | Стаття |
| Мова: | Російська |
| Опубліковано: |
Інститут програмних систем НАН України
2007
|
| Теми: | |
| Онлайн доступ: | https://nasplib.isofts.kiev.ua/handle/123456789/284 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Цитувати: | Алгебраическое проектирование программ: алгоритмы, объекты, инструменты / А.Е. Дорошенко, Л.М. Захария, Г.Е. Цейтлин // Пробл. програмув. — 2007. — N 2. — C. 5-14. — Библиогр.: 20 назв. — рус. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1859603890203262976 |
|---|---|
| author | Дорошенко, А.Е. Захария, Л.М. Цейтлин, Г.Е. |
| author_facet | Дорошенко, А.Е. Захария, Л.М. Цейтлин, Г.Е. |
| citation_txt | Алгебраическое проектирование программ: алгоритмы, объекты, инструменты / А.Е. Дорошенко, Л.М. Захария, Г.Е. Цейтлин // Пробл. програмув. — 2007. — N 2. — C. 5-14. — Библиогр.: 20 назв. — рус. |
| collection | DSpace DC |
| description | Освещены современные исследования средств проектирования алгоритмов и программ. Известный тезис Вирта: "алгоритмы + структуры данных = программы" распространен на современные исследования по методологии и технологии программирования. При этом особое внимание уделено тем из них, которые сопряжены с использованием алгебраического аппарата.
|
| first_indexed | 2025-11-28T01:43:11Z |
| format | Article |
| fulltext |
Теоретичні та методологічні основи програмування
© А.Е. Дорошенко, Л.М. Захария, Г.Е. Цейтлин, 2007
ISSN 1727-4907. Проблеми програмування. 2007. № 2 5
УДК 519.3
А.Е. Дорошенко, Л.М. Захария, Г.Е. Цейтлин
АЛГЕБРАИЧЕСКОЕ ПРОЕКТИРОВАНИЕ ПРОГРАММ:
АЛГОРИТМЫ, ОБЪЕКТЫ, ИНСТРУМЕНТЫ
Работа посвящена современным исследованиям средств проектирования алгоритмов и программ. Из-
вестный тезис Вирта: “алгоритмы + структуры данных = программы” распространен на современные
исследования по методологии и технологии программирования. При этом особое внимание уделено
тем из них, которые сопряжены с использованием алгебраического аппарата.
Введение
Одна из перспективных областей
знаний, интенсивно развивающихся в нас-
тоящее время на Западе, получила назва-
ние алгебраической алгоритмики (АА)
[1, 2]; другая – ментальное программиро-
вание (МП, или IP) [3] (далее АА и МП
назовём прототипами).
Отнесём АА к методам нисходяще-
го проектирования алгоритмов и про-
грамм, тогда как МП – к их восходящему
проектированию. Алгебраическая алго-
ритмика – формализованный подход к
описанию методов обработки математиче-
ских (алгебраических) объектов. В указан-
ном исследовании в качестве предметной
области выбраны наиболее известные ал-
горитмы Теории чисел и алгебры от Евк-
лида до наших дней. Основные алгебраи-
ческие структуры и концепции реализова-
ны в языке АДА, в связи с чем следует
отметить, что рассмотрение самих алго-
ритмов как алгебраических объектов и
разработка методов их инвариантного опи-
сания относительно программной реализа-
ции в объектно-ориентированных средах
дало бы возможность погружения их в
произвольную вычислительную среду в
любом языке программирования. К сожа-
лению, такое глубокое исследование дан-
ной предметной области не выработало
обобщенного подхода к разработке форма-
лизованных методов проектирования алго-
ритмов и программ, которое бы базирова-
лось на алгебраическом аппарате, и как
следствие предполагало их трансформа-
цию, приведение к каноническим формам,
оптимизацию по выбранным критериям.
Ментальное программирование,
или порождающее программирование (Ge-
nerative Programming, GP), открывает пе-
ред разработчиками приложений глобаль-
ные перспективы. Оно реализует идею
перехода от «одноразовых» программных
систем к полуавтоматическому производ-
ству самых разнообразных продуктов. Са-
мое ценное качество методики порождаю-
щего программмирования состоит в том,
что она учитывает преимущества автома-
тизации применительно к разработке про-
граммных средств. Эта книга содержит
обзор методов и инструментов, обеспечи-
вающих возможность проектирования и
реализации «правильных» компонентов
семейств систем, а также автоматизации
их сборки. Представленные в этой книге
методы применимы к любым программ-
ным проектам – от «локального» програм-
мирования на уровне классов и процедур
до масштабных разработок семейств ком-
плексных систем
Суть МП (или IP) характеризует
следующая цитата из [3]: "Вариант IP:
расширяемая среда программирования -
обеспечение адекватной поддержки пред-
метно-ориентированных абстракций – сос-
тоит в построении расширяемой среды
программирования, какой и является сис-
тема IP; на смену идее фиксированных
языков программирования в ней пред-
лагается принцип настройки специальных
программных нотаций, которая становится
возможной благодаря комбинированию
активных библиотек реализации отдель-
ных характеристик языков (намерений)
или их наборов".
Интересным представляется иссле-
дование, содержащее сравнительный ана-
лиз указанных технологий с возможно-
стями алгебры алгоритмики, подхода, ба-
Теоретичні та методологічні основи програмування
6
зирующегося на алгебро-алгоритмических
специификациях алгоритмов и программ,
восходящим к системам алгоритмических
алгебр В.М. Глушкова. Сравнительный
анализ алгебраической алгоритмики и ал-
гебры алгоритмики проведен в [2], в то же
время анализу МП посвящена данная ра-
бота.
1. Сущности алгебраического про-
ектирования
Общность указанных прототипов
(МП и алгебраической алгоритмики) сос-
тоит в их целевой близости к идее и паРа-
дигме развития алгебры алгоритмики [4, 5]
– одного из направлений исследований
украинской алгебро-кибернетической
школы, восходящего от фундаментальных
работ В.М. Глушкова по теории систем
алгоритмических алгебр (САА) [6, 7]. В
отличие от АА, будем для краткости в
дальнейшем обозначать алгебру алгорит-
мики как <АА>.
Действительно, алгебраическая ал-
горитмика (АА) по своему замыслу долж-
на была включить в сферу охвата и САА,
как алгебру алгоритмов. Это словосочета-
ние соответствует во-первых, алгебраиче-
ской сущности САА, во-вторых, ориента-
ции на конструирование алгоритмов обра-
ботки структур данных, характерных для
решаемой задачи. При этом, в частности,
отметим, что инструментарий САА [8]
может быть использован и для синтеза
программ в АДЕ – основной алгоритмиче-
ской составляющей АА [1].
В то же время, МП, в частности,
предназначено для облегчения и ускорения
конструирования кода языков програм-
мирования (ЯП) различного уровня и при-
кладного назначения. Эта цель определяет
инструментарий МП, предназначенный
для построения прикладных абстракций и
развития средств их поддержки в связи с
ориентацией на многообразие областей
приложений, включая и математизирован-
ные. Заметим, что парадигма САА также
представляет собой вызов сложности кон-
струирования программ различных языков
программирования.
Таким образом, приходим к выводу,
что развитие парадигмы САА и создание
соответствующего инструментария пресле-
дует цели, подобные назначению МП.
Отмечая близость САА к указан-
ным прототипам, следует подчеркнуть
концептуальную целостность парадигмы
САА, что во многом определяет преиму-
щества этой парадигмы в сравнении с
прототипами:
1. Алгебраическая сущность. САА
– это алгоритмические алгебры, которые
направлены на формализованное нисхо-
дящее проектирование объектов (алгорит-
мов, программ, абстрактных типов данных
(АТД) и памяти (АТП) ) в терминах неин-
терпретированных и частично интерпре-
тированных схем, называемых стратегия-
ми обработки [5]. Схемное представление
объектов формирует знания о средствах их
проектирования и синтеза (рис. 1). Наряду
с синтезом знаний в рамках <АА> [4] име-
ются средства прогнозирования и деком-
позиции, а также моделирования и про-
верки эффективности поведения про-
ектируемых моделей.
2. Синтаксическая и семантиче-
ская правильность. В процессе проекти-
рования необходимо обеспечить правиль-
ность проектируемых объектов, которая
должна быть поддержана соответ-
ствующими инструментальными средства-
ми. Инструментальные средства поддерж-
ки <АА> содержат диалоговые синтакси-
чески-правильные конструкторы (ДСП) [8,
9] ,синтаксические анализаторы, синтеза-
торы объектов [10]. Проблемы анализа и
синтеза получили своё развитие в класси-
ческой теории автоматов. Следует отме-
тить необходимость декомпозиции (анали-
за) объектов для возможно последующей
сборки (синтеза) нового знания (шаблоны-
схемы, стратегии обработки, интерпрета-
ции и пр.).
Отметим, что процесс синтеза, как
известно, состоит из двух основных эта-
пов:
- фиксация контейнеров – базовых
понятий, ассоциированных с выбранной
предметной областью (семантические
идентификаторы, интерпретации, их реа-
лизации, пр.);
- собственно генерация стратегий и
алгоритмов обработки, посредством бази-
Теоретичні та методологічні основи програмування
7
рующихся на соответствующих алгебрах
алгоритмов, языков проектирования и син-
теза программ на целевых языках про-
грамммирования [5, 11]. В настоящее вре-
мя указанные этапы получили названия
родового и генерирующего программиро-
вания [3].
Данные средства особенно важны
для организации мультиобработки, в связи
с взаимодействием параллельных ветвей.
Рис. 1. Средства проектирования и синтеза
Теоретичні та методологічні основи програмування
8
Разумеется, эти знания могут быть исполь-
зованы при распространении на различные
(в том числе и близкие) модели вычисле-
ний.
3. Модифицируемость. Схемы –
формы представления проектируемых
обьектов базируются на применении опре-
делённых метаправил: свёртки (абстра-
гирование), развёртки (детализация), пере-
интерпретации (свёртка-развёртка) и
трансформации (применение равенств –
тождеств, квазитождеств и соотношений,
характеризующих свойства операций,
входящих в сигнатуру САА [12].
4. Корректность модификаций.
Следует из функциональной эквивалентно-
сти схем, полученных в результате моди-
фикаций по перечисленным метаправилам,
что как раз и определяет их семантиче-
скую правильность.
5. Инструментарий проектирова-
ния. Созданы и далее развиваются инстру-
ментальные средства проектирования
объектов, принадлежащих одной и той же,
или различным предметным областям
[8, 9]. При этом проектируемые объекты
имеют общую структуру, заданную транс-
формационными преобразованиями и ин-
тегрированные формы представления: ана-
литическую, текстовую и граф-схе-
мную [13]. Эти формы отражают различ-
ные взаимодополняющие и инструмен-
тально поддерживаемые аспекты проекти-
рования объектов.
6. Последовательное и паралле-
льное функционирование. В зависимости
от сигнатуры операций алгебра, положен-
ная в основу выбранных средств проекти-
рования может быть сориентирована на
последовательное или параллельное функ-
циионирование проектируемых объектов.
Мультиобработка тесно связана с решени-
ем на уровне схем проблемы тупиков
(клинчей), овеществлением событий –
замкнутых условий прохождения соответ-
ствующих контрольных точек. Таким об-
разом поставленная проблема клинчей
оказывается связанной с задачей выявле-
ния фиктивных итерационных конструк-
ций. Решение обеих задач требует распо-
знавания соответствующего расположения
контрольных точек и синхронизаторов.
Иными словами, необходимо обеспечить
проверку выполнения событий и средств
задержки процессов вычислений по взаи-
мосвязанным параллельным ветвям. Орга-
низация параллелизма на уровне схем свя-
зана также с использованием средств, раз-
витых в теории замкнутых и локально-
замкнутых логических условий (или моно-
тонных операторов и их обобщений [6, 14].
7. Объектно-ориентированная
среда. Процесс проектирования объектов
предполагает интеграцию инструментария
алгебры алгоритмики с развитыми в на-
стоящее время средствами автоматизации
программмирования (UML, Rational Rose,
библиотеки объектов и др.). При этом от-
метим взаимодополнительность интегри-
руемых инструментальных средств в плане
их независимого и совместного использо-
вания, в частности, для разработки специ-
альных библиотек, ориентированных на
поддержку синтеза объектов, относящихся
к тем или иным предметным областям
[10, 14].
8. Клоны, методологический и
технологический аспекты. Со средины
90-х годов, в рамках дальнейшего развития
алгебры алгоритмики, на основе известных
методов и технологий программирования
были построены и исследованы мета-
алгебры-клоны [15 – 17], охватывающие
семейства подобных алгебр алгоритмов
(структурного, неструктурного, визуально-
го типов и пр.). С каждой из алгебр, вхо-
дящей в тот, или иной клон, могут быть
ассоциированы свои инструментальные
средства, адекватные выбранным предмет-
ной области, методу проектирования и
привычной для разработчиков технологии
производства объектов.
Следует подчеркнуть также, что
присущий алгебрам схемный (аналитичес-
кий) подход весьма близок шаблонам, при-
нятым в современных объектно-
ориентированных средах. При этом, наря-
ду с детализацией (присвоением значений
переменным формул, или полям шабло-
нов) сохраняется возможность модифика-
ции, характерной алгебраическому аппара-
ту вообще. Создаваемые при этом объекты
оптимизированы в плане улучшения их
Теоретичні та методологічні основи програмування
9
качества соответственно выбранным кри-
териям (память, быстродействие и др.).
К числу позитивных моментов раз-
виваемого подхода следует отнести также
возможность формализации ПИК-техно-
логии (или многократного применения
компонент), что соответствует использо-
ванию упомянутых ранее метаправил про-
ектирования объектов.
9. Предметная ориентация. Пер-
вые предметные области, созданные в
рамках развиваемого подхода, были связа-
ны с алгоритмизацией ряда задач символь-
ной обработки (сортировка, поиск, языко-
вое процессирование). Именно, спроекти-
рована (в терминах САА-схем) и синтези-
рована серия (порядка 50-ти) алгоритмов и
программ последовательной сортировки
(общий объём полученного программного
продукта до 10 тыс. строк на ПАСКАЛе)
[11]. Метаправило переинтерпретации
обеспечивает возможность распростране-
ния полученных проектов на алгоритмы
поиска не только последовательные, но и
параллельные [18].
10. Создание базы знаний. Интег-
ральные схемы, вместе с интерпретациями,
образуют базу знаний (БЗ), отражающую
сущность выбранной предметной области
(рис. 2). В данную БЗ входят также и тож-
дества, квазитождества, соотношения,
которые используются в процессе тран-
сформации схем. Соответственно методу
нисходящего проектирования переход от
неинтерпретированных к частично интер-
претированным схемам, а затем и к алго-
ритмам, может сочетаться с применением
восходящего метода. При этом следует
отметить возможность использования
упомянутых ранее метаправил свертки,
развертки, переинтерпретации и транс-
формации, что обычно связано с по-
строением смежной предметной области
(переход от сортировки к поиску). Это оз-
начает привлечение новых структур дан-
ных, соответствующих адекватной поста-
новке задачи (массовость сортировки и
поиска – выполнение не одного запроса на
поиск, а их массива).
Таким образом, построение БЗ
предполагает возможность её распростра-
нения вширь для охвата смежных задач,
или предметных областей, наличие не
только вертикальных связей (проектирова-
ние сверху-вниз, или в противоположном
направлении), но и вдоль – образование
для различных проектов их "слоенного
пирога" с инкапсуляцией структур данных
посредством применения необходимых
структур памяти и пр. Тем самым, наряду с
вертикальным и горизонтальным расслое-
нием БЗ можно говорить и о третьем изме-
рении, – вдоль, в частности, согласно вы-
бранному критерию качества (например,
быстродействия) осуществляется переход
к распределённой мультиобработке на ос-
нове Grid технологий [19].
Отметим, что шаблонное (или схем-
ное) проектирование объектов осу-
ществимо по всем рассмотренным направ-
лениям. При этом шаблонное (или схем-
ное) проектирование весьма эффективно,
при обработке, например n-отношений, по
горизонталям, вертикалям, диогоналям и
т.п. [20].
Способы "нарезания пирога", или
стратегии реализации параллельных вы-
числений должны учитывать особенности
среды, условия поставленной задачи, необ-
ходимое быстродействие, память и пр.
Важно, в частности, при проектировании
параллельных вычислений использовать,
как "полуфабрикаты" (шаблоны или схе-
мы), хранящиеся в предназначенных для
этого разделах БЗ.
Иными словами, эффективность ра-
боты с БЗ тесно связана с организацией в
ней удобных средств поиска и синтеза но-
вого знания.
Рассмотренные ранее трехмерные
методы построения БЗ могут быть связаны
с использованием соответствующих теоре-
тико-автоматных средств. Подчеркнём, что
они могут оказаться необходимыми по
всем, рассмотренным ранее, направлениям
создания и пополнения БЗ.
2. Создание абстракций про-
граммирования
К числу основных понятий IP от-
носится предметно-ориентированная абст-
ракция намерений. Аналогом даного поня-
тия может служить алгебраическая схема –
суперпозиция операций в различных алге-
Теоретичні та методологічні основи програмування
10
Рис. 2. База знаний предметной области
Теоретичні та методологічні основи програмування
11
брах, связанных с той, или иной методо-
логией или технологией программирова-
ния: автоматной, алгоритмической, АТД,
АТП, расширениями ЯП и пр.
Проектирование и синтез объектов
посредством алгебраических схем способ-
ствует решению ряда проблем, возникА-
ющих и при МП:
- формирование специализирован-
ных библиотек базовых понятий выбран-
ной предметной области адекватно кон-
цепции родового программирования, обес-
печивающего интерпретацию переменных,
входящих в спроектированные и синтези-
руемые схемы;
- предметно-ориентированные рас-
ширения суть производные языковые кон-
струкции, обеспечивающие ментальную
фиксацию предметно-ориентированных
абстракций, можно трактовать как созда-
ние соответствующих библиотек-разделов
БЗ, состоящих из часто используемых в
данной предметной области схемных про-
ектов (суперпозиций сигнатурных опера-
ций заданной алгебры схем) – аналоги
библиотек расширений в IP;
- указанные библиотеки расшире-
ний включают, в частности, эффективные
для выбранной предметной области: опти-
мизирующие преобразования, методы тес-
тирования и отладки, редактирования и пр.
- синтаксический анализ схем обес-
печивается, во-первых, за счёт наличия в
соответствующих языковых процессорах
проектирования и синтеза анализаторов
объектов, а во-вторых, за счёт диалоговых
конструкторов синтаксически правильных
(ДСП) схем, или деревьев их грамма-
тического разбора. Следует отметить, что
обеспечение синтаксической правильности
распространяется на все взаимосвязанные
формы представления объектов: аналити-
ческую, текстовую и граф-схемную;
- создание синтезаторов объектов,
библиотек расширений (абстракций) пред-
ставляет самостоятельную ценность и ори-
ентированно на применения в различных
предметных областях. Библиотеки схем
(абстракций) концентрируют взаимодо-
полняемые модели и существенно расши-
ряют возможности языковых процессоров,
облегчают осмысление (распутывание)
программного кода. Кроме того, алгебраи-
ческий (схемный) подход формализует
методы, технологии (в частности, ПИК-
технологию, или многократное использо-
вание компонент), служит инструментом
интеграции сред, способствует созданию и
накоплению различных библиотек, входя-
щих в состав БЗ.
Таким образом, алгебраический
подход к проектированию и синтезу объ-
ектов адекватен основным достоинствам
IP и обладает рядом существенных пре-
имуществ:
а) алгебра – не только удобный, яс-
ный, точный и компактный язык описания
объектов, она ориентирована на формали-
зованные преобразования объектов с це-
лью их качественного улучшения по вы-
бранным критериям (память, быстродейст-
вие, аппаратные ресурсы и пр.);
б) алгебраический формализм и ба-
зированные на нём инструменты ориенти-
рованны на множественное конструирова-
ние объектов ( включая не только схемы,
но языки входные, целевые и разнообразие
различных предметных областей;
в) разработана алгебраическая тео-
рия клонов, в рамках которой соответст-
венно известным методам проектирования
объектов построены семейства родствен-
ных алгебр различных типов и предметной
ориентации, базисных для языков специ-
фикаций сверхвысокого уровня. В пер-
спективе это означает, что прикладные
программисты получат возможность соз-
давать собственные удобные и адекватные
решению поставленной задачи, а также
среде реализации, языки проектирования и
инструменты синтеза объектов. Тем самым
для развиваемого алгебраического подхода
характерны, в частности, концепции эко-
логии намерений и эволюции биологиче-
ских систем.
Заключение
Прокомментируем с позиций алгеб-
раического проектирования объектов часто
задаваемые вопросы в дискуссиях по IP.
Вопрос 1. Универсальные языки
программирования изучены вдоль и попе-
рек. Любую новую предметно-ориенти-
рованную нотацию, напротив, придется
Теоретичні та методологічні основи програмування
12
тщательно разбирать. Не станет ли это не-
преодолимым препятствием к их распро-
странению?
Процесс проникновения в сущность
предметно-ориентированных нотаций мо-
жет быть существенно облегчён, если
оформление подобных нотаций сопровож-
дать присущими алгебре алгоримики фор-
мами: формула, текст, граф-схема.
Подчеркнём, что наличие инстру-
ментария <АА> обеспечивает возможность
эквивалентных преобразований указанных
форм, а также синтеза предметно-
ориентированных нотаций на соответст-
вующих специализированных ЯП. При
этом возможно их погружение в ОО-среды
с применением и интеграции <АА> с UML
и Rational Rose для погружения нотаций в
ОО-среды, базирующиеся как на универ-
сальных, так и специализированных ЯП.
Тем самым, контейнеры в контексте родо-
вого и генерирующего концепций предпо-
лагает разработку разделов БЗ, содержа-
щих библиотечные классы [20].
Вопрос 2. "Чем проще язык, тем
легче им пользоваться и тем четче на нем
получаются программы. Система IP пропа-
гандирует использование многофункцио-
нальных языков." Не усложнят ли такие
языки процесс и результат программиро-
вания?
Оценивая в плане сформулирован-
ного вопроса, алгебраические средства
спецификации и синтеза объектов, можно
утверждать, что подобные средства отно-
сятся к числу наиболее простых и много-
функциональных.
Как и в случае IP цель состоит в
том, чтобы иметь простые (отнюдь не
примитивные) сверхвысокого уровня язы-
ки спецификации объектов, упрощающие
процессы написания и синтеза объектов-
компонент, необходимых для составления
эффективных программ.
"Взять язык ассемблера – он прост,
в нем не так уж много средств, однако про-
цесс написания и сопровождения на нем
сложных программ иногда оборачивается
сплошной головоломкой. (Как сказал од-
нажды Альберт Эйнштейн: нам нужна
максимальная простота, и ничего проще!.)"
Успешный опыт использования алгебраи-
ческих средств спецификации и синтеза
объектов представлены в [14] в связи с
применением контейнерного подхода и
инструментария синтеза последовательных
и параллельных алгоритмов и программ
символьной мультиобработки в ОО-средах
(C++, Java и пр.).
Расширяемые среды программиро-
вания (наподобие IP и рассматриваемых
алгебраических средств) лишь упрощают
их применение, также предполагают отбор
определенного набора абстракций, предна-
значенных для решения конкретной зада-
чи. Они лишь упрощают этот процесс за
счет наличия проблемно-ориентированных
контейнеров, которые в универсальных
ЯП, как правило, отсутствуют.
Вопрос 3. Если каждый програм-
мист получит возможность расширять
язык, не наступит ли нотационный хаос?
Разработчики приложений, (работая
в рамках IP и рассматриваемых алгебраи-
ческих средств) , получают возможность
одновременно задействовать те универ-
сальные и предметно-ориентированные
библиотеки абстракций, которые опти-
мальным образом обеспечивают выполне-
ние поставленной задачи. Процесс состав-
ления абстракций языков (библиотек абст-
ракций) существенно отличается от при-
кладного программирования. Он предпо-
лагает применение интерфейсов приклад-
ного программирования абстракций, рабо-
ту в рамках специальных протоколов IP,
требует наличия определенных навыков,
связанных с конструированием языков и
реализацией.
Разработка библиотек абстракций
должна стать прерогативой поставщиков
библиотек, исключающей участие в этом
процессе прикладных программистов.
Разработка предметно-ориентиро-
ванных абстракций, по-видимому, должна
происходить точно таким же образом, ка-
ким сегодня осуществляються конструи-
рование стандартных, традиционных биб-
лиотек. (Во многих областях предметно-
ориентированные абстракции уже сущест-
вуют; задачей IP в этом контексте должна
стать их реализация в виде допускающих
совместное использование, встраиваемых
наборов программных абстракций.) С по-
Теоретичні та методологічні основи програмування
13
явлением рынка намерений разработчики
получат в свое распоряжение высококаче-
ственные, многофункциональные пред-
метно-ориентированные намерения, нали-
чие которых, очевидно, исключит потреб-
ность в самостоятельной разработке инди-
видуальных, узкоспециализированных ре-
шений. Формирование рынка предметно-
ориентированных абстракций приведет к
строгой специализации, благодаря которой
конструировать системы более высокого
качества и сложности станет значительно
проще.
Впрочем, наличие универсальной
платформы для создания расширений язы-
ков поможет снять распространенную на
сегодняшний день проблему – изолиро-
ванных островков предметно-ориентиро-
ванных и прикладных языков.
Вопрос 4. А как насчет способности
библиотек абстракций к взаимодействию?
Не приведет ли проблема взаимосвязи ме-
жду расширениями (при которой каждое
новое расширение способно нарушить
структуру языка) к тому, что расширять
языки программирования станет нерацио-
нально?
Используя возможность клонирова-
ния алгебраических и предметно-ори-
ентированных ЯП получаем эффективный
инструмент решения поставленной про-
блемы.
1. Ноден П., Ноден К. Алгебраическая ал-
горитмика, Издательство «Мир», 1999. –
720 с.
2. Цейтлин Г.Е., Мохница А.С. Что такое
алгебраическая алгоритмика? // Пробле-
мы программирования. – 2004, № 2-3. –
С. 52–57.
3. Чарнецки К., Айзнекер У. Порождающее
программирование: методы средства и
приложения . – Питер, 2005. – 736 с.
4. Цейтлин Г.Е. Алгебраическая алгорит-
мика: теория и приложения // Киберне-
тика и системный анализ. – 2003. – № 1.
– С. 8 – 18.
5. Цейтлин Г.Е. Введение в алгоритмику. –
К.: Сфера, 1998. – 310 с.
6. Глушков В.М., Цейтлин Г.Е., Ющенко
Е.Л. Алгебра. Языки. Программирова-
ние. – Киев: Наук. думка, 1-е изд., 1974.
– 327 с.; 2-е изд., перераб., 1978. – 318 с.;
3-е изд., перераб. и доп, 1989. – 376 с.
7. Gluschkow W.M., Zeitlin G.E., Justchenko
J.L. Algebra. Sprachen. Programmierung. -
Berlin: Akademie-Verlag, 1980. – 340 p.
8. Многоуровневое структурное проектиро-
вание программ: Теоретические основы,
инструментарий / Е.Л. Ющенко, Г.Е.
Цейтлин, В.П. Грицай, Т.К. Терзян. – М.:
Финансы и статистика, 1989. – 208 с.
9. Яценко Е.А., Мохница А.С. Инструмен-
тальные средства конструирования син-
таксически правильных параллельных
алгоритмов и программ // Проблемы
программирования. Спец. выпуск по ма-
териалам 4-й Междунар. научн.-практич.
конф. по программированию
УкрПРОГ'2004. – К.: ИПС НАН Украи-
ны, 2004. – № 2-3. – С. 444 – 450.
10. Яценко Е.А. Алгебры гиперсхем и интег-
рированный инструментарий синтеза
программ в современных объектно-
ориентированных средах // Кибернетика
и системный анализ. – 2004. – №1. –
С. 47 – 52.
11. Цейтлин Г.Е., Терзян Т.К., Захария Л.М.
Инструментарий конструирования экс-
пертных систем символьной обработки //
Математические машины и системы. –
1997. – № 1. – С. 14 – 25.
12. Цейтлин Г.Е., Ющенко Е.Л. Формализо-
ванные спецификации и трансформаци-
онный синтез программ // Кибернетика и
системный анализ. – 1993. – № 1. –
С. 127-152.
13. Цейтлин Г.Е., Ющенко Е.Л. Алгебра
алгоритмов и граф-схемы Калужнина //
Кибернетика и системный анализ. –
1994. – № 2. С. 3 – 16.
14. Цейтлин Г.Е., Яценко Е.А. Элементы
алгебраической алгоритмики и объект-
но-ориентированный синтез параллель-
ных программ // Математические маши-
ны и системы. – 2003. – № 2. – С. 64 - 76.
15. Цейтлин Г. Е. Проблема функциональ-
ной полноты в итеративных мета-
алгебрах // Кибернетика и системный
анализ. – 1998. – № 2. – С. 28 – 45.
16. Цейтлин Г.Е. "Алгебры Глушкова и тео-
рия клонов" // Кибернетика и системный
анализ. – 2003. – № 4. – С. 48 – 58.
17. Post E.L. The two-valued iterative systems
of mathematical logic // Ann. Math. Stud-
ies. – 5- 1941. – P. 147.
18. Бондарчук В.Г., Калужнин Л.А., Котов
В.Н., Ромов Б.А. Теория Галуа для ал-
гебр Поста. – Ч.1, 2 // Кибернетика. –
1969. – № 3. – С. 1 – 10; № 5. – С. 1 – 9.
Теоретичні та методологічні основи програмування
14
19. Яценко Е.А. Конструирование пара-
ллельных объектно-ориентированных
программ // Проблемы программирова-
ния. Спец. выпуск по материалам 3-й
Междунар. научн.-практич. конфер. по
программированию УкрПРОГ'2002. –
Киев: ИПС НАН Украины, 2002. – №1-
2. – С. 188 – 197.
20. Дорошенко А.Е., Алистратов О.В., Тыр-
чак Ю.М., Розенблат А.П., Рухлис К.А.
Системы Grid – вычислений – перспек-
тива для научных исследований // Про-
блемы программирования. – 2005. – № 1.
– С. 14 – 38.
Получено 19.04.2007
Об авторах:
Дорошенко Анатолий Ефимович,
доктор физико-математических наук,
руководитель отдела,
Захария Любовь Михайловна,
кандидат физико-математических наук,
докторант,
Цейтлин Георгий Евсеевич, доктор физи-
ко-математических наук,
ведущий сотрудник.
Место работы авторов:
Институт программных систем
НАН Украины,
03187, Киев 187, Украина,
проспект Академика Глушкова, 40.
тел. 526 1538,
e-mail: dor@isofts.kiev.ua
Институт программных систем
НАН Украины,
Львов, ул. Кульпарковская 128/76,
тел. 8 032 2920203,
e-mail : zlm.lviv@gmail.com
Институт программных систем
НАН Украины, 100,
тел. 8 044 2574374,
e-mail: tseytlin@vikno.relc.com
|
| id | nasplib_isofts_kiev_ua-123456789-284 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 1727-4907 |
| language | Russian |
| last_indexed | 2025-11-28T01:43:11Z |
| publishDate | 2007 |
| publisher | Інститут програмних систем НАН України |
| record_format | dspace |
| spelling | Дорошенко, А.Е. Захария, Л.М. Цейтлин, Г.Е. 2008-02-22T18:12:49Z 2008-02-22T18:12:49Z 2007 Алгебраическое проектирование программ: алгоритмы, объекты, инструменты / А.Е. Дорошенко, Л.М. Захария, Г.Е. Цейтлин // Пробл. програмув. — 2007. — N 2. — C. 5-14. — Библиогр.: 20 назв. — рус. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/284 Освещены современные исследования средств проектирования алгоритмов и программ. Известный тезис Вирта: "алгоритмы + структуры данных = программы" распространен на современные исследования по методологии и технологии программирования. При этом особое внимание уделено тем из них, которые сопряжены с использованием алгебраического аппарата. ru Інститут програмних систем НАН України Теоретичні та методологічні основи програмування Алгебраическое проектирование программ: алгоритмы, объекты, инструменты Article published earlier |
| spellingShingle | Алгебраическое проектирование программ: алгоритмы, объекты, инструменты Дорошенко, А.Е. Захария, Л.М. Цейтлин, Г.Е. Теоретичні та методологічні основи програмування |
| title | Алгебраическое проектирование программ: алгоритмы, объекты, инструменты |
| title_full | Алгебраическое проектирование программ: алгоритмы, объекты, инструменты |
| title_fullStr | Алгебраическое проектирование программ: алгоритмы, объекты, инструменты |
| title_full_unstemmed | Алгебраическое проектирование программ: алгоритмы, объекты, инструменты |
| title_short | Алгебраическое проектирование программ: алгоритмы, объекты, инструменты |
| title_sort | алгебраическое проектирование программ: алгоритмы, объекты, инструменты |
| topic | Теоретичні та методологічні основи програмування |
| topic_facet | Теоретичні та методологічні основи програмування |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/284 |
| work_keys_str_mv | AT dorošenkoae algebraičeskoeproektirovanieprogrammalgoritmyobʺektyinstrumenty AT zahariâlm algebraičeskoeproektirovanieprogrammalgoritmyobʺektyinstrumenty AT ceitlinge algebraičeskoeproektirovanieprogrammalgoritmyobʺektyinstrumenty |