Алгебраическое проектирование программ: алгоритмы, объекты, инструменты

Освещены современные исследования средств проектирования алгоритмов и программ. Известный тезис Вирта: "алгоритмы + структуры данных = программы" распространен на современные исследования по методологии и технологии программирования. При этом особое внимание уделено тем из них, которые соп...

Повний опис

Збережено в:
Бібліографічні деталі
Дата: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