DS-теория. Научные аспекты и перспективы развития
В работе представлена теория схем декомпозиции как научная теория. Описаны ее атрибуты – парадигма, поле исследований, цель исследований, основная задача, метод решения , основная теоретическая модель – схема декомпозиции. Утилитарная, практическая цель теории – предложить механизм генерации приклад...
Збережено в:
| Опубліковано в: : | Проблеми програмування |
|---|---|
| Дата: | 2017 |
| Автор: | |
| Формат: | Стаття |
| Мова: | Russian |
| Опубліковано: |
Інститут програмних систем НАН України
2017
|
| Теми: | |
| Онлайн доступ: | https://nasplib.isofts.kiev.ua/handle/123456789/144046 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Цитувати: | DS-теория. Научные аспекты и перспективы развития // Проблеми програмування. — 2017. — № 1. — С. 3-20. — Бібліогр.: 22 назв. — рос. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraine| id |
nasplib_isofts_kiev_ua-123456789-144046 |
|---|---|
| record_format |
dspace |
| spelling |
Колесник, В.Г. 2018-11-19T18:52:05Z 2018-11-19T18:52:05Z 2017 DS-теория. Научные аспекты и перспективы развития // Проблеми програмування. — 2017. — № 1. — С. 3-20. — Бібліогр.: 22 назв. — рос. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/144046 004.424, 004.415 В работе представлена теория схем декомпозиции как научная теория. Описаны ее атрибуты – парадигма, поле исследований, цель исследований, основная задача, метод решения , основная теоретическая модель – схема декомпозиции. Утилитарная, практическая цель теории – предложить механизм генерации прикладных алгоритмов (не машинного кода). Показано, что схема декомпозиции как описание заменяет описание алгоритма и при этом оста ется декларативным в противоположность описанию алгоритма, как императивному. При этом схема декомпозиции есть описание, исходное для генерации алгоритмов. Описаны виды схем декомпозиции и операции над ними. Описаны алгоритмически релевантные факторы, кото рые следует учитывать при генерации алгоритмов для того, чтобы алгоритмы становились реальными. В работе описана работа по формализации и математическому описанию явлений и объектов теории схем декомпозиции. Предложен механизм контроля выводов и результатов теории. В работе также описано направление развития теории схем декомпозиции. Приоритетное направление соотносится с созданием и развитием системы емких понятий и абстракций. С точки зрения практического применения теории схем декомпозиции, предложен подход подобный тому, что есть в машиностроении – развитие и продвижение передовых технологий по запросу, по потребности – как результат целенаправленных исследований. У роботі представлена теорія схем декомпозиції як наукова теорія. Описано її атрибути – парадигма, поле досліджень, мета досліджень, основне завдання, метод рішення, основна теоретична модель – схема декомпозиції. Утилітарна, практична мета теорії – запропонувати механізм генерації прикладних алгоритмів (не машинного коду). Показано, що схема декомпозиції як опис замінює опис алгоритму і при цьому залишається декларативним на противагу опису алгоритму, як імперативному. При цьому схема декомпозиції є опис, вихідне завдання для генерації алгоритмів. Описано види схем декомпозиції та операції над ними. Описано алгоритмічно релевантні фактори, які слід враховувати при генерації алгоритмів для того, щоб алгоритми ставали реальними. У роботі описана робота з формалізації і математичному опису явищ і об’єктів теорії схем декомпозиції. Запропоновано механізм контролю висновків і результатів теорії. У роботі також описано напрям розвитку теорії схем декомпозиції. Пріоритетний напрямок співвідноситься з створенням і розвитком системи містких понять і абстракцій. З погляду практичного застосування теорії схем декомпозиції запропоновано підхід подібний до того, що є в машинобудуванні, – розвиток і просування передових технологій за запитом, по необхідності – як результат цілеспрямованих досліджень. The work presents the theory of decomposition schemes as a scientific theory. It’s attributes – paradigm, field of research, aim of research, main task, decision method, basic theory model – decomposition scheme were described. Practical aim of the theory is to suggest the mechanism of applied algorithms generation (not machine code). It is shown that the decomposition scheme as a description changes the algorithm description and still remains declarative on the contrary to the algorithm description as imperative. Thereby the decomposition scheme is the description, original for algorithms’ generation. The kinds of decomposition schemes and operations on them have been described. Algorithmically relevant factors which should be considered when generating algorithms in order the algorithms turned real have been described. Working over formalization and mathematical description of the phenomena and objects of the theory of the decomposition schemes have been described here. The mechanism for control of conclusions and results of the theory has been suggested. This work also describes the direction of development of the theory of the decomposition schemes. The priority direction relates to the creation and development of the system of capacious notion and abstractions. From the point of view of the practical application of the theory of the decomposition schemes there the approach which is alike to the one used in machine-building – development and promoting of hi-tech when required – as a result of the targeted research has been suggested. ru Інститут програмних систем НАН України Проблеми програмування Теоретичні та методологічні основи програмування DS-теория. Научные аспекты и перспективы развития DS-теорія. Наукові аспекти та перспективи розвитку DS-theory. Scientific aspects and prospects for development Article published earlier |
| institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| collection |
DSpace DC |
| title |
DS-теория. Научные аспекты и перспективы развития |
| spellingShingle |
DS-теория. Научные аспекты и перспективы развития Колесник, В.Г. Теоретичні та методологічні основи програмування |
| title_short |
DS-теория. Научные аспекты и перспективы развития |
| title_full |
DS-теория. Научные аспекты и перспективы развития |
| title_fullStr |
DS-теория. Научные аспекты и перспективы развития |
| title_full_unstemmed |
DS-теория. Научные аспекты и перспективы развития |
| title_sort |
ds-теория. научные аспекты и перспективы развития |
| author |
Колесник, В.Г. |
| author_facet |
Колесник, В.Г. |
| topic |
Теоретичні та методологічні основи програмування |
| topic_facet |
Теоретичні та методологічні основи програмування |
| publishDate |
2017 |
| language |
Russian |
| container_title |
Проблеми програмування |
| publisher |
Інститут програмних систем НАН України |
| format |
Article |
| title_alt |
DS-теорія. Наукові аспекти та перспективи розвитку DS-theory. Scientific aspects and prospects for development |
| description |
В работе представлена теория схем декомпозиции как научная теория. Описаны ее атрибуты – парадигма, поле исследований, цель исследований, основная задача, метод решения , основная теоретическая модель – схема декомпозиции. Утилитарная, практическая цель теории – предложить механизм генерации прикладных алгоритмов (не машинного кода). Показано, что схема декомпозиции как описание заменяет описание алгоритма и при этом оста ется декларативным в противоположность описанию алгоритма, как императивному. При этом схема декомпозиции есть описание, исходное для генерации алгоритмов. Описаны виды схем декомпозиции и операции над ними. Описаны алгоритмически релевантные факторы, кото рые следует учитывать при генерации алгоритмов для того, чтобы алгоритмы становились реальными. В работе описана работа по формализации и математическому описанию явлений и объектов теории схем декомпозиции. Предложен механизм контроля выводов и результатов теории. В работе также описано направление развития теории схем декомпозиции. Приоритетное направление соотносится с созданием и развитием системы емких понятий и абстракций. С точки зрения практического применения теории схем декомпозиции, предложен подход подобный тому, что есть в машиностроении – развитие и продвижение передовых технологий по запросу, по потребности – как результат целенаправленных исследований.
У роботі представлена теорія схем декомпозиції як наукова теорія. Описано її атрибути – парадигма, поле досліджень, мета досліджень, основне завдання, метод рішення, основна теоретична модель – схема декомпозиції. Утилітарна, практична мета теорії – запропонувати механізм генерації прикладних алгоритмів (не машинного коду). Показано, що схема декомпозиції як опис замінює опис алгоритму і при цьому залишається декларативним на противагу опису алгоритму, як імперативному. При цьому схема декомпозиції є опис, вихідне завдання для генерації алгоритмів. Описано види схем декомпозиції та операції над ними. Описано алгоритмічно релевантні фактори, які слід враховувати при генерації алгоритмів для того, щоб алгоритми ставали реальними. У роботі описана робота з формалізації і математичному опису явищ і об’єктів теорії схем декомпозиції. Запропоновано механізм контролю висновків і результатів теорії. У роботі також описано напрям розвитку теорії схем декомпозиції. Пріоритетний напрямок співвідноситься з створенням і розвитком системи містких понять і абстракцій. З погляду практичного застосування теорії схем декомпозиції запропоновано підхід подібний до того, що є в машинобудуванні, – розвиток і просування передових технологій за запитом, по необхідності – як результат цілеспрямованих досліджень.
The work presents the theory of decomposition schemes as a scientific theory. It’s attributes – paradigm, field of research, aim of research, main task, decision method, basic theory model – decomposition scheme were described. Practical aim of the theory is to suggest the mechanism of applied algorithms generation (not machine code). It is shown that the decomposition scheme as a description changes the algorithm description and still remains declarative on the contrary to the algorithm description as imperative. Thereby the decomposition scheme is the description, original for algorithms’ generation. The kinds of decomposition schemes and operations on them have been described. Algorithmically relevant factors which should be considered when generating algorithms in order the algorithms turned real have been described. Working over formalization and mathematical description of the phenomena and objects of the theory of the decomposition schemes have been described here. The mechanism for control of conclusions and results of the theory has been suggested. This work also describes the direction of development of the theory of the decomposition schemes. The priority direction relates to the creation and development of the system of capacious notion and abstractions. From the point of view of the practical application of the theory of the decomposition schemes there the approach which is alike to the one used in machine-building – development and promoting of hi-tech when required – as a result of the targeted research has been suggested.
|
| issn |
1727-4907 |
| url |
https://nasplib.isofts.kiev.ua/handle/123456789/144046 |
| citation_txt |
DS-теория. Научные аспекты и перспективы развития // Проблеми програмування. — 2017. — № 1. — С. 3-20. — Бібліогр.: 22 назв. — рос. |
| work_keys_str_mv |
AT kolesnikvg dsteoriânaučnyeaspektyiperspektivyrazvitiâ AT kolesnikvg dsteoríânaukovíaspektitaperspektivirozvitku AT kolesnikvg dstheoryscientificaspectsandprospectsfordevelopment |
| first_indexed |
2025-11-25T20:40:31Z |
| last_indexed |
2025-11-25T20:40:31Z |
| _version_ |
1850526630993199104 |
| fulltext |
Теоретичні та методологічні основи програмування
© В.Г. Колесник, 2017
ISSN 1727-4907. Проблеми програмування. 2017. № 1 3
УДК 004.424, 004.415
В.Г. Колесник
DS-ТЕОРИЯ.
НАУЧНЫЕ АСПЕКТЫ И ПЕРСПЕКТИВЫ РАЗВИТИЯ
В работе представлена теория схем декомпозиции как научная теория. Описаны ее атрибуты – па-
радигма, поле исследований, цель исследований, основная задача, метод решения, основная теоре-
тическая модель – схема декомпозиции. Утилитарная, практическая цель теории – предложить ме-
ханизм генерации прикладных алгоритмов (не машинного кода). Показано, что схема декомпоз и-
ции как описание заменяет описание алгоритма и при этом остается декларативным в противопо-
ложность описанию алгоритма, как императивному. При этом схема декомпозиции есть описание,
исходное для генерации алгоритмов. Описаны виды схем декомпозиции и операции над ними.
Описаны алгоритмически релевантные факторы, которые следует учитывать при генерации алго-
ритмов для того, чтобы алгоритмы становились реальными. В работе описана работа по формали-
зации и математическому описанию явлений и объектов теории схем декомпозиции. Предложен
механизм контроля выводов и результатов теории. В работе также описано направление развития
теории схем декомпозиции. Приоритетное направление соотносится с созданием и развитием си-
стемы емких понятий и абстракций. С точки зрения практического применения теории схем де-
композиции, предложен подход подобный тому, что есть в машиностроении – развитие и продви-
жение передовых технологий по запросу, по потребности – как результат целенаправленных ис-
следований.
Ключевые слова: алгоритм, анализ, генерация, данные, декомпозиция, наука, программная инженерия,
программирование, процесс, структура, синтез.
Введение
Несмотря на то, что в сфере про-
граммной инженерии накоплено множе-
ство фактов, разработаны методы, пред-
ложены обобщения и абстракции, – тео-
рии общего плана не существует.
DS-теория, описанная в [1–5] – это по-
пытка построить систематическую тео-
рию для программной инженерии (для
технологии программирования). В насто-
ящей работе обсуждаются различные ас-
пекты DS-теории как научной теории,
развивающейся на основе единой пара-
дигмы. Описаны факторы, являющиеся
препятствием к применению DS-теории в
практике. Принимая их во внимание, тео-
ретические выводы можно применять в
практике реального практического про-
граммирования. Проводится сравнение
программирования с применением DS-
теории с одной стороны и машинострои-
тельным производством с другой. На ос-
новании этого сравнения обсуждается
возможный эффект в сокращении издер-
жек – именно то, что может дать инду-
стрии программирования DS-теория как
научная теория.
Атрибуты научной теории
Поле исследований. DS-теория
объектом своего внимания имеет алго-
ритмы программ (или программных ком-
плексов) во всех прикладных областях.
Прежде всего, исследуется управление –
конструкции из циклов, условий, подпро-
грамм. DS-теория занимается исследова-
нием тех факторов, что порождают
управление, структуру алгоритмических
конструкций. Исследуются причины, из-
за которых растет сложность алгоритми-
ческих конструкций.
Парадигма. Явно или неявно, в са-
мом общем виде в разработке программно-
го обеспечения существует одна теорети-
ческая модель – некое подобие машины
Тьюринга. С точки зрения этой модели,
обрабатываемые данные являются аб-
страктными и безликими. А это значит,
что основные элементарные операции над
данными являются абстрактными, прими-
тивными и бедными. Эта модель с точки
зрения программной инженерии не форма-
лизована, но на ее основе построены тек-
стовые процессоры, СУБД, компиляторы и
Теоретичні та методологічні основи програмування
4
интерпретаторы, на ее принципах постро-
ено объектно-ориентированное програм-
мирование [6] и посредством него эта мо-
дель массово внедряется в разрабатывае-
мые программы. В настоящее время эта
модель превратилась в методологическое
препятствие в развитии программной ин-
женерии.
В DS-теории вместо модели “Ма-
шина Тьюринга” используется модель
“Формирование знаний”. Принципиальная
ключевая исходная идея DS-теории (пара-
дигма) звучит так: “В компьютере произ-
водятся новые знания”. Эта парадигма
принимается в DS-теории как аксиома, как
исходное положение и противопоставляет-
ся другой парадигме: “В компьютере про-
исходит обработка информации”. Развитие
основной идеи в следующем: “Знания
имеют свою внутреннюю структуру и свой
механизм их формирования – процедуру
декомпозиции”. И далее: “Алгоритм и
программа в компьютере являются отра-
жением процедуры декомпозиции”.
Процедура декомпозиции известна
и интуитивно понятна практически любо-
му исследователю, так как это один из
мыслительных инструментов исследова-
ний. Кроме того, схема декомпозиции –
это то, что очень похоже на структурный
анализ. Но в DS-теории акценты устанав-
ливаются на процедуре формирования
знаний, а не на наборе декомпонуемых
конструкций и механизме управления ими.
Цель исследований. Главной це-
лью DS-теории есть создание средств эф-
фективного управления сложными про-
граммными проектами – борьба со слож-
ностью. Понимая, что для многих проек-
тов сложность – это естественное свой-
ство, – это природа проекта и уменьшить
ее не представляется возможным, то DS-
теория нацелена на то, чтобы разработать
средства для управления сложными проек-
тами.
Производными целями DS-теории,
которые могут быть достигнуты, есть те
же цели, что определились как основные в
индустрии программного обеспечения:
повысить качество программ.
Более конкретно – уменьшить количество
ошибок на порядок;
обеспечить сокращение времени
программирования. Для этого уйти от про-
граммирования с использованием алго-
ритмических языков строчного типа к язы-
кам графического типа;
обеспечить сокращение издержек
на разработку и сопровождение программ
в разы.
Основная задача. Поставленные
выше цели DS-теория предполагает с по-
мощью решения основной задачи. Такая
основная задача – это проектирование
схемы получения новых знаний об объекте
познавательной схемы (ПС). Построение
этой схемы подразумевает существование
трех обстоятельств. Первое то, что ПС бу-
дет записана строго формально. Второе –
как правило, ПС будет сложной и структу-
рированной, и будет состоять из более
простых схем как компонент. И третье то,
что ПС будет содержать повторяющиеся
расчетные действия.
В рамках DS-теории дополнительно
предпринимаются шаги для решения еще
некоторых задач. Разрабатываются сред-
ства компактного описания алгоритмов и
программ. А для этого ведется поиск ем-
ких понятий – основное продуктивное
средство DS-теории. Компактное средство
описания программ подразумевает после-
дующую разработку графических визуаль-
ных средств описания, – это основная
предпосылка для создания эффективной
графики.
Метод решения. Для того, чтобы
представить ПС в формальном виде как
универсальную модель, используется
формальная схема декомпозиции. Проце-
дура построения включает эмпирические
исследования ПС в прикладной области.
В простейшем случае проектирование
будет заключаться в том, чтобы только
записать формально ПС (или, то же самое
– решение прикладной задачи), которая
реально существует в ручном расчете,
либо в автоматизированном расчете,
но с использование менее продуктивных
технических средств. Возможно, что ПС
уже записана и реализована в виде про-
граммы, но ее необходимо расширить
функционально. Самый сложный вариант
Теоретичні та методологічні основи програмування
5
– ПС не существует и ее необходимо
спроектировать сначала при отсутствии
прототипов.
Завершением решения будет пре-
образование ПС в реальный алгоритм,
представленный на алгоритмическом язы-
ке или как исполняемая программа в ма-
шинном коде. Собственно, это есть гене-
рация алгоритма на основе формального
описания схемы декомпозиции.
Основная теоретическая модель.
Основной инструмент теории или основ-
ная теоретическая модель – схема деком-
позиции1. Простейшее описание схемы де-
композиции [1] включает дерево полной
схемы декомпозиции (DPS), где для каж-
дого узла Ki должен быть определен кор-
теж описания узла KRi = (Ti, А
a
i, А
s
i, DMi),
который включает:
Ti – перечень типов свойств.
Аa
i – аналитические алгоритмические зави-
симости.
Аs
i – синтетические алгоритмические зави-
симости (САЗ).
DMi – частную схему декомпозиции
(ЧСД).
Ki – идентификатор узла, где индекс
отражает номер узла при обходе дерева
сверху вниз слева направо. Аналитические
и синтетические зависимости имеют об-
щее название – алгоритмическая зависи-
мость (А-зависимость). ЧСД предписывает
способ разделения объекта или его части
только на непосредственно составляющие
их компоненты. ЧСД есть описание одного
шага декомпозиции и отличается от пол-
ной схемы, тем, что последняя описывает
полную декомпозицию. Полная схема де-
композиции описывает части объекта и его
свойства сколь угодно глубокого деления
или, с точки зрения дерева декомпозиции,
может содержать произвольное количество
уровней. Символьное описание схемы де-
композиции имеет вид:
1 В научной среде есть понимание того, что для
развития программной инженерии как научной
дисциплины необходима теоретическая модель как
некая обобщающая родовая конструкция для как
можно большей совокупности алгоритмов и алго-
ритмических конструкций [7, 8].
DPS={K0[KR0] (K1[KR1] (…), Kr[KRr] (…),
…,Kz[KRz] (…))}.
Кортежи листьев не содержат
ЧСД и САЗ. Схема декомпозиции изоб-
ражается древовидным графом, в кото-
ром нагружены и ребра, и узлы. Ребра
нагружены в том смысле, что каждая
ЧСД и САЗ соотносится с одним конкрет-
ным ребром. А-зависимости представля-
ются символьными строками, которые ре-
ализуют аналитические формулы, что
может повлечь дополнительные грамма-
тические конструкции строчного типа.
Следует заметить, что А-зависимость бо-
лее широкое понятие, чем формула и
предполагает любой способ описания за-
висимости – аналитический, словесный,
табличный и т. п.
Описание схемы декомпозиции –
это описание статического объекта. DPS –
это дерево, а А-зависимости и ЧСД – это
описание отношений. Кроме этого при
более детальном описании узлов схемы
декомпозиции могут быть использованы
опции и параметры. Схема декомпозиции
есть симбиоз всех этих видов описаний.
При описании схемы декомпозиции от-
сутствуют любые императивные утвер-
ждения.
Более детальное описание всего,
что связано с узлом, это не просто кортеж
как перечисление, а некоторая конструк-
ция – алгоритмическая конструкция узла
(АКУ). Ее компоненты – А-зависимости и
ЧСД сочленены в единое целое. Структура
АКУ зависит от вида и количества компо-
нент и способа их сочленения. Тот поря-
док, в котором сочленены компоненты
АКУ и вид сочленений определяют пред-
варительный порядок расчета – реализа-
ции А-зависимостей. Точный порядок рас-
чета будет зависеть от многих факторов,
которые задаются опциями и параметрами.
АКУ более развитое понятие чем узел с
кортежем.
Для реализации схемы декомпози-
ции (СД) в [1] предложен канонический
алгоритм (КА) – это универсальный алго-
ритм, не зависящий от структуры DPS. Он
может содержать произвольное количество
узлов, ветвей, уровней, а у любого узла
Теоретичні та методологічні основи програмування
6
может быть произвольное количество
исходящих ветвей. Универсальность его в
следующем:
с каждым не конечным узлом
соотносится набор определенных видов
компонент (с листьями соотносится мень-
ший набор видов компонент);
задан определенный порядок
реализации А-зависимостей – обход дерева
сверху вниз слева направо.
КА как порядок выполнения неко-
торых действий не зависит от прикладной
области. Кроме того, каким бы ни были
DPS и А-зависимости, которые соотно-
сятся с узлами DPS, в результате выпол-
нения должен быть замкнут контур синте-
за (КС) [1]. Это является критерием пра-
вильности КА.
АКУ, несмотря на то, что набор ви-
дов компонент определен и ограничен, не
универсален. Структура АКУ зависит от
вида, количества и взаимодействия
А-зависимостей, от того как сочленены
компоненты АКУ. Все перечисленные
факторы порождают многообразие АКУ.
ЧСД вместе с понятиями “КА”,
“Р-данное”, “А-зависимость” и “АКУ”
представляет кластер понятий. В таком
смысле ЧСД с концептуальной точки зре-
ния есть базовое понятие подобно тому,
как базовым есть понятия “класс” и “объ-
ект” в объектно-ориентированном про-
граммировании. ЧСД как базовое понятие
имеет методическую ценность, поскольку
на общем уровне указывает направление
проектных действий. В плане методиче-
ского эффекта ЧСД – это предпосылка для
создания системы программирования на
основе DS-теории существенно превосхо-
дящей ООП в плане производительности.
Практическое использование СД.
Любая ПС или любая задача в прикладной
области рассматривается с точки зрения
того, является ли она схемой декомпози-
ции. То есть, СД рассматривается как уни-
версальный шаблон.
Если ПС уже существует в каком-
либо виде, в виде программы или ручного
расчета, то анализ заключается в том, что-
бы увидеть, может ли быть представлена
эта программа или расчет в виде СД. Если
это возможно то, первый этап выполнен.
Далее предстоит превратить СД в работа-
ющую программу. Если ПС не существует
ни в каком виде и ее следует проектиро-
вать, то она проектируется и представляет-
ся в виде СД. В процессе анализа может
оказаться, что ПС может быть представле-
на в виде СД только частично – только как
фрагмент СД и ее необходимо дополнять
ручным или автоматизированным расче-
том. В практике это обычное явление.
Как правило, и существующие ПС,
и такие, что проектируются сначала, в ка-
честве результата содержат более одного
данного. Каждое из искомых данных имеет
уникальную схему расчета. В таком случае
в СД совмещаются, насколько возможно,
схемы расчета для всех искомых данных.
То есть, конечная СД является результатом
синтеза более одной СД.
Далее формальное описание СД ис-
пользуется как заказ на генерацию. Воз-
можность генерации алгоритмов и про-
грамм есть неотъемлемой частью DS-
теории.
Объект исследований
СД – это универсальное средство в
руках человека и применима к исследова-
ниям и решению различных задач практи-
чески во всех сферах деятельности челове-
ка. Тем не менее, между СД в различных
прикладных областях есть различия. Эти
различия порождают различия в приклад-
ных программах и алгоритмах. Дополни-
тельный источник многообразия в алго-
ритмах исполняемых программ – это вы-
числительная среда, в которой данные
программы работают.
Виды СД и ее компоненты. Де-
композиция – это один из основных мето-
дов, применяемых человеком для исследо-
вания и преобразования окружающей дей-
ствительности. Человек, выполняя деком-
позицию, преследует следующие цели:
исследование существующего
объекта. Расчленяя (разбирая, расклады-
вая) объект или вычленяя компоненты
объекта, человек намерен узнать новые
неизвестные ему ранее, свойства, новые
знания об объекте. Это может быть его ко-
нечной целью;
Теоретичні та методологічні основи програмування
7
создание нового объекта. Про-
ектирование объекта мысленно или с по-
мощью каких-либо средств, предполагает
создание проекта. Последовательно могут
создаваться эскизный проект, техниче-
ский, рабочий. Но этот процесс также есть
и декомпозиция. Создание проекта есть
мысленная композиция;
преобразование существующе-
го объекта. Преобразование может быть
вызвано необходимостью ремонта или мо-
дернизации объекта. В результате преоб-
разования предполагается, что объект по-
лучит новые свойства. Преобразование
предполагает разборку или расчленение
объекта, а затем удаление или замена не-
которых старых компонент или (и) добав-
ление новых. В результате этого преобра-
зования объект получает новые свойства
или новые функции, что есть то же самое.
В этом процессе есть и декомпозиция, и
композиция.
Эти три цели из-за сочетания раз-
личных ЧСД при их достижении порож-
дают алгоритмическое многообразие. По-
этому одной из функций DS-теории есть
исследование и типизация как полных
схем декомпозиции, так и ЧСД.
Декомпозиции может быть под-
вергнуто все, куда устремляется осмыс-
ленный познавательный взгляд человека.
Декомпозиция предшествует всему, что
намерен произвести человек, для последу-
ющего использования. Поэтому объектов
декомпозиции в реальном мире весьма
много. Много также различных видов и
аспектов декомпозиции. Ей могут подвер-
гаться:
объекты живой или неживой
природы, или продукт человеческого труда
(артефакт);
процесс, как динамический
объект или предмет (организм), как стати-
ческий объект;
объекты начиная от микромира
до объектов макромира;
объекты, которые подвергаются
декомпозиции в соответствии с заранее
составленным планом или объекты, схема
декомпозиции которых, может меняться в
процессе исследования;
объекты техники и объекты ис-
кусства;
объекты, на которые воздей-
ствуют или объекты, за которыми наблю-
дают без воздействия;
объекты, которые существуют
реально или только в сознании исследова-
теля;
процесс реальный или матери-
альный и процесс, полностью моделируе-
мый в компьютере (различного вида тре-
нажерные программы или динамические
игры).
Декомпозиция может выполняться с
помощью технических средств полностью
или частичным их использованием. Также
декомпозиция может учитывать результа-
ты предшествующих шагов или изменение
свойств объекта или не учитывать.
Объектами декомпозиции могут
быть информационные объекты, полно-
стью размещаемые в компьютере. Схемы
декомпозиции и композиции таких объек-
тов – это прототипы таких программ как
браузеры, функционально-развитые редак-
торы текстов или графических изображе-
ний, издательские системы, системы
САПР, игровые программы, различные
модели. Из-за их сложности их специфика
такова, что порой они до конца не бывают
отлажены в принципе.
Все это многообразие объектов и
видов декомпозиции порождает многооб-
разие ЧСД и САЗ. Однако DS-теория ак-
центирует внимание на алгоритмических
аспектах ЧСД и САЗ. Важным есть то, что
в процессе представления в виде алгорит-
мов порождает циклы, условия – то, что
порождает управление в алгоритме.
Кроме того, использование компью-
теров при выполнении декомпозиции по-
рождает дополнительные вариации в алго-
ритмах процедур декомпозиции. С аб-
страктной точки зрения основной работой,
которая выполняется в процессе декомпо-
зиции, есть работа с данными (значения
свойств) – это сбор, фиксация, генерация,
вывод данных. Более детально это может
выглядеть так:
данные расположены в файлах
или в базах данных. В процессе декомпо-
Теоретичні та методологічні основи програмування
8
зиции их только вводят в компьютер для
обработки;
данные снимают с датчиков и
вводят в компьютер в реальном режиме
времени. Данные вводятся либо по мере
поступления, либо в соответствии с неко-
торым регламентом;
декомпозиция моделируется в
компьютере. Данные при этом формиру-
ются в соответствии с некоторой функци-
ональной или более того, в соответствии с
алгоритмической зависимостью и после
выводятся на управляющие устройства,
либо в базы данных.
Возможны сочетания этих вариан-
тов. Эти три варианта работы алгоритмов
схем декомпозиции и их возможные соче-
тания тоже являются основаниями для ис-
следования и типизации ЧСД.
Разнообразие СД есть еще и в том,
что различается степень участия человека
(и компьютера) в реализации расчетов СД.
Диапазон взаимного участия в комплексе
человек-компьютер распространяется от
полностью автоматического расчета, до
полностью человеческого расчета с ис-
пользованием калькулятора на экране мо-
нитора компьютера или просто чтение тек-
ста на планшете. Полностью автоматизи-
рованный расчет – это значит, то вся СД
полностью вычисляется в компьютере.
Или что, то же самое, КС полностью вы-
числяется в компьютере. В этом отноше-
нии есть вариации двух видов:
СД, начиная с корневого узла и
до какого-то уровня, вычисляется в ком-
пьютере. Вне компьютера вычисляется
часть СД, начиная с узлов определенного
уровня и ниже. По разным ветвям уровни,
где завершается автоматизированный
расчет, могут быть различными. Для
такого типа СД необходимо обеспечить
вывод данных для последующего ручного
расчета;
СД, начиная с корневого узла и
до какого-то уровня, вычисляется вне
компьютера. В компьютере вычисляется
часть СД, начиная с узла следующего
уровня и ниже. Для такого типа СД необ-
ходимо обеспечить ввод данных для по-
следующего ручного расчета.
Процесс расчета СД может быть
разделенным во времени. Данные частич-
но сформированы ранее и хранятся в сети,
в базах данных или в Интернете – это пер-
вая часть расчета, а потом эти данные ис-
пользуются для расчетов – это вторая
часть схемы.
Процесс расчета может иницииро-
ваться человеком или компьютер может
быть в режиме ожидания, а расчет в соот-
ветствии с СД инициируется неким про-
цессом. СД с подобными вариантами за-
пуска расчета могут быть синтезированы в
одно целое.
Таким образом, СД и подвергаемые
ей объекты есть объектами исследований в
DS-теории. Более точно, объектом иссле-
дований DS-теории есть алгоритмическое
представление СД.
Операции над СД. Существует не-
сколько операций над СД2: дополнение,
усечение, сцепление и три вида синтеза.
Синтез как дополнение А-зависимостей;
синтез как совмещение СД и синтез схем
декомпозиции и композиции.
1. Дополнение. Данная операция
означает, что в процессе исследования
объекта есть необходимость сделать более
глубокую декомпозицию. К существую-
щим компонентам объекта применяется
более глубокая декомпозиция. С точки
зрения дерева, с помощью которого пред-
ставлена СД, это значит, что появилась
еще одна ветвь – дерево дополнено еще
одной ветвью. Хотя дерево исходной схе-
мы может быть дополнено схемой, у кото-
рой ветви более чем на одном уровне.
2. Усечение. Эта операция означа-
ет, что в процессе исследования объекта
исчезла необходимость делать глубокую
декомпозицию. Дерево СД стало короче на
одну или более ветвей.
3. Сцепление. Данная операция
значит, что в процессе исследования объ-
екта необходимо выполнить дополнитель-
ный расчет (один или более). С точки зре-
ния дерева схемы декомпозиции это зна-
чит, что добавляются дополнительные вет-
ви на любом узле.
2 Первые три из перечисленных операций и один из
видов синтеза описаны в [1].
Теоретичні та методологічні основи програмування
9
4. Синтез как добавление А-
зависимостей. Эта операция означает, что
к объекту необходимо применить еще од-
ну СД с механизмом декомпозиции, кото-
рый был применен ранее и выполнить рас-
чет в соответствии с дополнительной А-
зависимостью. Дерево исходной СД в этом
случае не меняется.
5. Синтез как совмещение СД.
Данная операция означает, что к объекту
необходимо применить более одной СД с
различными механизмами декомпозиции.
Механизмы декомпозиции различаются
тем, что делят объект на части, размеры
которых не совпадают. То есть, для каж-
дой схемы уникальный размер отделяемой
части. Хотя размеры частей могут разли-
чаться и для одной схемы.
6. Синтез схем декомпозиции и
схем композиции. Как правило, работаю-
щая программа одновременно управляет
процессом декомпозиции и процессом
синтеза или композиции нового объекта.
Так как любой процесс (и декомпозиции и
композиции) может быть представлен СД
(и, соответственно, деревом), то конечный
работающий в компьютере процесс есть
результат синтеза СД (и, соответственно,
синтеза деревьев). Если быть предельно
точным, то простейший алгоритм – чтение
файла по записям с одновременным выво-
дом записей в другой файл тоже есть ре-
зультат синтеза двух схем. Одна из этих
схем изображает чтение файла, а другая –
вывод. Но более важным является синтез
СД, которые, будучи результатами синте-
за, уже являются весьма сложными много-
уровневыми деревьями. Алгоритмы, стро-
ящиеся традиционными методами для вы-
полнения подобных функций, которые мо-
гут быть выполнены подобными СД, по-
рой с трудом поддаются осмыслению и
контролю3.
3 По мнению многих программистов, суть про-
граммирования – построение сложных конструк-
ций из условных операторов, операторов цикла, –
построение конструкций управления и их завер-
шенная отладка. Но ни одна из предложенных ра-
нее систем программирования или методологий не
пыталась системно решить задачу генерации
управления. DS-теория предпринимает такую по-
пытку.
Эффективное использование опера-
ций над СД предполагает их типизацию и
изучение с точки зрения их алгоритмиче-
ской природы. Возможны ситуации, когда
в каких-то случаях ЧСД или СД необхо-
димо совмещать (или синтезировать) с
САЗ. Это есть дополнительная причина
исследования и типизации ЧСД и САЗ.
Синтез алгоритмов. Операции над
СД уже есть синтез алгоритмов и, соответ-
ственно, программ. После того как СД
синтезирована, DS-теория обеспечивает ее
преобразование в алгоритм и программу
на алгоритмическом языке. Дальше нет
препятствий для того, чтобы преобразо-
вать эту программу в исполняемую про-
грамму.
СД имеет алгоритмическую приро-
ду и именно поэтому один из видов ее
описания, в котором представляется СД
есть КА. Одновременно КА – это заказ на
основании, которого производится синтез
конечного алгоритма и программы. Син-
таксические структуры КА и программы, и
взаимосвязь их синтаксических компонент
показаны на рис. 1.
Рис. 1. Взаимодействие синтаксических
конструкций СД и конструкций
алгоритма
Простейшим элементом из которого
составляется КА – это простейшая расчет-
ная процедура (ПРП) [2]. Из ПРП состав-
ляются алгоритмические конструкции
(АК) [2]. АК может иметь произвольно
большой размер, так как структура ее ре-
курсивна. Компонентами АК могут быть
как ПРП, так и АК, последние тоже могут
Программа
Параграф
Предложение
Оператор
Канонический
алгоритм
АКУ
АК
ПРП
Теоретичні та методологічні основи програмування
10
быть составными и т. д. Из АК составляет-
ся АКУ. Последние сочленяются иерархи-
ческим сочленением и формируют кано-
нический алгоритм.
ПРП и АК могут быть условными
или безусловными. Условные и безуслов-
ные АК и ПРП могут быть зависимыми
или независимыми. АК и ПРП могут со-
членяться последовательным, условным
или альтернативным сочленениями.
В процессе генерации ПРП порож-
дают операторы, АК – предложения. Опе-
раторы и предложения тоже сочленяются
условным, альтернативным и последова-
тельным сочленением. Операторы и пред-
ложения тоже могут быть условными и
безусловными, а также зависимыми или
независимыми.
Структурно из операторов и пред-
ложений может быть создано АТ-
предложение [2]. Структура его определя-
ется структурой А-фрагментов [2] на
А-ленте [1]. Именно из АТ-предложений
формируется параграф [2]. Параграфы с
помощью иерархического сочленения со-
ставляют прикладной алгоритм и про-
грамму.
Состав АКУ и то, какой порядок
размещения главного А-данного на вход-
ной и выходной А-лентах, – это информа-
ция достаточная для того, чтобы сгенери-
ровать один параграф.
С точки зрения графического пред-
ставления, СД – это дерево, с каждым уз-
лом которого соотносится АКУ. СД ис-
пользуется как каркас или как скелет ка-
нонического алгоритма, а далее и как кар-
кас прикладного алгоритма. Каждая АКУ
порождает параграф. Алгоритм приклад-
ной программы – это тоже дерево, узлами
которого являются параграфы.
С точки зрения генерации приклад-
ного алгоритма объектами исследования
есть ПРП и их виды, способы сочленения
ПРП и АК – различные вариации этих со-
членений.
Описание СД в отличие от текста
программы декларативно и является сим-
биозом текста и графики. При этом объем
описания относительно меньше, чем объем
текста программы.
Термин “синтез” в работе использу-
ется в сочетании с различными терминами,
но обсуждается одно и то же явление.
Термины зависят от контекста. Если об-
суждается функциональный аспект созда-
ваемой системы, то речь идет о синтезе
процессов, иначе, если обсуждается струк-
турный аспект, то объектом синтеза явля-
ется СД. Если обсуждается внешний,
изобразительный аспект – графическое
изображение СД – деревья, то объектом
анализа является синтез деревьев. Если об-
суждается алгоритм – внутреннее пред-
ставление создаваемой системы, то речь
идет о синтезе алгоритмических конструк-
ций – синтезе алгоритмов.
Алгоритмически релевантные
факторы (АРФ)
В работе [1] перечислены причины,
из-за которых от канонического алгоритма
до реально работающей прикладной про-
граммы предстоит сделать еще ряд шагов.
Эти шаги должны адаптировать алгоритм
к реальным условиям обработки данных.
Причины адаптации, следующие:
алгоритмическая модель может
быть сложной из-за того, что входных
А-лент может быть более одной. Также и
выходных А-лент может быть более од-
ной. Источниками Р-данных могут быть
базы данных, Интернет и т. п.;
размер реальных данных, как
правило, не совпадает с размерами ячеек
на входных и на выходных А-лентах. Из-за
этого необходимо включать в алгоритм
блоки форматирования Р-данных;
модель последовательного до-
ступа, рассмотренная в DS-теории, к
Р-данным самая простая. В практике элек-
тронной обработки данных есть более
сложные методы доступа к данным;
Р-данные могут поступать в
режиме ONLINE от различных датчиков
или в режиме диалога от оператора;
Р-данные могут быть выведены
на монитор, на различные управляющие
устройства;
Р-данные при размещении мо-
гут кодироваться, упаковываться и т. п.
Теоретичні та методологічні основи програмування
11
В настоящее время DS-теория раз-
личает следующие направления работы с
Р-данными порождающие группы факто-
ров, которые усложняют канонический ал-
горитм на пути его преобразовании в ре-
альный прикладной алгоритм:
размещение Р-данных на А-
ленте;
механизм доступа к Р-данным;
деление Р-данных;
форматирование Р-данных;
организация расчета;
отражение Р-данных.
Размещение Р-данных на А-ленте.
В DS-теории в качестве носителя
Р-данных, рассматривается абстрактная
А-лента. Р-данные размещаются в запи-
сях. Из записей формируются подобла-
сти, которые могут быть вложены как
компоненты в объемлющие их подобла-
сти (рис. 2). Кроме того записи и подоб-
ласти могут объединяться и составлять
А-фрагменты [2].
Рис. 2. Структура А-ленты
Записи и подобласти одного типа
внутри объемлющей их подобласти могут
быть упорядочены или нет. Записи, по-
добласти разных типов могут объединять-
ся и составлять А-фрагменты. Внутри
А-фрагмента записи или подобласти
разных типов могут иметь порядок отно-
сительно его границ, относительно друг
друга, а также иметь произвольное раз-
мещение и сочетание этих видов взаимно-
го размещения. Такие же виды взаимного
размещения возможны и между
А-фрагментами. А-фрагменты могут быть
как условными, так и обязательными.
В практике электронной обработки
данных есть много различных видов
структур хранения данных: базы данных,
списки, потоки данных из локальной сети
или из Интернета и т. п. Объектом иссле-
дования DS-теории есть виды структур
хранения данных, и порядок взаимного
размещения данных внутри подобных
структур.
Соответствующая группа факторов
определяет то, как размещаются Р-данных
в подобластях на носителях-источниках.
Деление Р-данных. А-данные и
С-данные, являющиеся операндами при
реализации А-зависимостей, перед нача-
лом расчета могут быть разделены и раз-
мещены в различных записях или в раз-
личных подобластях. В практике элек-
тронной обработки данных это значит,
что группы и совокупности данных, могут
быть размещены в различных файлах.
Файлы могут быть расположены как на
одном носителе, так и на нескольких но-
сителях. Соответственно, Р-данные, как
абстракция реальных данных, тоже могут
быть расположены на различных носите-
лях.
Разделены могут быть А-данные и
С-данные всех видов – простые, расши-
ренные и сложные. Ситуации размещения
фрагментов А-данных в областях на
А-лентах возможны такие же, как и для
А-данных, которые не разделены. А
именно: все виды порядка размещения и
все виды совместного размещения [2].
Аналогично ситуации размещения фраг-
ментов С-данных в областях на А-лентах
возможны такие же как и для неразделен-
ных С-данных. В областях размещения
фрагментов А-данных и С-данных наряду
с последними могут быть Р-данные, кото-
рые являются непродуктивными для ис-
ходной СД.
Соответствующая группа факторов
определяет то, сколько входных и выход-
ных А-лент используется для хранения об-
рабатываемых Р-данных и то, как разме-
щаются подобласти на этих А-лентах.
Форматирование Р-данных. В DS-
теории внешним носителем есть А-лента.
Порция хранения Р-данных, которая запи-
сывается и считывается с А-ленты, есть
Область
Подобласть
Запись
Теоретичні та методологічні основи програмування
12
запись. Размер записи не оговаривается.
Предполагается, что запись по размеру
совпадает с размером, сохраняемого в ней
Эл-данного или простого А-данного. Из
записей на А-ленте составляются подоб-
ласти. Но “запись” и “подобласть” – это
не технические, а концептуальные поня-
тия DS-теории. В практике электронной
обработки данных обмен между компью-
тером и внешними устройствами выпол-
няется блоками. Размер этих блоков или
порций данных, как правило, не совпадает
ни с размерами записей и подобластей, ни
с размерами их содержимого – Эл-данных
или простых А-данных. Блоки для хране-
ния обмениваемой информации могут
быть компонентами объемлющих их
структур хранения. То есть, с технической
стороны возможна иерархия порций или
структур хранения информации на внеш-
них носителях.
При выводе Р-данных на реальные
носители информации записи абстрактной
длины и подобласти должны быть вложе-
ны в тот формат, в котором они будут
храниться на этих носителях, – должны
быть форматированы. При вводе с реаль-
ных носителей информации должны быть
восстановлены4 абстрактные записи с
Р-данными предназначенными для обра-
ботки.
Соответствующая группа факторов
устанавливает размерные отношения
между деревом типов свойств и описани-
ем структуры подобластей с одной сторо-
ны и структурой хранения информации на
реальном внешнем носителе с другой.
DS-теория учитывает то, что Р-
данные могут сохраняться не только на
устройствах с последовательным досту-
пом, для измерения емкости которых,
требуется одна координатная ось. Это мо-
гут быть двухкоординатные плоские
4 Не существует термина, которым можно было бы
обозначить процесс восстановления Р-данного –
снятие или упразднение формы, в которой оно со-
хранялось. Наиболее близкое по смыслу понятие –
деконструкция, но это из другой сферы деятельно-
сти. Понятия “распаковка”, “разархивирование”,
“реформатирование” или “деформатирование”
(unformat) – ассоциируются с этим процессом, но
не совпадают с его сутью. В DS-теории использует-
ся понятие “реформатирование”.
экраны или различные трехкоординатные
структуры.
Механизм доступа к Р-данным.
При описании концептуального содержа-
ния DS-теории для размещения и доступа
к Р-данным была использована абстракт-
ная А-лента с записями и подобластями.
Записи и подобласти – это прообраз ли-
нейных файлов с записями различных ти-
пов. Доступ к Р-данным на А-ленте про-
стейший – последовательный. Но в прак-
тике электронной обработки данных
большое разнообразие видов носителей.
Соответственно, существует разнообразие
способов организации данных и методов
доступа к ним.
Р-данные могут размещаться в оче-
редях различных видов. Если на устрой-
стве доступен прямой доступ, то Р-данные,
которые соотносятся с полной схемой де-
композиции, могут быть размещены в
списках, что еще добавляет разнообразие в
методах доступа. С помощью списков мо-
жет моделироваться декомпозиция объек-
тов принадлежащих пространствам с дву-
мя, тремя и более размерностями.
Доступ к Р-данным может быть
совмещен с одновременным кодированием
или декодированием, с одновременным и
архивированием или извлечением из архи-
ва. Доступ может предполагать передачу
данных на большие расстояния.
К вопросам доступа с точки зрения
DS-теории следует соотнести потребность
в повторных проходах по коллекциям дан-
ных с последовательной организацией.
Факторы подобного рода составля-
ют группу, подлежащую исследованию.
Управление расчетом. Еще одна
группа факторов порождается тем, что
процессами расчета необходимо управ-
лять. Существуют различные причины и
способы управления расчетами в компью-
тере, а именно:
дублирование расчета на раз-
личных компьютерах;
дублирование результирующей
информации на различных носителях;
отслеживание транзакций к базе
данных выполняемых другими програм-
Теоретичні та методологічні основи програмування
13
мами. Сохранение протокола в обращении
к сайту;
прерывание и возобновление
расчетов. Приостановка расчета с актива-
цией (или без) расчета по другой програм-
ме;
повторение расчетов с кон-
трольных точек;
распараллеливание расчетов;
управление (манипулирование)
окнами (мониторами);
управление расчетами на боль-
ших расстояниях и т. п.
С точки зрения DS-теории в подоб-
ных ситуациях объектом декомпозиции
есть сам процесс расчета. Возможность
управления процессом расчета – это фак-
торы, которые усложняют канонический
алгоритм, в соответствии с которым про-
текает расчет. Помимо признаков, которые
описывают ситуацию управления, суще-
ствуют Р-данные, которые необходимы
для управления процессом расчета.
Отражение на мониторе. А-лента
– это носитель, измерение которого произ-
водится с помощью одной координатой
оси, но для размещения информации ис-
пользуются различные табло, экраны и
т. п. – для измерения поверхности изобра-
жения, которых, используются две коор-
динатные оси. В связи с выводом Р-
данных на такие носители (и в связи с вво-
дом с подобных носителей) определяется
еще одна группа факторов. Они описыва-
ют размещение Р-данных в окнах, порядок
вывода Р-данных в окно. Учитывая то, что
на экран монитора могут быть выведены
текст, графика – векторная и растровая, –
видео, группа этих факторов обширна и
влияние ее на канонический алгоритм
весьма существенное.
В случае отражения на мониторах
выводимые (и вводимые) Р-данные сами
по себе могут быть объектами декомпози-
ции и поэтому надо исследовать не просто
влияние факторов отражения Р-данных на
канонический алгоритм, а синтез схем де-
композиции Р-данных.
Влияние АРФ на канонический
алгоритм. В процессе адаптации канони-
ческого алгоритма может возникнуть
необходимость учитывать факторы любой
из вышеперечисленных групп. Группы,
факторы, влияющие на канонический ал-
горитм, могут влиять каждая отдельно или
в любом сочетании – даже все вместе. Пе-
речень групп АРФ не завершен и вполне
может быть дополнен новыми группами.
Особенные свойства DS-теории
Практически общепризнано, что
программная инженерия нуждается в
научной теории [7 – 12]. Далее приведены
некоторые особенности DS-теории как
научной теории.
Нововведения. В DS-теории вво-
дится ряд понятий, позволяющих глубже
понимать природу алгоритма и програм-
мы. Абстракция – одно из важных поня-
тийных средств в программировании. Но
исключительно важны информативно ем-
кие абстракции, емкие понятия [13 – 16]. В
DS-теории такими понятиями являются
совокупное свойство, алгоритмическая за-
висимость, квалификационное предложе-
ние [1], СД и КС.
Понятие СД позволило разделить
функциональность и управление алгорит-
ма и программы. Введены понятия функ-
ционального ядра, алгоритмического
фрейма, функционального содержания и
алгоритмической матрицы [2].
Вместо понятия “данное” введены и
используются понятия “Р-свойство” [1],
“размещение”, “Р-данное” и “Д-данное” [2].
Введено понятие порядка при раз-
мещении Р-данных на внешних носителях.
Р-данные могут быть перемешаны в обла-
стях и подобластях на носителях. То, ка-
ким образом они перемешаны – характер
смешения, – определяется и описывается
формально.
Разделены DPS и дерево алгоритма.
Каждое из этих понятий может быть изоб-
ражено деревом, но назначение этих опи-
саний различное5.
В DS-теории введено понятие
“Квалификационного предложения”. Эта
идея создает предпосылки манипулирова-
5 Это был вполне ожидаемый шаг в развитии
R-технологии [17] и JSP [18].
Теоретичні та методологічні основи програмування
14
ния квалификационными предложениями.
Подобно тому, как есть операции над
схемами декомпозиции, так возможны
операции над квалификационными пред-
ложениями. С этой точки зрения DS-
теория есть альтернативой реляционной
модели данных [19].
В DS-теории созданы условия для
частичной классификации алгоритмов6.
Группы АРФ определяют группы алго-
ритмов реализующие их. В DS-теории
проводится исследование групп алгорит-
мов вместо проектирования универсаль-
ных классов или универсальных алгорит-
мов. Вместо того, чтобы исследовать мно-
гообразие алгоритмов, исследуются фак-
торы7, которые влияют на алгоритмы.
Разделение поля алгоритмов на
группы позволяет оценить уровень из-
держек в каждой из групп и после этого
уделить особое внимание исследованию
групп критичных с точки зрения издер-
жек8. Исследование каждой из групп АРФ
сужает поле алгоритмов с точки зрения
неопределенности и неуправляемости. Ре-
зультат исследования внутри группы – это
рекомендации по генерации алгоритмов
внутри этой группы, это общие принципы
генерации.
В DS-теории важным есть прозрач-
ный механизм синтеза алгоритмов и со-
держимое библиотеки алгоритмических
примитивов. Создание подобной библио-
6 В науке существует прецеденты подобной клас-
сификации. Например, идея “атомного веса” созда-
ла предпосылки к классификации химических эле-
ментов.
7 Нечто подобное имело место в истории математи-
ки. Математики Абель и Галуа не стали искать
универсальное решение алгебраических уравнений
пятой, шестой и больших степеней, а исследовали
свойства коэффициентов, от которых зависит ре-
шение. Это дало возможность ответить на вопрос о
возможности нахождения корней в принципе. Та-
кой же подход реализован при исследовании алго-
ритмов.
8 Подобно тому, как для создания вакуума в за-
мкнутом пространстве различными химическими
реактивами связывают различные газы – компонен-
ты воздуха, пока не достигают необходимого уров-
ня, так исследуя фактор за фактором, от поля алго-
ритмов постепенно отсекают группы алгоритмов.
Как один реактив связывает один газ, подобно это-
му один фактор выделяет одну группу из поля ал-
горитмов.
теки имеет аналог в машиностроении –
это унификация узлов и деталей. Как для
машиностроения унификация – это сред-
ство сокращения издержек, так для про-
граммирования создание библиотеки
унифицированных примитивов – это
средство сокращения издержек в построе-
нии алгоритмов. Хотя DS-теория создает
предпосылки автоматической генерации
алгоритмов, а не ручного проектирования.
Механизм синтеза, кроме того, что он до-
полняемый и расширяемый, также откры-
тый для тестирования подобно тому, как
открыты для анализа доказательства тео-
рем в математике.
Дополнительные ожидаемые ре-
зультаты. Как упоминалось в [2], не-
смотря на то, что алгоритм как результат
генерации, представляется с помощью ал-
горитмического языка императивного ти-
па, СД, как описание исходное для гене-
рации, является описанием декларативно-
го типа. Сгенерированный алгоритм по
определению отражает порядок вычисле-
ний, а описание СД явно этот порядок не
показывает. В процессе генерации алго-
ритма учитывается порядок обхода DPS
сверху вниз и слева направо и благодаря
этому он появляется в сгенерированном
алгоритме. По сути, СД является объек-
том декларативного программирования.
DS-теория благодаря системе емких поня-
тий позволяет создать систему умолчаний
в программировании. Можно говорить об
инкапсуляции алгоритма, об умолчании
описания алгоритма. Но пока можно го-
ворить только о последовательном при-
ближении к такому стилю программиро-
вания по мере исследования видов СД и
групп АРФ.
Декларативный стиль программи-
рования обеспечивает описание статиче-
ского объекта, при этом алгоритм – это
описание динамического объекта. По-
следнее сложнее по сравнению с описани-
ем статического объекта. Но и в этом от-
ношении можно говорить только как о
постепенном и последовательном при-
ближении от одного вида описания к дру-
гому. Удельный вес статического описа-
ния будет увеличиваться, а динамическо-
го описания уменьшаться.
Теоретичні та методологічні основи програмування
15
DS-теория ориентирована на со-
здание (генерацию) уникального специа-
лизированного кода и объективно необ-
ходимого количества подпрограмм. А
специализированный код – это более
плотный и продуктивный код.
Математические аспекты DS-
теории. В DS-теории предпринимаются
попытки к тому, чтобы рассматриваемым
явлениям, объектам и зависимостям давать
в плане точности определения максималь-
но приближенные к математическим опре-
делениям. Здесь есть все предпосылки к
тому, чтобы DS-теория как теория при-
кладных алгоритмов стала частью матема-
тической науки подобно классической
теории алгоритмов9 [20].
В DS-теории прилагаются усилия к
тому, чтобы любую изучаемую или по-
рождаемую конструкцию понимать (или
рассматривать) как результат операций над
некоторыми примитивами. Таких видов
конструкций есть несколько:
любая СД – это либо примитив
(ЧСД), либо результат операций над ЧСД;
АК или АКУ – это, как правило,
результат операций над ПСД [2]. Операци-
ями есть последовательное, условное, аль-
тернативное сочленения;
АКУ являются операндом, к ко-
торому применяется иерархическое сочле-
нение при построении дерева полной схе-
мы декомпозиции;
параграфы – это результат опе-
раций над операторами и предложениями.
Операции – последовательные, условные,
альтернативные сочленения.
Эти усилия формализации направ-
лены на то, чтобы: а) конструкции, состав-
ляемые человеком, могли быть подвергну-
ты семантическому контролю – как пред-
варительному шагу по устранению оши-
бок; б) обеспечить логический вывод алго-
ритмов.
9 Исследование алгоритмов и групп алгоритмов в
DS-теории проводится так же, как проводились (и
проводятся) исследования алгоритмов в классиче-
ской теории алгоритмов. Но при этом цели иссле-
дований различные. Для DS-теории приоритетная
цель – синтез алгоритмов и работа по достижению
этой цели выполняется системно.
Алгоритмические конструкции в
реальных алгоритмах могут быть весьма
сложные. Но любая подобная конструкция
– это только очередной шаг в растущей
сложности алгоритмов. В предшествую-
щих шагах конструкции были проще. По-
следующие шаги в проектировании алго-
ритмов вполне могут быть отмечены более
сложными алгоритмами. Усилия в DS-
теории прилагаются с целью найти причи-
ны растущей сложности. А для этого тре-
буется формализация и математизация
процесса анализа алгоритмов.
Механизм контроля результатов.
Контроль результатов, которые обеспечи-
вает DS-теория, имеет два аспекта – ре-
зультаты, получаемые в процессе исследо-
ваний и результаты, получаемые в процес-
се генерации конкретной прикладной про-
граммы.
Результат исследований – это си-
стема алгоритмических примитивов и ме-
ханизм синтеза алгоритмов. Так как теория
имеет свою внутреннюю логику – развива-
ется от единой парадигмы, выше объяв-
ленной, то контролироваться должен про-
цесс построения системы примитивов и
сама система, а также механизм синтеза.
Это разовая процедура и она может быть
выполнена только умозрительно (с каран-
дашом в руках). Но эти объекты обозримы
(в отличии от текстов многих реальных
программ) и вполне могут быть доступны
многим исследователям подобно тому как
доступны для изучения и контроля доказа-
тельства теорем в математике.
Конкретная программа генерирует-
ся на основании описания конкретной СД
и набора связанных с ней АРФ. На этом
этапе возможен произвол того, кто состав-
ляет эти исходные данные и, соответ-
ственно, возможны ошибки. Здесь преду-
сматривается проверка КС. Если КС за-
мкнут, то это значит, что алгоритм про-
граммы корректен. Как упоминалось вы-
ше, для проверки КС исходные конструк-
ции подвергаются семантическому кон-
тролю. Но следует понимать, если форму-
лы или отношения между исходными дан-
ными – функциональность СД – некор-
ректны по сути, то средствами DS-теории
это определить невозможно.
Теоретичні та методологічні основи програмування
16
И, самое главное, основной крите-
рий корректности программы – это кор-
ректный результат расчета. DS-теория
ориентирована на последовательное суже-
ние поля ошибок, но средствами для пол-
ного их устранения не располагает.
Возможность развития. Исходя из
текущего состояния DS-теории, рассмат-
риваются следующие направления разви-
тия.
В настоящее время в различных
сферах человеческой деятельности иссле-
дуются и проектируются объекты много-
мерные, динамичные, многофункцио-
нальные и многофакторные. Объекты мо-
гут находиться в микро или в макромире,
в труднодоступных средах. Все это может
быть источником разнообразия СД с точ-
ки зрения КА. Поэтому исследуются виды
и компоненты СД и операции над ними.
Особенно важны операции синтеза СД.
Выше в статье приведен перечень
АРФ. В процессе поисковых исследований
этот перечень может быть дополнен. DS-
теория благодаря идее АРФ позволила
разделить поле алгоритмов на секторы.
Внутри каждого сектора очерчены (выде-
лены) группы простых АК и механизмы
синтеза реальных прикладных алгоритмов.
Эти обстоятельства определяют одно из
направлений исследований – поиск новых
групп АРФ и анализ алгоритмов связанных
с этими группами.
Объекты, подлежащие декомпози-
ции – это, прежде всего, процессы. При-
том, это процессы, которые создаются,
проектируются. Синтез процессов (проек-
тирование процессов) – это наиболее важ-
ное и наименее развитое направление DS-
теории.
С точки зрения конкретных при-
кладных программных комплексов DS-
теория в настоящее время – это теория до-
статочно общего плана, хотя она уже при-
менима на более конкретном практиче-
ском уровне. Существенный эффект может
быть получен от DS-теории, когда будут
разработаны специализированные схемы
декомпозиции. Это в области АСУ [21],
распределенной обработки данных – в тех
областях, где большие масштабы про-
граммирования электронной обработки
данных.
Еще одно из направлений исследо-
вания – это целенаправленный поиск изоб-
разительных средств – двумерная графика.
Но эффективная графика может быть по-
лучена только в том случае, если будет си-
стема эффективных емких понятий.
Сравнение программирования с
машиностроением
DS-теория создает предпосылки для
создания некоторого другого вида произ-
водства, по сравнению с тем, что реально
существует в производстве программ в
настоящее время. Речь идет о предпосыл-
ках создания индустриального производ-
ства программ. Можно проследить некото-
рые аналогии.
Разделение труда. В проектирова-
нии архитектуры программных систем, в
проектировании алгоритмов и программи-
ровании нет глубокого объективного раз-
деления труда. В машиностроении разде-
ляется описание конструкции изделия и
технологии производства. Соответственно,
есть разделение на конструирование, тех-
нологическую подготовку производства и
само производство. Сейчас программиро-
вание – это конструирование и изготовле-
ние одновременно. Должно быть:
конструирование;
технологическая подготовка
производства;
инструментальная подготовка
производства;
изготовление.
В машиностроении есть более глу-
бокая детализация, но в программной ин-
женерии желательно дойти хотя бы до это-
го уровня. Желаемого уровня разделения
труда нет по той причине, что текст про-
граммы – это уже конечный продукт, а
описания изделия не существует. Имеется
в виду компактное и желательно двумер-
ное описание изделия и притом детальное.
Описание схемы декомпозиции – это опи-
сание конструкции, текст программы – ко-
нечное изделие.
Проблема программной инженерии
заключается в том, что текст программы,
Теоретичні та методологічні основи програмування
17
написанный с использованием традицион-
ных строчных языках очень громоздкий и
труднообозримый. В DS-теории предпри-
нимается попытка решить эту проблему.
То описание СД, которое приведено в этой
и предыдущих статьях еще далеко от же-
лаемого. Такое положение обусловлено
тем, что в описании надо совместить сжа-
тую компактную запись и детализацию10.
Но предпосылки для создания компактно-
го описания – это система емких понятий,
предлагающиеся DS-теорией.
DS-теория предлагает и использует
несколько схем деления алгоритмов. Раз-
деляются дерево полной схемы декомпо-
зиции и дерево алгоритма. Полная схема
декомпозиции разделяется на АКУ. Раз-
деляются дерево типов свойств и описа-
ние структуры областей размещения.
Слои АРФ это еще одно направление де-
ления алгоритмов [1]. Разделяются алго-
ритмическая матрица и функциональное
наполнение. Следует также упомянуть тот
факт, что операции над СД выполняются
задолго до того, как начинается описание
операционной среды, в которой будет ре-
ализована схема декомпозиции. Эти схе-
мы деления создают объективные предпо-
сылки к разделению труда в программи-
ровании.
Разработка и доработка изобрази-
тельных средств и генераторов алгоритмов
должны быть подобны работе инструмен-
тального производства в машиностроении.
В машиностроении постоянно разрабаты-
вается оснастка, внедряются новые техно-
логии с целыми техническими комплекса-
ми, что реализуют новые технологии. По-
10 Первый и необходимый шаг в повышении произ-
водительности благодаря разделению труда в про-
мышленности был сделан в арсеналах вооружений
Англии, Германии, Франции, Швеции в XIX веке.
Именно там были детальнейшим образом описаны
и изображены на чертежах комплектующие компо-
ненты изготавливаемого оружия. Именно полный и
точный чертеж детали позволил записать техноло-
гию ее изготовления и тем самым создать условия к
разделению труда. Чертеж детали обеспечил от-
чуждение производственной операции от субъек-
тивного мастерства человека и обеспечил дальней-
шую специализацию производственных операций.
Чертеж детали позволил моделировать как кон-
струкцию, так и технологию, что позволило суще-
ственно сократить издержки изготовления.
добно этому в программной индустрии
постоянными должны быть доработка ге-
нераторов алгоритмов и изобразительных
средств.
Целенаправленное и системное
сокращение издержек. DS-теория создает
условия для того, чтобы проводить иссле-
дования и разрабатывать (или дорабаты-
вать) инструмент и среду проектирования,
и не ждать когда появится очередной ме-
тод или технология [10, 11]. В машино-
строении действует другой принцип –
здесь не ожидается появление новых мето-
дов, но для трудоемких операций или пе-
ределов целенаправленно разрабатывают-
ся технологии, инструмент, оснастка. Если
технологическая операция, технологиче-
ский передел или технология в целом вле-
кут большие издержки, то инженеры и ис-
следователи планомерно ищут новые тех-
нологические средства, чтобы сократить
эти издержки.
Именно для этого в DS-теории про-
изводится классификация. Предполагается,
что сокращение издержек эффективно
внутри групп алгоритмов, порождаемых
АРФ, а также внутри групп вариаций ка-
нонического алгоритма порождаемых ви-
дам систем.
Конвейер или поточная линия [22]
– это наиболее мощное средство эконо-
мии времени и издержек изобретенных в
машиностроении и таким остается и в
настоящее время. В программировании
поточная линия в традиционном понима-
нии невозможна. Но это не значит, что в
программировании не может быть то-
тальной системной экономии издержек.
Емкие понятия, система умолчаний и ге-
нерация алгоритмов – вот те ключевые
факторы, что позволят целенаправленно и
планомерно сокращать издержки в про-
граммировании.
Гносеологический аспект DS-
теории. В промышленности протекают,
активно взаимодействуя, два процесса:
производство (изготовление продукции) –
практика, и научные исследования – тео-
рия. Из производства наука пополняется
фактами, задачами и проблемами. Теория
обобщает, индуцирует факты, явления, а
Теоретичні та методологічні основи програмування
18
затем дедуктивно поставляет в производ-
ство решения задач и проблем, это, как
правило, новые технологии. Благодаря та-
кой деятельности поддерживает актив-
ность науки. Взаимодействие этих двух
процессов – источник постоянного разви-
тия промышленности. В индустрии про-
граммного обеспечения есть только один
из упомянутых процессов – производство.
Науки нет и, следовательно, практически
нет развития.
Взаимодействие науки и производ-
ства далеко не безоблачно – возможны и
сбои. Если новую задачу в науке не полу-
чилось разрешить, то поиск вполне про-
должается и дальше. Теория может разви-
ваться самостоятельно – не обязательно
по запросу практики. Кроме того, могут
быть ложные выводы, результаты могут
получаться слабые или бесполезные (как
может оказаться впоследствии). Это вы-
нужденные издержки в науке. Но они не
останавливают ее развитие. Несмотря на
то, что негативные явления возможны и в
отношении DS-теории, она должна разви-
ваться.
Разработка DS-теории – это попыт-
ка создать параллельно текущий процесс
научного развития для процесса производ-
ства программ. Сомнения может вызывать
обобщенная модель DS-теории – СД.
Можно сомневаться в том, насколько
адекватны модели и алгоритмы приклад-
ных программ, выведенных из обобщен-
ной СД, какой уровень автоматизации или
генерации алгоритмов, насколько алго-
ритмы адекватны спецификациям. Можно
сомневаться в том, насколько DS-теория
логически целостна и самодостаточна, но
то, что научный процесс должен допол-
нить программную инженерию не должно
вызвать сомнения.
Набор новых емких понятий, кото-
рые предложены DS-теорией, не предпола-
гается завершенным. Наряду с тем как
выше предложено организовать целена-
правленный процесс сокращения издер-
жек, так предлагается организовать целе-
направленный и сознательный поиск и
разработку емких понятий. Предпосылки
для этого существуют.
Выводы
DS-теория представлена как науч-
ная теория. Описаны ее атрибуты – пара-
дигма, поле исследований, цель исследо-
ваний, основная задача, метод решения,
основная теоретическая модель – СД.
Описаны виды СД и операции на СД. По-
казано что СД есть описание, исходное для
генерации алгоритмов. Также показано,
что СД как описание заменяет описание
алгоритма и при этом остается деклара-
тивным в противоположность описанию
алгоритма, как императивному. Описаны
АРФ, которые следует учитывать при ге-
нерации алгоритмов для того, чтобы алго-
ритмы становились реальными. В работе
акцентируется внимание на формализации
и математическому описанию явлений и
объектов DS-теории. Предложен механизм
контроля выводов и результатов теории.
В работе описано направление раз-
вития DS-теории. Приоритетное направле-
ние соотносится с созданием и развитием
системы емких понятий и абстракций. С
точки зрения практического применения
DS-теории предложен подход подобный
тому, что есть в машиностроении – разви-
тие и продвижение передовых технологий
по запросу, по потребности – как результат
целенаправленных исследований. Новые
методы программирования и синтеза алго-
ритмов должны быть результатом целена-
правленных исследований.
1. Колесник В.Г. DS-теория как прототип тео-
рии прикладных алгоритмов. Проблеми
програмування. 2012. № 1. С. 17–33.
2. Колесник В.Г. DS-теория. Представление
канонического алгоритма с помощью ал-
горитмического языка. Проблеми програ-
мування. 2015. № 1. С. 3–18.
3. Колесник В.Г. DS-теория. Исследование
факторов деления Р-данных с целью гене-
рации прикладных алгоритмов. Первая
часть. Проблеми програмування. 2015.
№ 3. С. 3–12.
4. Колесник В.Г. DS-теория. Исследование
факторов деления Р-данных с целью гене-
рации прикладных алгоритмов. Вторая
часть. Проблеми програмування. 2015.
№ 4. С. 3–13.
Теоретичні та методологічні основи програмування
19
5. Колесник В.Г. DS-теория. Исследование
факторов форматирования Р-данных. Про-
блеми програмування. 2016. № 4. С. 14–26.
6. Бертран Мейер. Объектно-ориенти-
рованное конструирование программных
систем, 2-е издание. Русская редакция.
2005. 1204 с.
7. Vincent Rosener and Denis Avrilionis. Ele-
ments for the Definition of a Model of Soft-
ware Engineering. OneTree Technologies.
[Electronic resource]. URL:
http://www.irisa.fr/lande/lande/icse-
proceedings/ gamma/p29.pdf
8. More comments on SEMAT. [Electronic re-
source] // URL: http://blog.hexacta.com/more-
comments-on-semat/
9. Dewayne E. Perry and Don Batory. On
the Structure of General Theories of Soft-
ware Engineering. – The University of Texas
at Austin. [Electronic resource]. URL:
http://users.ece.utexas.edu/~perry/work/pape
rs/gtse-structure.pdf
10. Ivar Jacobson and Ed Seidewitz. What hap-
pened to the promise of rigorous, disciplined,
professional practices for software develop-
ment? Ivar Jacobson International. Communi-
cations of the ACM, Vol. 57, N 12.
P. 49–5410.
11. Victor R. Basili. The role of experimentation
in software engineering: past, current, and fu-
ture. Proceedings of the Eighteenth Interna-
tional Conference on Software Engineering
(ICSE), Berlin, Germany, March 1996.
12. National Science Foundation. Computing and
Communication Foundations (CCF). The Al-
gorithmic Foundations (AF) program. [Elec-
tronic resource] // URL:
http://www.nsf.gov/cise/ccf/af_pgm15.jsp
http://www.nsf.gov/funding/pgm_summ.jsp?p
ims_id=503299&org=CCF&from=home
13. Dijkstra E.W. On the role of scientific thought
(EWD447). [Electronic resource] // URL:
http://www.cs.utexas.edu/users/EWD/transcri
ptions/EWD04xx/EWD447.html
14. Victor R. Basili. Learning through Applica-
tion. The Maturing of the QIP in the SEL –
[Electronic resource] // URL:
https://www.cs.umd.edu/~basili/publications/c
hapters/C29.pdf.
15. Brooks F.P. The Mythical Man Month – Sil-
ver Anniversary Edition, Addison-Wesley,
1995.
16. Edmund M. Clarke, Jeannette M. Wing, Et Al.
Formal Methods: State of the Art and Future
Directions. ACM Computing Surveys. 1996.
Vol. 28, N 28. P. 626–643.
17. Вельбицкий И.В. Технология программи-
рования. Киев: Технiка, 1984. 250 с.
18. Jackson M.A. Principles of Program Design.
New York: Academic Press, 1975.
19. Дж. Дейт. Введение в системы баз дан-
ных. Восьмое издание. К.; 1328 с. Вильямс,
2008, 3 кв.
20. Алферова З.А. Теория алгоритмов. М.: Ста-
тистика. 1973. 164 с.
21. Колесник В.Г., Семченко В.А. Концепту-
альное проектирование сети ЭВМ для це-
ховой АСУ. Донецк: ИЭП АН УССР, 1989.
16 с.
22. Генри Форд. Моя жизнь, мои достижения.
5-е изд. Попурри, 2014. 352 с.
References
1. Kolesnyk V.G. DS-theory as a prototype of
the theory of applied algorithms. Problems in
programming. 2012. N 1. P. 17–33. (In Rus-
sian).
2. Kolesnyk V.G. DS-theory. Presentation of
canonical algorithm by means of algorithmic
language. Problems in programming. 2015.
N 1. P. 3–18. (In Russian).
3. Kolesnyk V.G. DS-theory. Research of R-data
division factors in order to generate applied
algorithms. Part 1. Problems in programming.
2015. N 3. P. 3–12. (In Russian).
4. Kolesnyk V.G. DS-theory. Research of R-data
division factors in order to generate applied
algorithms. Part 2. Problems in programming.
2015. N 4. P. 3–13. (In Russian).
5. Kolesnyk V.G. DS-theory. The research of R-
data factors formatting. Problems in
programming. 2016. N 4. P. 14–26. (In Rus-
sian).
6. Bertrand Meyer. Object-Oriented Software
Construction, 2nd Edition. Russian Edition,
2005. 1204 p.
7. Vincent Rosener and Denis Avrilionis. Ele-
ments for the Definition of a Model of Soft-
ware Engineering. OneTree Technologies.
[Electronic resource]. URL: http://www.irisa.
fr/lande/lande/icse-proceedings/ gam-
ma/p29.pdf
8. More comments on SEMAT. [Electronic re-
source] URL: http://blog.hexacta. com/more-
comments-on-semat/
Теоретичні та методологічні основи програмування
20
9. Dewayne E. Perry and Don Batory. On the
Structure of General Theories of Software
Engineering. – The University of Texas at
Austin. [Electronic resource] URL:
http://users.ece.utexas.edu/~perry/work/paper
s/gtse-structure.pdf
10. Ivar Jacobson and Ed Seidewitz. What hap-
pened to the promise of rigorous, disciplined,
professional practices for software develop-
ment? Ivar Jacobson International. Communi-
cations of the ACM, Vol. 57, N 12.
P. 49–5410.1145/2677034.
11. Victor R. Basili. The role of experimentation
in software engineering: past, current, and fu-
ture. Proceedings of the Eighteenth Interna-
tional Conference on Software Engineering
(ICSE), Berlin, Germany, March 1996.
12. National Science Foundation. Computing and
Communication Foundations (CCF). The Al-
gorithmic Foundations (AF) program. [Elec-
tronic resource] URL:
http://www.nsf.gov/cise/ccf/af_pgm15.jsp
http://www.nsf.gov/funding/pgm_summ.jsp?p
ims_id=503299&org=CCF&from=home
13. Dijkstra E.W. On the role of scientific thought
(EWD447). [Electronic resource] URL:
http://www.cs.utexas.edu/users/EWD/transcri
ptions/EWD04xx/EWD447.html
14. Victor R. Basili. Learning through Applica-
tion. The Maturing of the QIP in the SEL –
[Electronic resource] URL:
https://www.cs.umd.edu/~basili/publications/c
hapters/C29.pdf
15. Brooks F.P. The Mythical Man Month – Sil-
ver Anniversary Edition, Addison-Wesley,
1995.
16. Edmund M. Clarke, Jeannette M. Wing, Et
Al. Formal Methods: State of the Art and Fu-
ture Directions. ACM Computing Surveys.
1996. V. 28, N 28. P. 626–643.
17. Velbitsky I.V. "Technology of programming."
Tekhnika, Kiev, 1984. (In Russian).
18. Jackson M.A. Principles of Program Design.
New York: Academic Press, 1975.
19. C.J. Date. An Introduction to Database Sys-
tems, 8th Edition ruction. Williams; 2008. К.;
1328 p.
20. Alferova Z.A. The theory of algorithms. Mos-
cow: Statistics, 1973. 164 p. (In Russian).
21. Kolesnyk V.G. Semchenko V.A. Conceptual
design of computer network for shop floor
control system. Doneck, 1989. 16 p. (In Rus-
sian).
22. Henry Ford. My Life and Work, Doubleday,
Page & company; 1922. 140 p.
Получено 04.01.2017
Об авторе:
Колесник Валерий Георгиевич,
старший научный сотрудник
кафедры АПП.
Количество научных публикаций в
украинских изданиях – 25.
http://orcid.org/0000-0002-2313-9852.
Место работы автора:
Донбасская государственная
машиностроительная академия.
г. Краматорск, ул. Шкадинова, 72,
п/я 13.
|