Наука та прогрес транспорту. Вкник Дншропетровського нацюнального ушверситету залiзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЩИШ ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
УДК 510.25:004.422.63.05
В. И. ШИНКАРЕНКО1*, Г. В. ЗАБУЛА2*
1 Каф. «Компьютерные информационные технологии», Днепропетровский национальный университет железнодорожного транспорта имени академика В. Лазаряна, ул. Лазаряна, 2, Днепропетровск, Украина, 49010, тел. +38 (056) 373 15 35, эл. почта [email protected], ОЯСГО 0000-0001-8738-7225 2*Каф. «Компьютерные информационные технологии», Днепропетровский национальный университет железнодорожного транспорта имени академика В. Лазаряна, ул. Лазаряна, 2, Днепропетровск, Украина, 49010, тел. +38 (056) 373 15 35, эл. почта [email protected], ОЯСГО 0000-0002-8607-5729
КОНСТРУКТИВНАЯ МОДЕЛЬ АДАПТАЦИИ СТРУКТУР ДАННЫХ В ОПЕРАТИВНОЙ ПАМЯТИ: ЧАСТЬ II. КОНСТРУКТОРЫ СЦЕНАРИЕВ И ПРОЦЕССОВ АДАПТАЦИИ
Цель. Вторая часть статьи завершает представление системы конструктивно-продукционных структур (КПС), моделирующих адаптацию структур данных в оперативной памяти (ОП). Цель второй части исследования заключается в разработке модели процесса адаптации данных в ОП, функционирующих в различных программно-аппаратных средах, и сценариев процессов обработки данных. Методика. Для осуществления цели применена методология математико-алгоритмического конструктивизма. В данной части работы, на основании обобщенной КПС, путем ее трансформационных преобразований разрабатываются конструкторы сценариев и процессов адаптации. Конструкторы являются интерпретированными, специализированными КПС. Выделяются терминальные алфавиты конструктора сценариев в виде алгоритмов обработки данных и конструктора адаптации - в виде алгоритмических составляющих процесса адаптации. Методика предусматривает разработку правил подстановки, определяющих процесс вывода соответствующих конструкций. Результаты. Во второй части статьи представлена часть системы КПС, моделирующей адаптацию размещения данных в ОП, а именно, конструкторов сценариев и процессов адаптации. Результатом реализации конструктора сценариев является набор операций обработки данных в виде текста на языке программирования С#, конструктора процесса адаптации - процесс адаптации, а результатом процесса адаптации - адаптированный бинарный код обработки структур данных. Научная новизна. Впервые предложена конструктивная модель процесса обработки данных - сценария, учитывающего порядок и количество обращений к различным элементам структур данных, а также адаптации структур данных к различным программно-аппаратным средам. При этом адаптируется размещение данных в ОП и алгоритмы их обработки. Применение конструктивизма в моделировании позволило в рамках единого подхода и применяемых средств связать модели данных и алгоритмы их обработки с критериями эффективности. Разработанные модели позволяют исследовать процесс адаптации и управлять им. Практическая значимость. Разработанные модель и методы позволяют автоматически изменять размещение данных в ОП и их алгоритмические связи в зависимости от эксплуатационных потребностей, конструктивных особенностей аппаратных средств и программной среды функционирования.
Ключевые слова: структура данных; конструктивно-продукционная структура; адаптация; конструктор; преобразователь
Введение
Формальные модели структур данных и алгоритмов их обработки [1-4] разработаны на основе аппарата конструктивно-продукционных структур (КПС) [16]. На основе исследований структур данных [5] и эффективности их размещения в оперативной памяти (ОП) [7, 8, 13-15] и алгоритмов [6, 17], разработана конструктивная модель адаптации данных в ОП.
В первой части статьи [10] дано определение КПС и представлены вспомогательные конструкторы, позволяющие конструировать множество различных вариантов размещения данных в ОП и порождающие соответствующие им программы обработки данных, таких как добавление, поиск и т.д. В этой части работы представлены основные конструкторы сценариев и процессов адаптации.
Наука та прогрес транспорту. Вкник Дншропетровського нащонального ушверситету залiзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЩИШ ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
Конструктор сценариев. Моделируемую последовательность операции обработки данных назовем сценарием работы со структурой данных (или просто сценарием).
Уточним, что понимается под операциями обработки данных. Обработка данных выполняется на основе атомарных или примитивных операций обработки. Все примитивные операции обработки СД можно разделить на:
операции не связанные с изменением структуры и значений ее элементов. Такие операции должны быть ограничены исключительно выборкой или поиском значений и исключать другую функциональность, например, определение средних значений по выборке и т. п.;
— операции, связанные с преобразованием структуры данных в том числе: изменение логической структуры (например, замена массива списком, балансировка дерева); добавление/удаление элемента (ов);
— операции, связанные с изменением значений ее элементов без изменения структуры. Такие операции должны быть ограничены исключительно поиском (при необходимости) позиции и заменой значения и исключать преобразование данных;
— операции, связанные с изменением значений ее элементов и связанные с этим изменения структуры. Например, добавление элемента в упорядоченный список.
Формальной структурой для формирования сценариев обработки данных назовем специализированную ОКПС С5с :
С =< М, E, л> сж =< Мс, 15с, л5с > ,
где 25С =< 25С , ®8С , Ф5С , > , 25С = } ,
Л5С = л!5 иЛ16. Л15 = {м5С з (Т5С и Ы5С), Г8С = {С#}, М8с = {аг}}.
Частичная аксиоматика Л16 приведена ниже.
Терминальный алфавит Тс состоит из множества С# - лексем языка С#.
Операции связывания терминалов и нетерминалов:
— ввод данных из внешней среды °х, где х - идентификатор введенных данных. Для выполнения операции требуется внешний исполнитель, который предоставляет данные. Внеш-
ний исполнитель представляет собой программно-аппаратную среду, возможно управляемую пользователем;
— связывание элементов сценария х; у, где х и у - элементы сценария, которые выполняются последовательно.
— Операции над атрибутами:
v(a,Ь) - генерации случайного числа на промежутке [а, Ь]; х - умножения, — вычитания, = - сравнения на равенство, := - присвоения; -^(с; ^; /) - выбора значения как в Сш .
Для интерпретации Сс необходима модель
исполнителя, которую представим в виде базовой алгоритмической структуры (БАС):
СА, SC -(MA, SC , VA, SC , ^ A, SC , Л A, SC^ ,
где МА 8С - неоднородный носитель, УА с -множество образующих алгоритмов, -
сигнатура и ЛА с - аксиоматика. Носитель
МА,SC 3 TSC и NSC и ^(СА^С ) и Ж , где
О(СА ^) все сформированные алгоритмами
алгоритмической структуры конструкции; Ж -множество допустимых значений атрибутов. Множество алгоритмов
У 3 { А0 \А'А0 \:А А I/ А I/
у А, SC —> V Л1 АА}> 2 Z2,Ai' 3 % ,1Ч, 4 I/ '
А5 1 , А6 \а , А7 \а,Ь , А8 |а,Ь , А9 |а,Ь , А10 |а,Ь ,
An
, A13 f jj } \JVW cQ(Ca ,SC ).
c, f ,t> Л12 Й! Л13 f ,1
A0 IA A AU i
A1 1А,А, ' A2 1 fj
0 i:A;
A3 \lLl,
Z1,Z2,а такие как в сa,ld :
-3 11, ,1q,f так0И как А j,f в СALD , А4 1 j
f.
такоИ как А6 | в С
-6 f
A5I
ft т
такоИ как
А7 1 в С.
7 f
A,LD ' c
А6|Ь, а7 |а,ь, а8 |а,ь, А9 |а,ь алгоритмы реализующие операции присваивания, сравнения на равенство, умножения и вычитания соответственно;
А10 |дЬ генерация случайного числа из промежутка [а, Ь];
А11 |С,/Д соответствует А8 \1,а,Ь из СА,Ш ;
¥
Наука та прогрес транспорту. Вкник Дншропетровського нацюнального ушверситету зашзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЩИШ ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
программно-аппаратная среда;
A \l> ,lj
A13 i алгоритм связывания элементов
li ,lj
l , lj e Msc .
A12\£ алгоритм ввода данных, x е TSC, ЭТ - На основании чего определяется количество
выполнения каждой операции вектором
n =<«о,...,nk > .
Формируемые сценарии обработки BMP
файлов в ОП включают следующие операции
обработки данных: изменение цвета пикселя по
Конструктор сценариев представляет собой координатам (правило s3), получение значение
цвета по координатам (s4), установка цвета пикселя белым (s5), изменение общего размера изображения (s6), получение ширины изображения (s7), изменение битности изображения (s8), изменение ширины изображения (s9), изменение высоты изображения (s10), получение значения высоты изображения (s11), получение значения битности изображения (s12), изменение компонент R, G, B пикселя по координатам
совокупность моделей сценариев. Он является интерпретацией формальной структурой С8С алгоритмической структуры СА 5С :
< CSC =< MSC , *SC , Лsc >,
CA, SC =< MA,SC , ^A,SC , ЛA,SC >>
I ^ ICSC =< MI, SC , ^ I ,SC , ЛI, SC >,
где I ^ - операция интерпретации;
I,SC ~ 1 VSC w 1 47 > Л17 = {(A \AiA ^ •); (соответственно компонентам s13, s14, s15).
(A1^,a J:); (A3 \fh,iq,f (Ajf^JH);
ЛI SC Л SC U Л1 7 ;
4 0 \:Ai \Z
(Af J\H); (A \b, J:=); (A7\:,b, J=);
0U, Jx); (A9 \ab, J-); (A10 \p,b,Jv);
(An\:,fJ,J+); (A12 ,j°); (A13 J,J;); }.
Алгоритм A12 может быть реализован как C# generic функция с переменным количеством параметров. Например:
public T GetParameter<T>(params object[] inputs)
ICSC =< MI ,SC , ^I ,SC , Л1 ,SC >
Правила вывода имеют вид уг- =< si, gi > . Зададим следующие отношения подстановки:
s0 =< с ^ 0.(CPLI); SCENARIO > s1 =< SCENARIO d ^ SCELEMENT; SCENARIO >
s2 =< SCENARIO 3 ^ SCELEMENT; >
s3 =< SCELEMENT 3 ^ оx; °j; °rgb; root .ImageData[ x, j] = rgb; >
s4 =< SCELEMENT 3 ^ о x; о j;
^ CSC =< M
SCBMP ' SCBMP ' SC
Л S
root.ImageData [x, j];
>
где M
SCb
Nsc u TS
JSC„
= E
I ,SC '
ЛSCBMP = Л1,SC U Л18 U Л19 . Л18 =< TSCBMP = {
TPL u { x, j, root, DeleteAt, Resize, bpp, width, height }}, NSC = { SCELEMENT, SCENARIO, с} >.
Частичная аксиоматика Л19 заключается
в следующем.
Внешним исполнителем задано: интервал количества применяемых правил Nmin, Nmax и вероятности использования каждого правила p =<p0,...,pk >, где к - количество операций.
s5 =< SCELEMENT 3 ^ о x; о j;
root .ImageData.DeleteAt ( x, j );
>
s6 =< SCELEMENT 3^ °w; oh;
>
root.ImageData.Resize (w, h);
s7 =< SCELEMENT ,-
73
root .ImageHea3er Wi3th; > s8 =< SCELEMENT 3 ^ °bpp;
Наука та прогрес транспорту. Вкник Дншропетровського нащонального ушверситету зашзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЩИШ ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
root.ImageHeader.BitsPerPixel - bpp; >
s9 -< SCELEMENT d ^ owidth;
root.ImageHeader Width - width; > s10 -< SCELEMENT d ^ °height; root .ImageHeader .Height - height; >
sjj -< SCELEMENT --
root .ImageHeader .Height; >
s12 -< SCELEMENT d-
root .ImageHeader .BitsPerPixel; > s13 =< SCELEMENT d ^ °r; оx; оy;
root .ImageData[ x, y] .R = r; > s14 =< SCELEMENT d ^ оg; оx; оy;
root .ImageData[ x, y].G = g; > s15 =< SCELEMENT d ^ °b; °x; оy; root .ImageData[ x, y] .B = b; > Правила над атрибутами:
go =< N = v[Nmin, Nmax ]; n := N x pi >,
g< =< di = -(n = 0,1,0);и,. := и, -1 >, при i = [3...15].
В результате реализации структуры Cscbmp
формируется множество сценариев обработки данных BMP файлов. Например, часть сценария:
public T GetParameter<T>(params object[]
inputs) {
Console.WriteLine("Enter parameter: {0}", inputs[0]);
Return Convert.To<T>(Console.ReadLine()); }
int height = GetParameter<int>("height");
root.ImageHeader.Height = height;
int r = GetParameter<int>("r");
int x = GetParameter<int>("x");
int y = GetParameter<int>("y");
root.ImageData[x,y].R = r;
int g = GetParameter<int>("g");
root.ImageData[x,y].G = g;
int b = GetParameter<int>("b"); x = GetParameter<int>("x"); y = GetParameter<int>("y"); root.ImageData[x,y].B = b;
Конструктор процесса адаптации представления СД на языке программирования. Будем специализировать ОКПС для представления адаптера СД следующей структурой:
С = {М, Е, л> 5^ СADS ={MADS,ЕADS,лADS), где
ЕADS =< " ADS , ® ADS , Ф ADS , > , "ADS = { ' } ,
ЛADS =Л^Л20 U Л21 • ЛADS1 = {MADS ^
(Tads uNads), Tads = { Bi, i = 1...14 } Nsc = { ai }} •
Специализированный процесс представляет собой процесс структурной адаптации СД использующий критерий временной эффективности выполнения сценариев обработки данных и генетический алгоритм для случайного поиска оптимальной СД.
Частичная аксиоматика Л20 приведена ниже.
Множество TADS состоит из приведенных ниже алгоритмов:
- получения S- и R- оценки показателей временной эффективности структур данных;
d sp ,rp
B IP
p(Csc)
CPLi )
2C \ _ генерации множества сценария;
IU(CpLj )
) - выбора сценария из множества
B f
n{Csí
сгенерированных;
В4- формирования процесса выполнения ИР из текста программной реализации и сценария;
в'
мера;
5 Ы
получения текущего времени из таи-
B6
\кРт - исполнения процесса выполнения сценария !Р ;
В7 |Ь - реализация операции присвоения без привязки к типу;
В8 Г - вычисления времени выполне-
ния сценария программным шаблоном;
PE
Наука та прогрес транспорту. Вкник Дншропетровського нацюнального ушверситету залiзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЩИШ ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
B
b
9 lp,Sp,Rp
вычисление признака завершения
работы адаптера;
B
10
получение вектора случайных чи-
сел на основе вектора R, указывающего максимальные значения вектора Q;
B11 \j/'ar - принятие решения относительно
особи на основе оценки а, true, если особь должна остаться в популяции;
B12 \Р - подсчет оценки популяции;
B13 \U3U2 - скрещивание особи и1 и и2 в результирующую особь и3;
B14 \^'qQpl - выполнение генерации конструкций текста преобразователя 0,(CPL).
B15 LSD) - выполнение генерации конструкций логической структуры данных, на основе правил, построенных внешним исполнителем Or ;
B |PLI )
°16 1 fs
выполнение генерации конст-
рукций Q.(CPLI) на основе конструкции fL
LSD >
В17 ) - выбор конструкции логической структуры из множества 0.(СЬ50);
В18 1кк - инкрементация значения переменной.
В приведенных алгоритмах 0.(Сри) - декларация классов на языке С#, формируемая как реализация преобразователя Сры каждой примитивной конструкции (с однородными и неоднородными элементами), декларируется свой класс с соответствующими методами обработки данных; ^(С5С) - множество программных сценариев обработки данных; П(СР1) - множество текстов программ объектно-ориентированных структур данных, формируемых в результате реализации преобразователя Срь, которые различаются вариантами физического представления в оперативной памяти логических структур данных (размещение
данных в ОП и методы их обработки); Q - вектор с идентификаторами программных шаблонов, /Р1 - программный шаблон, /5С - сценарий обработки данных, ЯР - процесс выпол-
нения сценария программным шаблоном, ^ -программно-аппаратная среда адаптации структур данных, PE - выполнение сценария, r -вектор случайных чисел, Р - популяция, t -время выполнения сценария программной реализацией, закодированной заданной особью, Р' - популяция с соответствующими значениями времени выполнения сценария, Р- - сокращён-
г>*
ная популяция, Р - популяция с размноженными особями, Рг-, ti - особь, время соотв. этой особи, b - признак продолжения работы адаптера.
Операции связывания терминалов и нетерминалов х • y , где х и y - алгоритмы, которые
выполняются последовательно.
Для определения интерпретации структуры CADS воспользуемся следующей базовой алгоритмической структурой:
CA,ADS = (MA,ADS , va,ADS , ^A,ADS , ЛA,ADS ) ,
где MA ADS - неоднородный носитель, VA ADS -множество образующих алгоритмов, ZAADS -сигнатура и ÄA ADS - аксиоматика. Носитель
MA, ADS 3 TADS ^ NADS ^ ß(CA, ADS ) ^ W , где
Ü(CA ADS) все сформированные процессы
адаптации структур данных; W - множество допустимых значений атрибутов. Множество
А0 \:Ai
2 IZlZ2,Ai'
л0 AiA
алгоритмов VA ADS з { A1
A3 ■, f , A4 | ¿.Y , A5 I ffj,W , } UVW C^(CA, ADS ).
,0 IAi-Aj .0 ,:Ai ^
A1 1 Ai,Aj , A2 |Z1i,Z2,Ai такие как в СA,LD ,
A3|lhj,l„fi такой как A5 |j, f в СA,LD , A4| W , fj fj
такой как A6 |f Y в CALD, A5 | f Y такой как
f ■ h ,l■ A7 | ^ в CALD; A6\' 'J алгоритм связывания
f, ' li ,lj
элементов, l , lj e MSC;.
Интерпретация конструктора процесса адаптации:
< CADS =< MADS , ^ ADS , Л ADS >, CA,ADS =< MA, ADS , ^A, ADS ,Л A, ADS >>
Наука та прогрес транспорту. Вкник Дншропетровського нащонального ушверситету залiзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЩИШ ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
B4 IfSC ,P, B5 Ы X
XB IPE -B Ite"d B t
VXB6 IRP,m B5 Ы B8 \tbeg .tend J
I ^ ICADS =< MI,ADS , EI,ADS , ^,ADS > ной особью популяции:
где I ^ - операция интерпретации; "
= = 0 ArAj
л,ADS =ЛADS иЛ22 ; ЛSC1 = { (A1 I Ai,Aj ^ '); i=1
(A2 |z1i,z2,a, ^ :); (A3 .,f ^ (A4 1 ^ \^); Определение продолжения работы адаптера
_ , ,f. ч , . выполняется по следующему правилу:
(A5lfj,TJ\H); (АН:,., ^' )}
в |sp,rp ' B lb 'A0 IV'T' Ь Рассмотрим конкретизацию для адаптера. ъ 1 |р 9 Ip sp rp 2 ]b,{true} '
С = / м е л \ Правило для сокращения популяции на ос-
I ADS ADS ADS I, ADS
нове усредненной оценки времени выполнения . у с = / м Е Л \ сценария всей популяции. Здесь о - средняя
K ^ K, ADS ~ \ ADS ? ADS? K, ADS/
оценка времени всей популяции:
где МADS 3 TADS U NADS ; ЕADS = ЕS,ADS ; , " , •
V^ B]2 I0 B7I0 П (B11IP-0b-A2,IBBftriHe}) X
Л ADS = Л!, ADS U Л 23 U Л 24 - i=1
Л22 =< TADS = {TS,ADS К NADS = { С V ^ D|P D .„
Ц } > . XB7 \P-
Частичная аксиоматика Л23 включает сле- Генерация новых особей, на основе сущест-
дующие конструктивные дополнения: n - кол- вующих в попУляЦии, выполняется по следую-
во первоначальных особей генетического алго- щему правилу:
ритма, задается внешним исполнителем; a - n n ,
параметры генерации случайных чисел особей, x^B7 |0 ПП(B13 \р,!р. B \к)' B7 |р, -B7 \n ;
задается внешним исполнителем на основании i=1 j=1
значения атрибута R Q(CpL). Реализация процесса адаптации выглядит
Частичная аксиоматика Л24 состоит из сле- следующим образом:
дующих отношений подстановки. B |й(с™) ' в |-^Lsd ' в f(C™) ' в \Q(Csc)
15 'Or 17 ^(Сlsd) 16 ' fLSD 2 'Q(CPLI )
Правило подстановки для подготовки про- n
цесса выполнения адаптации: в fsc в |R.Zpl ТТ( B \Q B |R Pi)
'В3 Iq(csc ) 'В14 lM,Q° ЩЛо \%R 'В14 \m,Q>
с ^ B15 |"(clsd)' B17 fe ) 'B16 f(CpLI) ' i=1
15 Юг 17 '"(CLSD) 16 1fLSD n
' ГГ( B |RP ' B \tbeg 'B \PE ' B fnd 'B t )
П(С ) f П ( B4\fsc ,Pi B5 B6 \RP B5\m B8 \tbeg ,tend )
B |U(CSC) B | fSC ' m'K'P i=1
B2|Q(CPLI )B3|Q(Csc)Ф к Ь . !1 S R b B k
D SP,RP D lb a0 |B19 n _ D |0 n \K
^ 1 Ip 9 Ip,Sp,RP "Л2 lb,{true} B19 _ B12 Ip '°7 Ю '
Правило для формирования вектора R для n ,
определения максимальных значений вектора П (B11 |pi'o ' B8^}) • B7 |р- ' B7 Щ ' B7 |0 '
Q : i=1 n ' n
B \R,fpL ПП( B13 \p*kp. B18 \k )' B7 \p* 'B7 \n ' П (
"14 ■ i=1 j=1 i=1
T- « B \RP ' B \tbes 'B \PE 'B \te"d 'B |tj )
Генерация первой популяции выполняется "4 IfSc,Pi 5 rn "6 Irp.m "5 rn "8 \tbeg,tend>
следующим правилом: B \SP,rp b \b Ao \b19
'B1 \р ' B9 \P,SP,RP ' A2 b,{trwe}
к . b \Q b \RЦиклический процесс структурной адапта-
' I B10\^R 'B14\^Q . r^n
-i=1 n,Q ции представления СД включает:
- синтез СД с разной программной реализа-
Правило для определения времени выпол- цией;
нения сценария для каждой СД, зашифрован-
Наука та прогрес транспорту. Вкник Дншропетровського нацюнального ушверситету залiзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЩИШ ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
— выполнение сценария с использованием синтезированного программного кода;
— анализ временной эффективности и выбор лучшей программной реализации СД.
Синтез СД заключается в генерации программного текста библиотеки классов реализующей заданную логическую структуру данных, и ее компиляции в промежуточный или бинарный код.
Научная новизна и практическая значимость
Впервые предложена конструктивная модель процессов разработки и адаптации структур данных к различным программно-аппаратным средам. При этом адаптируется размещение данных в ОП и алгоритмы их обработки.
Применение конструктивизма в моделировании позволило в рамках единого подхода и применяемых средств связать модели данных и алгоритмы их обработки с критериями эффективности.
Усовершенствована методика формирования системы КПС, механизмы, связи между взаимодополняющими друг друга КПС. Модификация конструктора и преобразователей позволяет коренным образом изменять и исследовать процесс адаптации
Разработанная модель позволяет автоматизировать процессы рационального размещения данных в ОП, что, в свою очередь, повышает временную эффективность программ со значительной долей обработки больших и очень больших объемов данных.
Выводы
Формализация представления данных на логическом уровне, преобразование логического представления СД в текст программы, конструирование текста программы сценариев, процесс адаптации выполнены средствами конструкционно-продукционных структур.
Модификация конструктора и преобразователей позволяет коренным образом изменять процесс адаптации:
— формировать на логическом уровне необходимые СД;
— применять различные подходы и способы формирования;
— совершенствовать алгоритмы адаптации и применять различные критерии качества СД.
При данном подходе разработчику программных систем достаточно в редакторе Dia [11, 12] построить логическую структуру данных, задать параметры сценариев. Тогда реализация системы конструктивно-продукционных структур сформирует тексты методов доступа к данным на ЯП С# для адаптированного к определенной программно-аппаратной среде размещения данных в оперативной памяти.
В соответствии с современными парадигмами программирования [9] разработаны соответствующие инструментальные программные средства [11, 12].
Универсализм дает возможность применять предложенный подход для улучшения временных характеристик программных средств, предполагающих значительные временные затраты. Этот подход позволяет существенно улучшить временные характеристики за счет рационального размещения данных в ОП.
СПИСОК ИСПОЛЬЗОВАННЬПХ ИСТОЧНИКОВ
1. Акуловский, В. Г. Алгебра для описания данных в композиционных схемах алгоритмов /
B. Г. Акуловский // Проблеми програмування.
- 2012. - № 2-3. - С. 234-240.
2. Акуловский, В. Г. Основы алгебры алгоритмов, базирующейся на данных / В. Г. Акулов-ский // Проблеми програмування. - 2010. -№ 2—3. - С. 89-96.
3. Алгеброалгоритмические модели и методы параллельного программирования / Ф. И. Андон, А. Е. Дорошенко, Г. Е. Цейтлин, Е. А. Яценко.
- Киев : Академпериодика, 2007. - 634 с.
4. Глушков, В. М. Алгебра. Языки. Программирование / В. М. Глушков, Г. Е. Цейтлин, Е. Л. Ющенко. - Кшв : Наук. думка, 1978. -319 с.
5. Данные в языках программирования: абстракция и типология / под ред. В. Агафонова. -Москва : Мир, 1982. - 328 с.
6. Дорошенко, А. Е. Алгебра алгоритмов с данными и прогнозирование вычислительного процесса / А. Е. Дорошенко, В. Г. Акуловский // Проблеми програмування. - 2011. - № 3. -
C. 3-10.
7. Дрождин, В. В. Анализ эффективности и эволюция структур данных / В. В. Дрождин, В. М. Володин // Проблемы информатики в образовании, управлении, экономике и технике : сб. ст. IX
Наука та прогрес транспорту. Вкник Дншропетровського нацюнального ушверситету залiзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЩЙН1 ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
Междунар. науч.-техн. конф. / Приволж. Дом знаний. - Пенза, 2009. - С. 33-44.
8. Ефимушкина, Н. В. Исследование подсистемы «кэш-память-оперативная память» многопроцессорных вычислительных систем / Н. В. Ефимушкина, М. М. Ефремов, С. П. Орлов // Вестн. Самар. гос. техн. ун-та. Серия: Техн. науки. - Самара, 2012. - № 3 (35). -С. 49-55.
9. Лаврищева, Е. М. Software Engineering компьютерных систем. Парадигмы, технологии и CASE-средства программирования / Е. М. Лаврищева. - Кшв : Наук. думка, 2013. - 283 с.
10. Шинкаренко, В. И. Конструктивная модель адаптации структур данных в оперативной памяти: Часть I. Конструирование текстов программ / В. И. Шинкаренко, Г. В. Забула // Наука та прогрес транспорту. - 2016. - № 1 (61). -С. 100-112. doi: 10.15802/stp2016/61003.
11. Шинкаренко, В. И. Повышение временной эффективности структур данных в оперативной памяти на основе адаптации / В. И. Шинкарен-ко, Г. В. Забула // Проблеми програмування. -2012. - № 2-3. - С. 211-218.
12. Шинкаренко, В. И. Применение генетического алгоритма в задачах адаптации структур данных / В. И. Шинкаренко, Г. В. Забула // Ис-
кусственный интеллект. - 2012. - № 3. -С. 323-331.
13. Array Based HV/VH Tree: an Effective Data Structure for Layout Representation / J. Ren, W. Pan, Y. Zheng [et al.] // J. of Zhejiang University-SCIENCE C. - 2012. - Vol. 13. - Iss. 3. -P. 232-237. doi: 10.1631/jzus.c1100193.
14. Attali, D. Efficient Data Structure for Representing and Simplifying Simplicial Complexes in High Dimensions / D. Attali, A. Lieutier, D. Salinas // Intern. J. of Computational Geometry & Applications. - 2012. - Vol. 22. - Iss. 4. - P. 279-303. doi: 10.1142/S0218195912600060.
15. Bastani, F. B. The effect of data structures on the logical complexity of programs / F. B. Bastani, S. S. Iyengar // Communication of the ACM. -1987. - Vol. 30. - Iss. 3. - P. 250-259. doi: 10.1145/214748.214760.
16. Shynkarenko, V. I. Constructive-Synthesizing Structures and Their Grammatical Interpretations. I. Generalized Formal Constructive-Synthesizing Structure / V. I. Shynkarenko, V. M. Ilman // Cybernetics and Systems Analysis. - 2014. -Vol. 50. - Iss. 5. - P. 655-662. doi: 10.1007/-s10559-014-9655-z.
17. Weiss, M. A. Data Structures and Algorithm Analysis in C++ / M. A. Weiss. - London : Pearson Education Inc., 2014. - 656 p.
В. I. ШИНКАРЕНКО1*, Г. В. ЗАБУЛА
2*
1 Каф. «Комп'ютерш шформацшш технологи», Дтпропетровський национальный ушверситет залiзничного транспорту iменi академжа В. Лазаряна, вул. Лазаряна, 2, Дшпропетровськ, Украша, 49010, тел. +38 (056) 373 15 35, ел. пошта [email protected], ОЯСГО 0000-0001-8738-7225
2*Каф. «Комп'ютерш шформацшш технологи», Дтпропетровський национальный ушверситет залiзничного транспорту iменi академжа В. Лазаряна, вул. Лазаряна, 2, Дшпропетровськ, Украша, 49010, тел. +38 (056) 373 15 35, ел. пошта [email protected], ОЯСГО 0000-0002-8607-5729
КОНСТРУКТИВНА МОДЕЛЬ АДАПТАЦП СТРУКТУР ДАНИХ В ОПЕРАТИВН1Й ПАМ'ЯТ1: ЧАСТИНА II. КОНСТРУКТОРИ СЦЕНАРПВ I ПРОЦЕС1В АДАПТАЦП
Мета. Друга частина статп завершуе представлення системи конструктивно-продукцшних структур (КПС), що моделюють адаптацш структур даних в оперативнш пам'яп (ОП). Мета друго! частини дослщження полягае в розробщ моделi процесу адаптаци даних в ОП, що функцюнують у рiзноманiтних програмно-апаратних середовищах, та сценарпв процеав обробки даних. Методика. Для впровадження мети застосована методология математико-алгорштшчного конструктивiзму. У данш частит роботи, на основi узагальнено! КПС, шляхом И трансформацшних перетворень розробляються конструктори сценарпв i процеав адаптаци. Конструктори е штерпретованими, спецiалiзованими КПС. Видшяються термшальш алфавгти конструктора сценарпв у виглядi алгорштшв обробки даних i конструктора адаптаци - у виглядi алгоршадчних складових процесу адаптаци. Методика передбачае розробку правил постановки, що визначають процес виводу ввдповвдних конструкцiй. Результати. У другш частинi статтi представлена частина системи КПС, що моделюе адаптацш розмщення даних в ОП, а саме, конструкторiв сценарiiв та процеав адаптаци. Результатом реалiзацii' конструктора сценарпв е набiр операцiй обробки даних у виглядi тексту мовою програмування С#, конструктора процесу адаптаци - процес адаптаци, а результатом процесу
Наука та прогрес транспорту. Вкник Дншропетровського нацюнального ушверситету залiзничного транспорту, 2016, № 2 (62)
ШФОРМАЩЙНО-КОМУНЖАЩЙШ ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
адаптацп - адаптований бiнарний код обробки структур даних. Наукова новизна. Вперше запропонована конструктивна модель процесу обробки даних - сценарш, що враховуе порядок та кiлькiсть звернень до рiзних елементiв структур даних, а також адаптацп структур даних до рiзноманiтних програмно-апаратним середовищ. При цьому адаптуеться розмiщення даних в ОП та алгоритми 1х обробки. Застосування конструктивiзму в моделюваннi дозволило в рамках единого шдходу i застосовуваних засобiв зв'язати моделi даних та алгоритми 1х обробки з критерiями ефективностi. Розробленi моделi дозволяють дослщжувати процес адаптацп та керувати ним. Практична значимкть. Розробленi модель та методи дозволяють автоматично змiнювати розмщення даних в ОП та 1х алгоритмiчнi зв'язки в залежностi ввд експлуатацiйних потреб, конструктивних особливостей апаратних засобiв i програмного середовища функцюнування.
Ключовi слова: структура даних; конструктивно-продукцшна структура; адаптацiя; конструктор; пере-творювач
V. I. SHYNKARENKO1*, H. V. ZABULA2*
1 Dep. «Computer and Information Technologies», Dnipropetrovsk National University of Railway Transport named after Academician V. Lazaryan, Lazaryan St., 2, Dnipropetrovsk, Ukraine, 49010, tel. +38 (056) 373 15 35, e-mail [email protected], ORCID 0000-0001-8738-7225
2*Dep. «Computer and Information Technologies», Dnipropetrovsk National University of Railway Transport named after Academician V. Lazaryan, Lazaryan St., 2, Dnipropetrovsk, Ukraine, 49010, tel. +38 (056) 373 15 35, e-mail [email protected], ORCID 0000-0002-8607-5729
CONSTRUCTIVE MODEL OF ADAPTATION OF DATA STRUCTURES IN RAM. PART II. CONSTRUCTORS OF SCENARIOS AND ADAPTATION PROCESSES
Purpose. The second part of the paper completes presentation of constructive and the productive structures (CPS), modeling adaptation of data structures in memory (RAM). The purpose of the second part in the research is to develop a model of process of adaptation data in a RAM functioning in different hardware and software environments and scenarios of data processing. Methodology. The methodology of mathematical and algorithmic constructionism was applied. In this part of the paper, changes were developed the constructors of scenarios and adaptation processes based on a generalized CPS through its transformational conversions. Constructors are interpreted, specialized CPS. Were highlighted the terminal alphabets of the constructor scenarios in the form of data processing algorithms and the constructor of adaptation - in the form of algorithmic components of the adaptation process. The methodology involves the development of substitution rules that determine the output process of the relevant structures. Findings. In the second part of the paper, system is represented by CPS modeling adaptation data placement in the RAM, namely, constructors of scenarios and of adaptation processes. The result of the implementation of constructor of scenarios is a set of data processing operations in the form of text in the language of programming C#, constructor of the adaptation processes - a process of adaptation, and the result the process of adaptation - the adapted binary code of processing data structures. Originality. For the first time proposed the constructive model of data processing - the scenario that takes into account the order and number of calls to the various elements of data structures and adaptation of data structures to the different hardware and software environments. At the same the placement of data in RAM and processing algorithms are adapted. Constructionism application in modeling allows to link data models and algorithms for their processing with the performance criteria in the framework of unified approach and applied means. The developed models allow us to study the process of adaptation and control it. Practical value. The developed model and methods allow automatically changing the data placement in the RAM and their algorithmic connection depending on the operational requirements, the design features of the hardware and software operating environment.
Keywords: data structure; constructive and productive structure; adaptation; designer; converter
REFERENCES
1. Akulovskiy V.G. Algebra dlya opisaniya dannykh v kompozitsionnykh skhemakh algoritmov [Algebra to describe the data in the compositional schemes of algorithms]. Problemy prohramuvannia - Programming Problems,, 2012, no. 2-3, pp. 234-240.
Наука та прогрес транспорту. Вкник Дншропетровського нацюнального ушверситету залiзничного транспорту, 2016, № 2 (62)
ШФОРМАЦШНО-КОМУШКАЦШН1 ТЕХНОЛОГИ ТА МАТЕМАТИЧНЕ МОДЕЛЮВАННЯ
2. Akulovskiy V.G. Osnovy algebry algoritmov, baziruyushcheysya na dannykh [Basic algebra algorithms based on data]. Problemy prohramuvannia - Programming Problems, 2010, no. 2-3, pp. 89-96.
3. Andon F.I., Doroshenko A.Ye., Tseytlin G.Ye., Yatsenko Ye.A. Algebro-algoritmicheskiye modeli i metody parallelnogoprogrammirovaniya [Algorithmic algebraic models and methods of parallel programming]. Kyiv, Akademperyodyka Publ., 2007. 634 p.
4. Glushkov V.M., Tseytlin G.Ye., Yushchenko Ye.L. Algebra. Yazyki. Programmirovaniye [Algebra. Languages. Programming]. Kyiv, Naukova dumka Publ., 1978. 319 p.
5. Agafonov V. Dannyye v yazykakh programmirovaniya: abstraktsiya i tipologiya [Data in programming languages: abstraction and typology]. Moscow, Mir Publ., 1982. 328 p.
6. Doroshenko A.Ye., Akulovskiy V.G. Algebra algoritmov s dannymi i prognozirovaniye vychislitelnogo prot-sessa [Algebra of algorithms with data and prediction of computational process]. Problemy prohramuvannia -Programming Problems, 2011, no. 3, pp. 3-10.
7. Drozhdin V.V., Volodin V.M. Analiz effektivnosti i evolyutsiya struktur dannykh [Analysis of the effectiveness and evolution of data structures]. Sbornik statey IXMezhdunarodnoy nauchno-tekhnicheskoy konferentsii «Problemy informatiki v obrazovanii, upravlenii, ekonomike i tekhnike» [Proc. of IX Intern. Sci. and Techn. Conf. «Problems of Informatics in education, management, economics and technology»]. Penza, 2009, pp. 3344.
8. Yefimushkina N.V., Yefremov M.M., Orlov S.P. Issledovaniye podsistemy «kesh-pamyat-operativnaya pa-myat» mnogoprotsessornykh vychislitelnykh system [The study of subsystem «cache-memory-RAM» multiprocessor computational systems]. Vestnik Samarskogo gosudarstvennogo tekhnicheskogo universiteta. Seriya: Tekhnicheskiye nauki [Bulletin of Samara State Technical University. Series: Technical Science], 2012, no. 3 (35), pp. 49-55.
9. Lavrishcheva Ye.M. Software Engineering kompyuternykh sistem. Paradigmy, tekhnologii i CASE-sredstva programmirovaniya [Software Engineering of computer systems. Paradigms, technologies and CASE tools of programming]. Kyiv, Naukova dumka Publ., 2013. 283 p.
10. Shynkarenko V.I., Zabula H.V. Konstruktivnaya model adaptatsii struktur dannykh v operativnoy pamyati. Chast I. Konstruirovaniye tekstov programm [Constructive model of data structures adaptation in RAM. Part I. Program text constructing]. Nauka ta prohres transportu - Science and Transport Progress, 2016, no. 1 (61), pp. 100-112. doi: 10.15802/stp2016/61003.
11. Shinkarenko V.I., Zabula G.V. Povysheniye vremennoy effektivnosti struktur dannykh v operativnoy pamyati na osnove adaptatsii [Improving time efficiency of data structures in memory-based adaptation]. Problemy prohramuvannia - Programming Problems, 2012, no. 2-3, pp. 211-218.
12. Shinkarenko V.I., Zabula G.V. Primeneniye geneticheskogo algoritma v zadachakh adaptatsii struktur dannykh [Application of genetic algorithm in problems of adaptation of data structures]. Iskusstvennyy intellect - Artificial Intelligence, 2012, no. 3, pp. 323-331.
13. Ren J., Pan W., Zheng Y., Shi Z., Yan X. Array Based HV/VH Tree: an Effective Data Structure for Layout Representation. Journal of Zhejiang University-SCIENCE C, 2012, vol. 13, issue 3, pp. 232-237. doi: 10.1631/jzus.c1100193.
14. Attali D., Lieutier A., Salinas D. Efficient Data Structure for Representing and Simplifying Simplicial Complexes in High Dimensions. Intern. Journal of Computational Geometry & Applications, 2012, vol. 22, issue 4, pp. 279-303. doi: 10.1142/S0218195912600060.
15. Bastani F.B., Iyengar S.S. The effect of data structures on the logical complexity of programs. Communication of the ACM, 1987, vol. 30, issue 3, pp. 250-259. doi: 10.1145/214748.214760.
16. Shynkarenko V.I., Ilman V.M. Constructive-Synthesizing Structures and Their Grammatical Interpretations. I. Generalized Formal Constructive-Synthesizing Structure. Cybernetics and Systems Analysis, 2014, vol. 50, issue 5, pp. 655-662. doi: 10.1007/s10559-014-9655-z.
17. Weiss M.A. Data Structures and Algorithm Analysis in C++. London, Pearson Education Inc. Publ., 2014. 656 p.
Статья рекомендована к публикации д.т.н., проф. В. В. Скалозубом (Украина); д.физ.-мат.н.,
проф. В. Е. Белозёровым (Украина)
Поступила в редколлегию: 29.02.2016
Принята к печати: 17.04.2016