Composition and properties of data specified in compositional schemes of algorithms
The data specified in composite schemes of algorithms are considered. Their composition, structure, properties and the possibility of controlling the correctness of their description are shown.Problems in programming 2013; 2: 3-12
Gespeichert in:
| Datum: | 2025 |
|---|---|
| Hauptverfasser: | , |
| Format: | Artikel |
| Sprache: | rus |
| Veröffentlicht: |
PROBLEMS IN PROGRAMMING
2025
|
| Schlagworte: | |
| Online Zugang: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/773 |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Назва журналу: | Problems in programming |
| Завантажити файл: | |
Institution
Problems in programming| id |
pp_isofts_kiev_ua-article-773 |
|---|---|
| record_format |
ojs |
| resource_txt_mv |
ppisoftskievua/1b/7864a0202b3ae1a30b5d71c969cccd1b.pdf |
| spelling |
pp_isofts_kiev_ua-article-7732025-08-27T13:11:22Z Composition and properties of data specified in compositional schemes of algorithms Состав и свойства данных, специфицируемых в композиционных схемах алгоритмов Akulovsky, V.G. Doroshenko, A.Yu. The data specified in composite schemes of algorithms are considered. Their composition, structure, properties and the possibility of controlling the correctness of their description are shown.Problems in programming 2013; 2: 3-12 Рассмотрены данные, специфицируемые в композиционных схемах алгоритмов. Показан их состав, структура, свойства и возможность контроля корректности их описания.Problems in programming 2013; 2: 3-12 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2025-08-27 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/773 PROBLEMS IN PROGRAMMING; No 2 (2013); 3-12 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2 (2013); 3-12 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2 (2013); 3-12 1727-4907 rus https://pp.isofts.kiev.ua/index.php/ojs1/article/view/773/825 Copyright (c) 2025 PROBLEMS IN PROGRAMMING |
| institution |
Problems in programming |
| baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
| datestamp_date |
2025-08-27T13:11:22Z |
| collection |
OJS |
| language |
rus |
| topic |
|
| spellingShingle |
Akulovsky, V.G. Doroshenko, A.Yu. Composition and properties of data specified in compositional schemes of algorithms |
| topic_facet |
|
| format |
Article |
| author |
Akulovsky, V.G. Doroshenko, A.Yu. |
| author_facet |
Akulovsky, V.G. Doroshenko, A.Yu. |
| author_sort |
Akulovsky, V.G. |
| title |
Composition and properties of data specified in compositional schemes of algorithms |
| title_short |
Composition and properties of data specified in compositional schemes of algorithms |
| title_full |
Composition and properties of data specified in compositional schemes of algorithms |
| title_fullStr |
Composition and properties of data specified in compositional schemes of algorithms |
| title_full_unstemmed |
Composition and properties of data specified in compositional schemes of algorithms |
| title_sort |
composition and properties of data specified in compositional schemes of algorithms |
| title_alt |
Состав и свойства данных, специфицируемых в композиционных схемах алгоритмов |
| description |
The data specified in composite schemes of algorithms are considered. Their composition, structure, properties and the possibility of controlling the correctness of their description are shown.Problems in programming 2013; 2: 3-12 |
| publisher |
PROBLEMS IN PROGRAMMING |
| publishDate |
2025 |
| url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/773 |
| work_keys_str_mv |
AT akulovskyvg compositionandpropertiesofdataspecifiedincompositionalschemesofalgorithms AT doroshenkoayu compositionandpropertiesofdataspecifiedincompositionalschemesofalgorithms AT akulovskyvg sostavisvojstvadannyhspecificiruemyhvkompozicionnyhshemahalgoritmov AT doroshenkoayu sostavisvojstvadannyhspecificiruemyhvkompozicionnyhshemahalgoritmov |
| first_indexed |
2025-09-17T09:21:20Z |
| last_indexed |
2025-09-17T09:21:20Z |
| _version_ |
1843502388725415936 |
| fulltext |
Теоретичні та методологічні основи програмування
© В.Г. Акуловский, А.Е. Дорошенко, 2013
ISSN 1727-4907. Проблеми програмування. 2013. № 2 3
УДК 519.683
В.Г. Акуловский, А.Е. Дорошенко
СОСТАВ И СВОЙСТВА ДАННЫХ, СПЕЦИФИЦИРУЕМЫХ
В КОМПОЗИЦИОННЫХ СХЕМАХ АЛГОРИТМОВ
Рассмотрены данные, специфицируемые в композиционных схемах алгоритмов. Показан их состав,
структура, свойства и возможность контроля корректности их описания.
Введение
Достаточно давно осознана прин-
ципиальная важность роли, которую дан-
ные играют в программировании [1, 2].
Более того, часто утверждается [3, 4], что
информация о данных для понимания про-
грамм важнее, чем информация об управ-
лении.
Таким образом, в описании алго-
ритма наряду с описанием потоков управ-
ления должны быть отображены и данные.
При этом роль данных и их влияние на
процесс проектирования алгоритмов в
рамках известных алгебраических аппара-
тов изучены и используются далеко недо-
статочно.
Для изучения влияния данных на
процесс проектирования алгоритмов они
были формализованы следующим образом
[5].
Определение 1. Данными называ-
ется пара N,ЗD , где N – носитель дан-
ных, З – кортежей значений, носителем
которых является N . На каждом шаге
вычислительного процесса носитель со-
держит (хранит) некоторый (текущий)
кортеж значений данных, в частности,
эти значения могут быть неопределенны-
ми.
Для того, что бы “имплантировать”
данные в алгебраический аппарат, извест-
ная модель ЭВМ Глушкова дополнена
внешней средой (ВС).
Внешняя среда – память и внешние
устройства представляют собой множество
данных },...,{ 1 n
ВУПВС DDDDD , харак-
теризующиеся в каждый момент времени
некоторым множеством значений, кото-
рые, изменяются в ходе вычислительного
процесса.
На основе модифицированной мо-
дели ЭВМ авторами предложена система
алгоритмических алгебр (САА/Д) [5 – 7],
представляющая собой трех-основную ал-
гебраическую систему <U,L,D,>, осно-
вами которой являются множество Д-
операторов U, множество логических
условий L и множество данных D, а
321 – её сигнатура, состоя-
щая из 1 – логических операций, прини-
мающих значения на множестве L, множе-
ства 2 – операций, принимающих значе-
ния на множестве Д-операторов, и 3 –
операций, принимающих значения на
множестве данных D.
Д-операторы – это операторы вида
DOD со специфицированными на входе
и выходе данными такими, что ВСDD и
ВСDD , чем и обусловлено использование
названия Д-оператор. Такой Д-оператор
обрабатывает данные, т.е. анализирует и
преобразует, изменяя их значения.
Одна из форм описания алгорит-
мов – композиционные схемы (КС) [6], в
которых для описания алгоритмов исполь-
зуется операция (в САА\Д операция обо-
значается “*”) композиции Д-операторов
222111 * DXDDXD ,
означающая последовательное выполне-
ние сначала Д-оператора 111 DXD затем
Д-оператора 222 DXD .
С помощью КС реализуются две
стратегии проектирования алгоритмов
нисходящая и восходящая [8, 9]. В дан-
ном случае рассмотрим первую – более
распространенную стратегию, в рамках
Теоретичні та методологічні основи програмування
4
которой исходный Д-оператор DOD
декомпозируется, а специфицированные
на его входе и выходе данные детализиру-
ются, в результате чего он представляется
в виде КС:
...** 222111 DODDODDOD
,*... kkk DOD
где ,111 DOD kkk DODDOD ,,222
– производные Д-операторы, полученные в
результате декомпозиции исходного.
Одна из основных задач, решаемых
в процессе описания алгоритмов в виде
КС – это спецификация данных на входах
и выходах производных Д-операторов.
Актуальность этой задачи обусловлена
тем, что наличие таких спецификаций для
каждого Д-оператора на каждом уровне
представления алгоритма являются необ-
ходимым условием для перехода к следу-
ющему его уровню, т. е. необходимым
условием для определения функциональ-
ности производных Д-операторов, получа-
емых в результате декомпозиции исходно-
го. При этом данные на входе и выходе
Д-оператора специфицируются однократ-
но, т.е. дублирование спецификаций недо-
пустимо.
Сложность указанной задачи обу-
словлена тем, что производные Д-опера-
торы, входящие в КС, обрабатывают гло-
бальные, специфицированные на входе и
выходе исходного Д-оператора, данные
как “автономно”, так и “коллективно”. То
есть, в общем случае каждый из произ-
водных Д-операторов, с одной стороны,
обрабатывает данные независимо от дру-
гих производных Д-операторов. С другой
– обработка множества (подмножества)
глобальных данных, начатая некоторым
Д-оператором iii DOD , продолжается
и\или завершается в результате выполне-
ния другого Д-оператора jjj DOD , где
j>i. Таким образом, в последнем случае
обработка данных осуществляется некото-
рой последовательностью Д-операторов, в
которой результат выполнения iii DOD
подвергается дальнейшей обработке Д-
оператором jjj DOD и может продол-
жаться несколькими следующими Д-
операторами.
Не все и не всегда специфицируе-
мые данные изменяются в результате об-
работки. Это обусловлено тем, что изме-
нение данных зависит от некоторых усло-
вий, полученных в результате их анализа и
“скрытых” внутри Д-оператора.
Кроме того, для обработки глобаль-
ных данных могут использоваться и, как
правило, используются вспомогательные
(локальные) данные, которые служат для
преобразования входных глобальных дан-
ных в выходные, но сами таковыми не яв-
ляются. То есть, производные Д-опера-
торы обрабатывают и продуцируют как
глобальные, так и локальные данные в лю-
бых сочетаниях. Источниками и приемни-
ками (носителями) этих данных часто вы-
ступают внешние устройства (ВУ), в част-
ности, внешняя память (файлы).
Из вышеизложенного очевидно, что
решение указанной задачи не тривиально
и предполагает изучение состава, структу-
ры и свойств специфицируемых данных.
Этому и посвящена данная работа, из
дальнейшего изложения которой будет
видно, что специфицируемые данные
имеют достаточно сложный состав и
структуру.
Очевидно, что спецификация дан-
ных должна быть выполнена таким обра-
зом, чтобы обеспечить корректность пе-
рехода от исходного Д-оператора к произ-
водным, т.е. возможность получения ре-
зультата совпадающего с результатом,
продуцируемым исходным Д-оператором.
Поскольку на рассматриваемом уровне
представления алгоритма решить задачу
корректности такого перехода не пред-
ставляется возможным, в данной работе
рассматриваются один из её аспектов, а
именно, контроль корректности специфи-
кации данных.
Свойства данных в
композиционных схемах
алгоритмов
Прежде чем приступить к изучению
состава и структуры данных в КС, огово-
рим некоторые особенности обозначений,
которые будем далее использовать.
Теоретичні та методологічні основи програмування
5
В соответствии с определением 1,
значения специфицируемых данных изме-
няются (могут изменяться) в ходе вычис-
лительного процесса, а на некоторых его
этапах могут быть не определены. Отсюда
следует, что специфицируются, фактиче-
ски, носители данных. Учитывая это в
данной работе под теоретико-множествен-
ными операциями, определенными на
множествах данных, будем понимать опе-
рации над их носителями. В частности,
под соотношением DD будем пони-
мать совпадение множеств носителей дан-
ных D , D . В том случае, когда будем го-
ворить о равенстве данных, понимая под
этим равенство как множества носителей,
так и множества значений, будем исполь-
зовать символ “” ( DD ). В случае сов-
падения множеств носителей при несовпа-
дении множеств значений – символ “ ”
( DD ).
Теперь определим некоторые виды
специфицируемых данных, которые в
дальнейшем будем использовать.
Определение 2. Данные, специфи-
цируемые на входе и выходе Д-оператора
DOD , будем называть: D входными
или обрабатываемыми, D – выходными
или продуцируемыми. Для множеств, спе-
цифицируемых данных, допустимо как
соотношение DD (в частности,
DD и DD ), так и DD .
Обрабатываемые данные изменяются (мо-
гут изменяться) в результате обработки.
Входные данные DDC такие, что
DDC и CD не изменяется Д-
оператором DOD ни при каких усло-
виях и ни при каких значениях данных D ,
будем называть используемыми (в отличие
от обрабатываемых).
Определение 3. Данные, носителя-
ми которых являются некоторые множе-
ства ВУ R, с которых хранимые значения
переносятся (копируются) в память, будем
обозначать RD и называть вводимыми, и
W, в которые хранимые значения перено-
сятся (копируются) из памяти на ВУ, –
WD и выводимыми. Вводимые и выводи-
мые данные специфицируются, соответ-
ственно, на входе DDR и выходе DDW
произвольного Д-оператора. Множества
RD и\или WD могут быть пустыми ( RD
и\или WD ), т.е. вводимые и\или выво-
димые данные могут отсутствовать.
Общий случай спецификации дан-
ных в КС определим исходя из вышепри-
веденных аспектов обработки данных и
определения 2.
Определение 4. Глобальными для
КС *222111 DODDODDOD
,*... kkk DOD являются данные
DDDG , специфицированные на вхо-
де и выходе исходного Д-оператора. На
входе и выходе любого производного Д-
оператора iii DOD , специфицируются
как локальные, так и глобальные данные,
то есть
L
i
G
ii DDD , L
i
G
ii DDD ,
где GG
i
G
i DDD , , LL
i
L
i DDD , .
Глобальные данные такие, что
DDD G
k
G )...( 1 , DDD G
k
G )...( 1 ,
а локальные – такие, что
)...( 11
L
k
L
k
LLL DDDDD .
При этом локальные данные инкапсулиро-
ваны в КС, то есть определяются в данной
КС, невидимы и недоступные в других КС
данного уровня и на предшествующих
уровнях описания алгоритма, и
GL DD .
По поводу данных, введенных в
определении 4, отметим следующее.
Исходный Д-оператор на предше-
ствующем уровне детализации алгоритма
рассматривался как производный, а произ-
водные Д-операторы на следующем
уровне детализации будут играть роль ис-
ходных. При этом, глобальные данные,
являющиеся таковыми на данном уровне
описания алгоритма, на предшествующем
уровне являлись локальными. Локальные
данные на следующем уровне детализа-
ции алгоритма играют роль глобальных.
Исходя из того, что, в соответствии
с определением 3, данные могут являться
или содержать вводимые и выводимые
Теоретичні та методологічні основи програмування
6
данные, определим спецификации вводи-
мых и выводимых данных с учетом опре-
деления 4.
Определение 5. Вводимые RD
rR DD и выводимые wW DDD W дан-
ные делятся на глобальные GWR DDD
и локальные Lwr DDD . Глобальные,
специфицируемые на входе и выходе как
исходного DD R , DD W , так и любого
производного Д-оператора
i
R
i DD , i
W
i DD
такие, что
RR
k
R DDD ...1 и W
k
W DD ...1
WD . Локальные Lw
i
r
i DDD , , специ-
фицируемые только на входе и выходе
производных Д-операторов i
r
i DD ,
такие, что rr
k
r DDD )...( 1 , ...1 wD
ww
k DD ... .
Исходя из того, что Д-операторы
взаимодействуют в процессе обработки
данных, определим понятие информаци-
онной связи.
Определение 6. В КС Д-операторы
iii DOD и jjj DOD (j>i) назовем
информационно связанными (в дальней-
шем связанными), если для специфициро-
ванных у них данных выполняется со-
отношение ji DD , в противном случае
эти Д-операторы не связаны. Данные
jiji DDD назовем связывающими, ес-
ли при обозначении их на выходе i-го Д-
оператора ji D
, а на входе j-го – ji D
, вы-
полняется соотношение jiji DD
. Если это
соотношение не выполняется, то ji D
не являются связывающими данными.
Данные, связывающие Д-оператор
iii DOD со всеми предшествующими
iii
СВ
i DDD 111 ... и всеми последующими
kiii
СВ
ki DDD ...1 Д-операторами, назо-
вем связывающими Д-оператор
iii DOD , соответственно, слева и спра-
ва. Данные kk
СВ
k DDD 1211 ... назовем
связывающими Д-операторы в КС.
Отметим, что в данной работе глав-
ным образом рассматриваются локальные
связи, т.е. связи внутри КС.
Теперь, определим множества гло-
бальных данных, обрабатываемых произ-
водными Д-операторами автономно. Эти
данные назовем собственными.
Определение 7. Собственные дан-
ные i
СБ
i DD и i
СБ
i DD , специфицирован-
ные на входе и выходе любого i-го Д-
оператора такие, что i
СБ
i
СБ
i DDDD ,
i
СБ
i
СБ
i DDDD и DDDD СБСБ
k
СБ )...( 1 ,
DDDD СБСБ
k
СБ )...( 1 .
По поводу определения 7 отметим,
что данные D и D на предшествующем
уровне детализации алгоритма включали
данные, связывающие исходный Д-опе-
ратор DOD с другими Д-операторами
этого предшествующего уровня. При
переходе к текущему уровню описания
алгоритма все Д-операторы предшеству-
ющего уровня детализуются и представ-
ляют собой композиции производных
Д-операторов с сохранением вышеупо-
мянутых связей. Функцию связывающих
производные Д-операторы данной КС с
производными Д-операторами других КС
на данном уровне детализации алгорит-
ма выполняют собственные данные СБ
iD
и СБ
iD . Спецификации собственных дан-
ных, таким образом, позволяет специ-
фицировать глобальные связи между все-
ми КС, описывающими алгоритм на дан-
ном уровне его детализации. В данной
работе глобальные связи детально не рас-
сматриваются.
Будем полагать, исходя из опре-
делений 4 – 7, что данные, специфици-
руемые на входе и выходе Д-оператора,
представляют собой семейства множеств.
Исходный Д-оператор при этом записы-
вается в виде:
WR DDODD ,, , (1)
а производный – в виде:
Теоретичні та методологічні основи програмування
7
СВ
ki
СБ
iii
СВ
i
СБ
ii DDDODDD WR ,,,, 1 .
Для того, чтобы обеспечить упомя-
нутое во введении требование об отсут-
ствии дублирований в спецификациях
данных, необходимо эти данные детализо-
вать таким образом, чтобы для любых
множеств данных, полученных в результа-
те детализации и специфицируемых на
входе и выходе любого производного i-го
Д-оператора, выполнялось )( a
i
b
i DD .
Для детализации состава данных,
специфицируемых на входе и выходе i-го
производного Д-оператора, покажем нали-
чие некоторых их свойств, предварительно
записав производный Д-оператор с учетом
определения 5, в виде:
,,,, 1
W
ii
СВ
i
СБ
i
r
i
R
i DODDDD
СВ
ki
СБ
i
w
i DDD ,,, . (2)
Начнем рассмотрение с выводимых
данных, для общего случая которых будем
утверждать следующее.
Утверждение 1. Выводимые дан-
ные i
w
i
W
i DDD , включают подмноже-
ства W
i
CBW
ki DD _ , w
i
CBw
ki DD _ , кото-
рые входят в состав данных, связывающих
Д-оператор iii DOD справа
CB
ki
CBw
ki
CBW
ki DDD
__
, .
Доказательство. Если для данных,
специфицированных на входе любого Д-
оператора sss DOD (s>i), выполняется
cвW
sis
W
i DDD _ и cвw
sis
w
i DDD _ ,
то, поскольку, в соответствии с определе-
нием 3, W
iD и w
iD копируются из памяти
на ВУ и, таким образом, их значения не
изменяются, то есть выполняется
cвW
si
cвW
si DD __
, cвw
si
cвw
si DD __
, в соот-
ветствии с определением 6, эти данные
являются связывающими.
Так как очевидно, что приведенные
рассуждения справедливы для всех s>i, то
)......( ___
1
_ cвW
ki
cвW
si
cвW
ii
CBW
ki DDDD
и
)......( ___
1
_ cвw
ki
cвw
si
cвw
ii
CBw
ki DDDD ,
в соответствии с определением 6, входят
в состав данных, связывающих Д-оператор
iii DOD справа CB
ki
CBw
ki
CBW
ki DDD __ , .
Утверждение доказано.
Следствие. Из соотношения
kiii
СВ
ki DDD ...1
(см. определение 6) следует, что для лю-
бых i и j выполняется ji
cвw
ji
cвW
ji DDD __ , .
Теперь покажем наличие некоторых
свойств, которыми в общем случае обла-
дают собственные данные.
Утверждение 2. Собственные дан-
ные i
СБ
i DD включают подмножество
данных СБ
i
СВСБ
ki DD
_
, входящие в со-
став связывающих Д-оператор iii DOD
справа CB
ki
СВСБ
ki DD _ при условии, что
эти данные являются используемыми. При
этом, данные
CBСБ
ki
свСБ
si DD
__ (s>i) свя-
зывают i-ый Д-оператор с любыми следу-
ющими за ним Д-операторами, на входе
которых эти данные специфицированы.
Доказательство. Пусть для дан-
ных, специфицированных на входе Д-
оператора sss DOD (s>i), выполняется
s
СБ
i
cвСБ
si DDD _ .
Поскольку cвСБ
si D _ , в соответствии с
условием утверждения, используемые
данные, т.е. в соответствии с определени-
ем 2, они не изменяются никаким Д-
оператором, то выполняется
СБ
i
cвСБ
si
cвСБ
sis DDDD __
и, в соответствии с определением 6, эти
данные являются связывающими.
Очевидно, что приведенные рас-
суждения справедливы для любого s>i, от-
куда следует
СВСБ
ki
cвСБ
ki
cвСБ
si
cвСБ
ii DDDD
____
1 ...... .
В соответствии с определением 6, дан-
ные
СВСБ
ki D
_
входят в состав связываю-
щих Д-оператор iii DOD справа
CB
ki
СВСБ
ki DD
_
.
Теоретичні та методологічні основи програмування
8
Теперь предположим, что на входе
ppp DOD и sss DOD специфициро-
ваны одни и те же данные, связывающие
эти Д-операторы с iii DOD . То есть
CBСБ
ki
свСБ
si
свСБ
pi DDD
___ , и свСБ
si
свСБ
pi DD __
при i<p<s. Поскольку из определения 6
известно, что свСБ
pi
свСБ
pi DD __
, а по усло-
вию утверждения свСБ
pi D _ – используемые
данные, то из свСБ
si
свСБ
pi DD __ следует,
свСБ
si
свСБ
pi DD __
. Откуда, в свою очередь,
следует, что i-ый Д-оператор, на выходе
которого данные обозначены свСБ
spiD
_
, , свя-
зан с p-ым и s-ым
свСБ
pi
свСБ
spi DD __
,
свСБ
si D
_
.
Очевидно, что полученный резуль-
тат легко обобщить на случай, когда дан-
ные
свСБ
kiiD
_
,...,1
связывают i-ый Д-оператор с
любыми (в частности, со всеми) следую-
щими за ним Д-операторами, на входах
которых эти данные специфицированы.
Утверждение доказано.
Следствие. Из соотношения
kiii
СВ
ki DDD ...1 (см. определение 6)
следует, что для любых i и j выполняется
ji
cвСБ
ji DD
_
.
Отметим, что данные
СВСБ
ki D
_
иг-
рают как роль собственных (глобальных
связывающих) данных, так и локальных
связывающих данных.
Для дальнейшей детализации дан-
ных на выходе Д-оператора покажем
наличие ещё одного свойства выводимых
данных.
Утверждение 3. Глобальные выво-
димые данные Д-оператора iii DOD
входят в состав собственных
СБ
i
W
i DD .
Доказательство аналогично доказа-
тельству утверждения 1 с тем отличием,
что собственные данные СБ
iD рассматри-
ваются как глобальные связывающие дан-
ные (о чем выше упоминалось), а
СБW
i
СБ
i
W
i DDD
_
.
Следствие. Из утверждения 3 с
учетом утверждений 1, 2 и следствий из
них легко увидеть, что имеют место гло-
бальные данные, являющиеся выводимы-
ми, собственными и связывающими
)(
__ СВ
ki
СБ
i
W
i
СВСБW
i DDDD и для любых i
и j выполняется ji
cвСБW
ji DD
__
.
Для исключения дублирования спе-
цифицируемых данных, исходя из утвер-
ждений 1 – 3, введем следующие их мно-
жества:
СБ
i
CB
ki
W
i
W
i DDDD \ , (3)
CB
ki
w
i
w
i DDD \ , (4)
CB
ki
W
i
СБ
i
СБ
i DDDD (\ , (5)
а из следствий из этих утверждений мно-
жество
kiii
CB
ki DDD ...1 , (6)
где
cвСБW
ji
cвw
ji
cвW
ji
cвСБ
jijiji
DD
DDDD
___
__
\
(i<j).
В соответствии с утверждениями
1 – 3, учетом (3) – (6), данные, специфи-
цируемые на выходе i-го Д-оператора,
представим в виде следующего семейства
множеств:
,,,,,
,,,,,
____
__
СB
ki
CBСБW
ji
CBw
ki
CBW
ki
СВСБ
ki
СБW
ki
СБ
i
w
i
W
ii
DDDD
DDDDDD
(7)
а данные, связывающие Д-оператор спра-
ва, представим в виде:
.___
__
CBСБW
ji
CBw
ki
CBW
ki
СВСБ
ki
CB
ki
CB
ki
DD
DDDD
(8)
Полученный результат позволяет
перейти к рассмотрению данных на входе
i-го производного Д-оператора по поводу
которых будем утверждать следующее.
Теоретичні та методологічні основи програмування
9
Утверждение 4. Данные СВ
iD1 , свя-
зывающие i-ый Д-оператор слева, вклю-
чают множество связывающих данных
CBW
iD
_
1 ,
CBw
iD
_
1 ,
СВСБ
iD
_
1 , CBСБW
ji D
__ .
Доказательство. В соответствии с
(8) и следствиями из утверждений 1 – 3, на
выходе Д-оператора ppp DOD (p<i)
присутствует множество данных
cвW
ip D
_
,
,
cвw
ip D
_
,
cвСБ
ip D
_
,
cвСБW
ji D
__ СB
kp D ,
связывающих этот Д-оператор справа. Ис-
ходя из определения 6, легко увидеть, что
при p<i СB
i
СB
kp DD 1 и
СB
i
cвСБW
ip
cвСБ
ip
cвw
ip
cвW
ip DDDDD 1
_____
,,, .
Если рассмотреть все Д-операторы, для
которых выполняется p<i, получаем:
,......
_
1
_
1
__
1
CBW
i
cвW
ii
cвW
ip
cвW
i DDDD
,......
_
1
_
1
__
1
CBw
i
cвw
ii
cвw
ip
cвw
i DDDD
CBСБ
i
cвСБ
ii
cвСБ
ip
cвСБ
i DDDD
_
1
_
1
__
1 ...... ,
.......
__
1
__
1
____
1
CBСБW
i
cвСБW
ii
cвСБW
ip
cвСБW
i DDDD
Поскольку, в соответствии со след-
ствиями из утверждений 1 – 3, для любых i
и j выполняется
ji
cвСБW
ji
cвСБ
ji
cвw
ji
cвW
ji DDDDD
_____
,,,
то, очевидно,
.,,, 1
__
1
_
1
_
1
_
1
CB
i
CBСБW
i
CBСБ
i
CBw
i
CBW
i DDDDD
Утверждение доказано.
Чтобы исключить дублирование
специфицируемых данных, исходя из
утверждений 1 – 3 и следствий из них,
введем следующее их множество:
iii
CB
i DDD 111 ... ,
где
.
\
___
__
cвСБW
ip
свw
ip
свW
ip
свСБ
ipipip
DD
DDDD
В соответствии с утверждением 4,
данные, связывающие i-ый Д-оператор
слева, представим в виде:
.__
1
_
1
_
1
_
111
CBСБW
i
CBw
i
CBW
i
СВСБ
i
CB
i
CB
i
DD
DDDD
(9)
В соответствии с (2) и (9), данные,
специфицируемые на входе i-го Д-
оператора, представим в виде следующего
семейства множеств:
.,,,
,,,,,
__
11
_
1
_
1
_
1
CBСБW
i
CB
i
CBw
i
CBW
i
СВСБ
i
СБ
i
r
i
R
ii
DDD
DDDDDD
(10)
Исходя из соотношений (7), (10),
запишем Д-оператор, со специфицирован-
ными на входе и выходе данными,
.,,,
,,,,,
,,,,,
,,,,,
___
___
1
__
1
_
1
_
1
_
1
СB
ki
CBСБW
ki
CBw
ki
CBW
ki
СВСБ
ki
СБW
i
СБ
i
w
i
W
ii
CB
i
CBСБW
i
CBw
i
CBW
i
СВСБ
i
СБ
i
r
i
R
i
DDD
DDDD
DDODDD
DDDDD
(11)
При этом по построению и в соот-
ветствии с определениями 4 – 7, для спе-
цифицируемых данных выполняются со-
отношения:
,
1
__
1
_
1
_
1
_
1
CB
i
CBСБW
i
CBw
i
CBW
i
СВСБ
i
СБ
i
r
i
R
i
DDD
DDDDD
,
____
__
СB
ki
CBСБW
ki
CBw
ki
CBW
ki
СВСБ
ki
СБW
i
СБ
i
w
i
W
i
DDDD
DDDDD
т.е. все данные специфицируются одно-
кратно (не дублируются).
В итоге покажем наличие особен-
ностей в спецификации данных для перво-
го и последнего в КС Д-операторов.
Утверждение 5. На входе первого
111 DOD и последнего kkk DOD в КС
Д-операторов спецификации связываю-
щих данных отсутствуют.
Доказательство очевидно и вытека-
ет из определения 6, так как для первого
Д-оператора отсутствуют предшествую-
щие, а для последнего последующие Д-
операторы.
Исходя из (1), (2), (11) и утвержде-
ния 5 запишем КС в виде:
Теоретичні та методологічні основи програмування
10
.,,,,
,,,,,,*
...................................................
*,,,
,,,,,,
,,,,,,*
..................................................
*,,,,
,,,,,,,
,,
_
1
_
1
_
1
_
1
__
__
1
_
1
_
1
_
1
1
_
1
_
1
_
1
_
11111111
СБW
k
СБ
k
w
k
W
kk
CB
k
CBw
k
CBW
k
СВСБ
k
СБ
k
r
k
R
k
СB
ki
CBw
ki
CBW
ki
СВСБ
ki
СБW
i
СБ
i
w
i
W
ii
CB
i
CBw
i
CBW
i
СВСБ
i
СБ
i
r
i
R
i
СB
k
CBw
k
CBW
k
СВСБ
k
СБWСБwWСБrR
WR
DDDDOD
DDDDDD
DDD
DDDDDOD
DDDDDD
DDDD
DDDDODDD
DDODD
(12)
В результате выполненных постро-
ений показана возможность специфика-
ции данных на входах и выходах про-
изводных Д-операторов, входящий в КС,
соответствующей сформулированной за-
даче.
Кроме того, могут быть специфи-
цированы связи между Д-операторами.
В этом случае, рассматривая связываю-
щие данные, в соответствии с определе-
нием 6, выражение (12) запишем в виде:
.,,
,,,,,,,*
.................................................
*,,,,
,,,,,,,,*
.................................................
*,...,,...,,
,,,,,,,
,,
_
11
1
_
11
1121
_
11111111
СБW
k
СБ
k
w
k
W
kkkkk
СБ
k
r
k
R
k
kiii
СБW
i
СБ
i
w
i
W
iiiii
СБ
i
r
i
R
i
ki
СБWСБwWСБrR
WR
DD
DDODDDDD
DDD
DDDODDDDD
DDD
DDDDODDD
DDODD
Отметим, что спецификации данных, в
частности, связывающих могут иметь раз-
личную степень детализации, что легко
увидеть из изложенного.
Помимо вышеприведенных свойств
специфицируемых данных имеют место
такие свойства, которые ограничивают
возможности спецификаций. Перейдем к
рассмотрению данных свойств, которое
начнем с вводимых и выводимых данных.
Утверждение 6. Вводимые данные
не могут быть связывающими
СВ
kDDR
1 .
Доказательство построим от про-
тивного и рассмотрим некоторые свя-
зывающие данные СВ
ip DD 1i , продуци-
руемые Д-оператором ppp DOD (p<i),
для которых, в соответствии с опреде-
лением 6, выполняется соотношение
ii DD pp
. Предположим, что iDD p
R
i
и iDD p
r
i . Поскольку, в соот-
ветствии с определением 3, данные R
iD
копируются с ВУ в память, значения под-
множества данных iDD p
R
i , продуци-
руемых Д-оператором ppp DOD , бу-
дут изменены. То есть, при сделанном
предположении приходим к противоре-
чию, так как получаем ii DD pp
и
подмножество данных iDD p
R
i , в соот-
ветствии с определением 6, не являющих-
ся связывающими.
Аналогично рассуждая, к такому же
противоречию придем в случае локальных
вводимых данных r
iD .
В результате сделанные предполо-
жения недопустимы, т.е. iDD p
R
i и
iDD p
r
i .
Очевидно, что, таким же образом
рассуждая, аналогичный результат полу-
чим для всех связывающих данных
СВ
iij DD 1 при любых j и i (j<i). Таким
образом, СВ
i
R DD 1 , СВ
iDDr
1 и
СВ
iDDR
1 , т.е. вводимые данные не
бывают связывающими слева.
Поскольку, в соответствии с опре-
делением 5, вводимые данные не специ-
фицируются на выходе Д-оператора, то
они для любого Д-оператора не бывают
связывающими справа СВ
ki DDR , от-
куда следует, что СВ
kDDR
1 .
Утверждение доказано.
Теоретичні та методологічні основи програмування
11
Утверждение 7. Вводимые данные
не могут быть собственными
СБDDR .
Доказательство. Если предполо-
жить, что СБ
ii DDR , то, поскольку, в
соответствии с определением 3, данные
R
iD копируются с ВУ в память, значения
подмножества данных СБ
ii DDR будет
изменено. В результате чего получим про-
тиворечие с определением 7, так как в
этом случае i
СБ
i
СБ
i DDDD . К такому же
противоречию придем при всех i, и, таким
образом, СБDDR .
Утверждение доказано.
Утверждение 8. Локальные выво-
димые данные не могут быть собственны-
ми СБw DD .
Доказательство очевидно, так как
Lw DD , GСБ DD и LG DD
(см. определения 4, 5, 7).
Теперь остановимся на локальных
данных.
Утверждение 9. Локальные данные
бывают только вводимыми, выводимыми и
связывающими.
Доказательство очевидно и следует
из (11) и утверждения 8.
Утверждение 10. Любые связыва-
ющие данные, за исключением
СВСБ
kiD
_
,
не могут связывать i-ый Д-оператор бо-
лее чем с одним следующим за ним
Д-оператором.
Доказательство.
СВСБ
kiD
_
является
исключением, в соответствии с утвержде-
нием 2.
Предположим, что для связываю-
щих данных pi D
, si D
(i<p<s), специфи-
цированных на входах соответствующих
Д-операторов, выполняется соотношение
sipi DD
, т.е. специфицируются одни и те
же данные. pi D
специфицированы на вхо-
де p-го Д-оператора и для них в соответ-
ствии с определением 6 выполняется
pipi DD
. Поскольку, в соответствии с
определением 2, pi D
обрабатываемые и
могут изменяться, то, в случае такого из-
менения, sipi DD
, откуда последует,
sipi DD
и, в соответствии с определением
6, si D
не будут данными, связывающими
i-ый и s-ый Д-операторы. Таким образом,
пришли к противоречию, к которому, оче-
видно, будем приходить при всех s>p. К
тому же противоречию, очевидно, придем
при рассмотрении всех остальных (см.
(11)) связывающих данных
CBСБW
i
CBw
i
CBW
i
СВСБ
i DDDD
__
1
_
1
_
1
_
1 ,,, .
Поскольку во всех возможных слу-
чаях связывающих данных приходим к
противоречию, то сделанное предположе-
ние не соответствует действительности и
утверждение доказано.
Полученные в утверждениях 6 – 10
свойства специфицируемых данных будем
трактовать как ограничения на специфика-
ции.
Заключение
В процессе выполнения данной
работы рассматривался общий случай
спецификации данных на входах и вы-
ходах производных Д-операторов, входя-
щих в КС. Результатом является возмож-
ность записывать КС алгоритмов со спе-
цифицированными данными. Наличие
спецификаций позволяет определить
функциональность каждого Д-оператора и
осуществить их декомпозицию, т.е. позво-
ляет выполнить переход к следующему
уровню представления алгоритма. При
этом детализация рассматриваемых дан-
ных доведена до такой степени, при ко-
торой спецификации данных не дублиру-
ются. Иначе говоря, сформулированная
задача решена с учетом специфики обра-
ботки данных.
Выше отмечено, что спецификация
данных может осуществляться с различной
степенью детализации, причем данная
степень может задаваться в зависимости
от решаемой задачи. Кроме того, весьма
существенным результатом является воз-
можность спецификации информационных
Теоретичні та методологічні основи програмування
12
связей между Д-операторами, которые
так же могут быть детализованы.
Что касается корректности вы-
полнения спецификации данных, то для
контроля над ней могут использоваться
как проверка соответствия свойствам,
заданным определениями 1 – 7 и утвер-
ждениями 1 – 5, так и проверка удовлетво-
рения ограничений, заданных утверждени-
ями 6 – 10.
Дальнейшее изучение свойств спе-
цифицируемых данных, в частности, даль-
нейшая их детализация, распространение
полученных результатов на описание ал-
горитмов, выполненное в виде совокупно-
сти КС, является направлением будущих
исследований.
1. Данные в языках программирования:
абстракция и типология. Сб. статей /
Под ред. В. Агафонова. М.: Мир, 1982. –
328 с.
2. Турский В. Методология программирова-
ния. М.: Мир, 1981. 264 с.
3. Шнейдерман Б. Психология программиро-
вания: человеческие факторы в вычисли-
тельных и информационных системах.
М.: Радио и связь, 1984. – 304 с.
4. Bastani F.B., Iyengar S.S. The effect of data
structures on the logical complexity of pro-
grams // CACM. – 1987. Vol. 30, N 3. –
P. 250259.
5. Акуловский В.Г. Основы алгебры алго-
ритмов, базирующейся на данных // Про-
блеми програмування. 2010. № 23.
С. 8996.
6. Дорошенко А.Е., Акуловский В.Г. Алгебра
алгоритмов с данными и прогнозирование
вычислительного процесса // Проблеми
програмування. 2011. № 3. С. 310.
7. Акуловский В.Г. Алгебра для описания
данных в композиционных схемах алго-
ритмов // Проблеми програмування.
2012. № 23. С. 234240.
8. Дорошенко А.Е., Акуловский В.Г. Нисхо-
дящее проектирование алгоритмов в рам-
ках алгеброалгоритмического подхода //
Математические машины и системы. –
2012. – № 3. – С. 97–102.
9. Дорошенко А.Ю., Акуловський В.Г. Висхід-
не проектування алгоритмів при алгеброа-
лгоритмичному підході // Вісник Київсько-
го національного університету імені Тара-
са Шевченка. Серія фізико-математичні
науки. – 2012. – Вип. 1. – С. 167–172.
Получено 26.07.2012
Об авторах:
Акуловский Валерий Григорьевич,
кандидат технических наук,
доцент кафедры информационных систем
и технологий,
Дорошенко Анатолий Ефимович,
доктор физико-математических наук,
профессор,
заведующий отделом
теории компьютерных вычислений.
Место работы авторов:
Академия таможенной службы Украины,
Тел. 050 941 05 66,
E-mail: valeryakulovskiy@rambler.ru
Институт программных
систем НАН Украины.
Тел. (044) 526 3559,
E-mail: dor@isofts.kiev.ua
http://mail.rambler.ru/mail/mail.cgi?mode=compose;mailto=valeryakulovskiy%40rambler.ru;83ec;enc=utf-8
mailto:dor@isofts.kiev.ua
|