• No results found

CONSTRUCTIVE MODEL OF ADAPTATION OF DATA STRUCTURES IN RAM. PART II. CONSTRUCTORS OF SCENARIOS AND ADAPTATION PROCESSES

N/A
N/A
Protected

Academic year: 2020

Share "CONSTRUCTIVE MODEL OF ADAPTATION OF DATA STRUCTURES IN RAM. PART II. CONSTRUCTORS OF SCENARIOS AND ADAPTATION PROCESSES"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

УДК

510.25:004.422.63.05

В

.

И

.

ШИНКАРЕНКО

1*

,

Г

.

В

.

ЗАБУЛА

2*

1*Каф. «Компьютерныеинформационныетехнологии», Днепропетровскийнациональныйуниверситет

железнодорожноготранспортаимениакадемикаВ. Лазаряна, ул. Лазаряна, 2, Днепропетровск, Украина, 49010, тел. +38 (056) 373 15 35, эл. почта [email protected], ORCID 0000-0001-8738-7225

2*Каф. «Компьютерныеинформационныетехнологии», Днепропетровскийнациональныйуниверситет

железнодорожноготранспортаимениакадемикаВ. Лазаряна, ул. Лазаряна, 2, Днепропетровск, Украина, 49010, тел. +38 (056) 373 15 35, эл. почта [email protected], ORCID 0000-0002-8607-5729

КОНСТРУКТИВНАЯ

МОДЕЛЬ

АДАПТАЦИИ

СТРУКТУР

ДАННЫХ

В

ОПЕРАТИВНОЙ

ПАМЯТИ

:

ЧАСТЬ

II.

КОНСТРУКТОРЫ

СЦЕНАРИЕВ

И

ПРОЦЕССОВ

АДАПТАЦИИ

Цель. Вторая часть статьи завершает представлениесистемы конструктивно-продукционныхструктур

(КПС), моделирующихадаптацию структурданныхвоперативнойпамяти (ОП).Цельвторойчасти иссле

-дования заключается в разработке модели процесса адаптации данных в ОП, функционирующих

в различных программно-аппаратных средах, и сценариев процессов обработки данных. Методика. Для осуществления цели применена методология математико-алгоритмического конструктивизма. В данной части работы, на основании обобщенной КПС, путем ее трансформационных преобразований разрабатываются конструкторы сценариев и процессов адаптации. Конструкторы являются интерпретированными, специализированными КПС. Выделяются терминальные алфавиты конструктора сценариев в виде алгоритмов обработки данных и конструктора адаптации – в виде алгоритмических составляющих процесса адаптации. Методика предусматривает разработку правил подстановки,

определяющих процесс вывода соответствующих конструкций. Результаты. Во второй части статьи представлена часть системы КПС, моделирующей адаптацию размещения данных в ОП, а именно,

конструкторовсценариевипроцессовадаптации. Результатомреализацииконструкторасценариевявляется набор операций обработки данных в виде текста на языке программирования C#, конструктора процесса адаптации – процесс адаптации, а результатом процесса адаптации – адаптированный бинарный код обработки структур данных. Научная новизна. Впервые предложена конструктивная модель процесса обработки данных – сценария, учитывающего порядок и количество обращений к различным элементам структур данных, а также адаптации структур данных к различнымпрограммно-аппаратным средам. При этом адаптируется размещение данных в ОП и алгоритмы их обработки. Применение конструктивизма

в моделировании позволило в рамках единого подхода и применяемых средств связать модели данных

и алгоритмы их обработки с критериями эффективности. Разработанные модели позволяют исследовать процессадаптациииуправлятьим.Практическаязначимость.Разработанныемодельиметодыпозволяют автоматически изменять размещение данных в ОП и их алгоритмические связи в зависимости от эксплуатационныхпотребностей, конструктивных особенностейаппаратныхсредствипрограммнойсреды функционирования.

Ключевыеслова: структураданных; конструктивно-продукционная структура; адаптация; конструктор;

преобразователь

Введение

Формальные модели структур данных и ал

-горитмов их обработки [1−4] разработаны на основе аппарата конструктивно-продук

-ционных структур (КПС) [16]. На основе ис

-следованийструктурданных [5] иэффективно

-стиих размещениявоперативнойпамяти (ОП) [7, 8, 13-15] и алгоритмов [6, 17], разработана конструктивная модель адаптации данных

вОП.

В первой части статьи [10] дано определе

-ние КПС и представлены вспомогательные конструкторы, позволяющие конструировать множество различных вариантов размещения данных в ОП и порождающие соответствую

-щие им программы обработки данных, таких какдобавление, поискит.д. Вэтой частирабо

-ты представлены основные конструкторы сце

(2)

Конструктор сценариев. Моделируемую последовательность операции обработки дан

-ных назовем сценарием работы со структурой данных (илипростосценарием).

Уточним, что понимается под операциями обработки данных. Обработка данных выпол

-няется на основе атомарных илипримитивных операций обработки. Все примитивные опера

-цииобработкиСДможноразделитьна:

операциинесвязанные сизменениемструк

-турыизначенийееэлементов. Такиеоперации должны быть ограничены исключительно вы

-боркой или поиском значений и исключать другую функциональность, например, опреде

-лениесреднихзначенийповыборкеит. п.;

− операции, связанные с преобразованием структуры данных в том числе: изменение ло

-гическойструктуры (например, заменамассива списком, балансировка дерева); добавле

-ние/удалениеэлемента (ов);

− операции, связанные с изменениемзначе

-нийееэлементовбезизмененияструктуры. Та

-киеоперациидолжныбыть ограниченыисклю

-чительно поиском (при необходимости) пози

-ции и заменой значения и исключать преобра

-зованиеданных;

− операции, связанные с изменениемзначе

-нийееэлементовисвязанныесэтимизменения структуры. Например, добавление элемента

вупорядоченныйсписок.

Формальной структурой для формирования сценариев обработки данных назовем специа

-лизированнуюОКПС CSC:

, , S SC SC, SC, SC

C=<M Σ Λ > C =<M Σ Λ >,

где Σ =< ΞSC SCSCSC,{ }→ >, Ξ =SC

{ }

, ; ,

15 16

SC

Λ = Λ ∪ Λ . Λ = Μ ⊃15 { SC (TSCNSC),

#

{ }

SC

T = C , NSC = α{ }}i .

Частичная аксиоматика Λ16 приведена ни

-же.

Терминальный алфавит TSC состоит из множества C# – лексемязыка C#.

Операции связывания терминалов и нетер

-миналов:

− вводданныхиз внешнейсреды x, где x – идентификатор введенных данных. Для вы

-полнения операции требуется внешний испол

-нитель, который предоставляет данные. Внеш

-ний исполнитель представляет собой про

-граммно-аппаратную среду, возможно управ

-ляемуюпользователем;

− связывание элементов сценария ;x y, где

x и y – элементы сценария, которые выпол

-няютсяпоследовательно.

− Операциинадатрибутами: ( , )a b

∨ – генерации случайного числа на

промежутке [ , ]a b ; × – умножения, – – вычита

-ния, = – сравненияна равенство, := – присвое

-ния; ( ; ; )÷ c t f – выборазначениякакв CLD.

Дляинтерпретации CSC необходимамодель исполнителя, которую представим ввиде базо

-войалгоритмическойструктуры (БАС):

, , , , , , , ,

A SC A SC A SC A SC A SC

С = M V Σ Λ ,

где MA SC, – неоднородный носитель, VA,SC

множество образующих алгоритмов, ΣA,SC

сигнатура и ΛA,SC – аксиоматика. Носитель

, ( , )

A SC SC SC A SC

MTN ∪ ΩCW, где

( A,SC)

Ω С все сформированные алгоритмами

алгоритмическойструктурыконструкции; W –

множество допустимых значений атрибутов.

Множествоалгоритмов

A,SC

V ⊃{ 0 1 ii jj

A A A ,A

A |,

1 2

0

2 i i

:A Z ,Z ,A

A | , 3| j, , ,

h q i f l l f

A 4| j, ,

i f f

A Ψ

5| , ,

j i f f

A Ψ 6 | ,b a

A 7| ,c, a b

A 8 | ,c, a b

A 9 | ,c, a b

A 10| ,p, a b

A

11|vc f t, , ,

A A12| ,x ℜ 13| ,,

i j i j l l l l

A } ∪VW ⊂ Ω(СA SC, ).

0 1 | ii, jj

A A A A

A ⋅ ,

1 2

: 0 2| i, , i

A Z Z A

A такие как в СA LD, ,

3| , ,

j h q i f l l f

A такой как 5 | j, ,

h q i f l l f

A в СA LD, , 4| j, i f f

A Ψ,

такой как 6| j, i f f

A Ψ в СA LD, , 5| j, i f f

A Ψ такой как

7| ij,

f f

A Ψ в СA LD, ;

6|ba

A , 7 |c, a b

A , 8 |c, a b

A , 9 |c, a b

A алгоритмы реа

-лизующие операции присваивания, сравнения на равенство, умноженияивычитаниясоответ

-ственно;

10|a bp,

A генерация случайного числа из про

-межутка [ , ]a b ;

11|vc f t, ,

A соответствует 8 |v, , c a b

(3)

12|x

A алгоритм вводаданных, x TSC, ℜ –

программно-аппаратнаясреда;

, 13| ,

i j i j l l l l

A алгоритм связывания элементов,

,

i j SC

l lM .

Конструктор сценариев представляет собой совокупность моделей сценариев. Он является интерпретацией формальной структурой CSC

алгоритмическойструктуры CA SC, :

, , ,

SC SC SC SC

C M

< =< Σ Λ >

, , , , , ,

A SC A SC A SC A SC

C =<M Σ Λ >>

, , , , ,

I ICSC =<MI SC ΣI SC ΛI SC >,

где I – операцияинтерпретации;

, 17

I SC SC

Λ = Λ ∪ Λ ; Λ =17 { 0

1 ,

( | i j );

i j A A A A

A ⋅ ↵ ⋅

1 2

: 0

2 , ,

( | i :);

i A Z Z A

A ↵ ( 3| j, , );

h q i f l l f

A ↵ ⇒ ( 4 | j, | );

i f f

A Ψ ↵ ⇒

5 ,

( | j || );

i f f

A Ψ ↵ ⇒ ( 6 | , : );b a

A ↵ = ( 7| ,c, );

a b

A ↵=

8 ,

( | ,c );

a b

A ↵× ( 9 | ,c, );

a b

A ↵− ( 10| ,p, );

a b

A ↵∨

11 , ,

( |v , );

c f t

A ↵÷ (A12| ,x ); ℜ ↵

, 13 ,

( |i j, ;);

i j l l l l

A ↵ } .

Алгоритм A12 может быть реализован как

C# generic функцияспеременнымколичеством параметров. Например:

public T GetParameter<T>(params object[] inputs)

, , , , ,

ICSC =<MI SC ΣI SC ΛI SC >

, ,

BMP BMP BMP BMP

K CSC =<MSC ΣSC ΛSC >

где

BMP BMP BMP

SC SC SC

MNT ; ,

BMP

SC I SC

Σ = Σ ;

, 18 19

BMP

SC I SC

Λ = Λ ∪ Λ ∪ Λ . Λ =<18 {

BMP SC

T =

{

PL

T ∪ ,x ,y root, DeleteAt, Resize, bpp, ,

width height } }, NSC ={ , SCELEMENT ,

SCENARIO }σ >.

Частичная аксиоматика Λ19 заключается

вследующем.

Внешним исполнителем задано: интервал количества применяемых правил Nmin,Nmax

и вероятности использования каждого правила

0,..., k

p=<p p >, где k – количество операций.

На основании чего определяется количество

выполнения каждой операции вектором

0,..., k

n=<n n >.

Формируемые сценарии обработки BMP

файлов в ОП включают следующие операции обработкиданных: изменениецветапикселяпо координатам (правило s3), получение значение цвета по координатам (s4), установка цвета пикселябелым (s5), изменениеобщегоразмера изображения (s6), получение ширины изобра

-жения (s7), изменение битности изображения

(s8), изменение ширины изображения (s9), из

-менение высоты изображения (s10), получение значения высотыизображения (s11), получение значения битности изображения (s12), измене

-ниекомпонент R, G, B пикселяпокоординатам

(соответственнокомпонентам s13, s14, s15).

Правила вывода имеют вид ψ =<i s gi, i>.

Зададимследующиеотношенияподстановки:

0 ( PLI);SCE A

s =<σ →Ω C N RIO>

1 d ;

s =<SCENARIOSCELEMENT

SCENARIO>

2 SCENARIOd SCELEMENT;

s =< → >

3 SCELEMENT d x y rg; ; ;

s =< → b

. [ , ] ;

root ImageData x y =rgb >

4 SCELEMENT d x; ;

s =< → y

[

]

. , ;

root ImageData x y >

5 SCELEMENT d x; ;

s =< → y

(

)

. . , ;

root ImageData DeleteAt x y >

6 SCELEMENT d w; ;

s =< → h

(

)

. . , ;

root ImageData Resize w h >

7 SCELEMEN d

s =< T

. . ;

root ImageHeader Width >

8 SCELEMENT d bpp;

(4)

;

. .

root ImageHeader BitsPerPixel bpp= >

9 SCELEMENT d width;

s =< →

;

. .

root ImageHeader Width width= >

10 SCELEMENT d heigh;

s =< → t

. . ;

root ImageHeader Height height= >

11 SCELEMEN d

s =< T

. . ;

root ImageHeader Height >

12 SCELEMEN d

s =< T

;

. .

root ImageHeader BitsPerPixel >

13 SCELEMENT d ; ; ;

s =< → r x y

. [ , ]. ;

root ImageData x y R r= >

14 SCELEMENT d ; ; ;

s =< → g x y

. [ , ]. ;

root ImageData x y G g= >

15 SCELEMENT d ; ; ;

s =< → b x y

. [ , ]. ;

root ImageData x y B b= >

Правиланадатрибутами:

0 [ min, max]; :i i

g =<N= ∨ N N n = ×N p >,

( 0,1,0); : 1

i i i i i

g =<d = ÷ n = n = − >n , при

[3...15] i= .

В результате реализации структуры BMP SC

C

формируется множество сценариев обработки данных 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;

Конструктор процесса адаптации пред -ставления СДна языке программирования. Бу

-дем специализировать ОКПС для представле

-нияадаптераСДследующейструктурой:

, , S АDS АDS, АDS, АDS C= 〈M Σ Λ〉 C = M Σ Λ ,

где

, , ,{ }

ADS ADS ADS ADS

Σ =< Ξ Θ Φ → >, ΞADS = ⋅

{ }

" " ,

20 21

ADS

Λ = Λ ∪ Λ ∪ Λ . ΛADS1={MADS

(TADSNADS), TADS ={Bi, i=1...14 }, NSC ={

i

α } } .

Специализированный процесс представляет собой процесс структурной адаптации СД ис

-пользующий критерий временной эффективно

-сти выполнения сценариев обработки данных

и генетическийалгоритм для случайного поис

-каоптимальнойСД.

Частичная аксиоматика Λ20 приведена ни

-же.

Множество TADS состоит из приведенных нижеалгоритмов:

, 1

S R

B Ρ Ρ

Ρ – получения S- и R- оценки показа -телей временной эффективности структур дан

-ных;

( ) ( )

2 SCPLi

C C

B – генерациимножествасценария;

( )

3

SC SC f

C

B – выбора сценария из множества сгенерированных;

4 SC

RP f

B – формирования процесса выполне

-ния RP из текста программной реализации

исценария;

5

t

B – получения текущеговремениизтай

-мера;

6 ,

PE RP

B – исполнения процесса выполнения сценария RP;

7

b a

B – реализация операции присвоениябез привязкиктипу;

8 beg end, , PL

t

t t f

B – вычислениявременивыполне

(5)

9 , ,

b S R

B

Ρ Ρ

Ρ – вычислениепризнаказавершения работыадаптера;

10 ,

r R

B – получение вектора случайных чи

-сел на основе вектора R, указывающего мак

-симальныезначениявектора Q;

,

11 ,a

B | j i r

Ρ

Ρ – принятие решения относительно особи на основе оценки a, true, если особь должнаостатьсявпопуляции;

12|a

B Ρ – подсчетоценкипопуляции;

3

1 2

13| ,

B υυ υ – скрещиваниеособи υ1 и υ2 вре

-зультирующуюособь υ3;

, 14|R f,QPL

B – выполнение генерации конструк

-цийтекстапреобразователя Ω(CPL).

(C )

15|Or LSD

B Ω – выполнение генерации конст

-рукцийлогическойструктурыданных, наосно

-ве правил, построенных внешним исполните

-лем Or;

(C )

16|fLSDPLI

B Ω – выполнение генерации конст

-рукций Ω(CPLI) наосновеконструкции fLSD;

17| LSD(CLSD)

f

B – выборконструкции логической структурыизмножества Ω(CLSD);

18|kk

B ′ – инкрементация значения перемен

-ной.

В приведенных алгоритмах Ω(CPLI) – дек

-ларацияклассовна языке C#, формируемаякак реализация преобразователя CPLI каждой

примитивной конструкции (с однородными

и неоднородными элементами), декларируется свой класс с соответствующими методами об

-работки данных; (ΩCSC) – множество про

-граммных сценариев обработки данных;

(CPL)

Ω – множествотекстовпрограммобъект

-но-ориентированных структур данных, форми

-руемых в результате реализации преобразова

-теля CPL, которые различаются вариантами физического представления в оперативной па

-мятилогическихструктурданных (размещение данныхвОПиметодыихобработки); Q – век

-тор с идентификаторами программных шабло

-нов, fPL – программный шаблон, fSC – сцена

-рий обработки данных, RP – процесс выпол

-нения сценария программным шаблоном, ℜ –

программно-аппаратнаясредаадаптацииструк

-тур данных, PE – выполнение сценария, r

вектор случайных чисел, Ρ – популяция, t

время выполнения сценария программной реа

-лизацией, закодированнойзаданнойособью, Ρ′

– популяция с соответствующими значениями временивыполнениясценария, Ρ− – сокращён

-ная популяция, Ρ*популяция с размножен

-ными особями, ,Ρi ti – особь, время соотв. этой особи, b – признак продолженияработы адап

-тера.

Операции связывания терминалов и нетер

-миналов x y⋅ , где x и y – алгоритмы, которые выполняютсяпоследовательно.

Для определения интерпретации структуры

ADS

C воспользуемся следующей базовой алго

-ритмическойструктурой:

, , , , , , , ,

A ADS A ADS АADS A ADS A ADS

C = M V Σ Λ ,

где MA ADS, – неоднородныйноситель, VA,ADS

множество образующих алгоритмов, ΣA,ADS

сигнатура и ΛA,ADS – аксиоматика. Носитель

, ( , )

A ADS ADS ADS A ADS

MTN ∪ Ω CW , где

( A,ADS)

Ω С все сформированные процессы

адаптации структур данных; W – множество допустимых значений атрибутов. Множество алгоритмов VA,ADS ⊃{ 0

1

i j i j A A A ,A

A |,

1 2

0

2 i i

:A Z ,Z ,A

A | ,

3|h qj, ,i, f l l f

A 4 | j, ,

i f f

A Ψ 5 | j, ,

i f f

A Ψ } ∪VW ⊂ Ω(СA ADS, ).

0 1 | ,

i j i j A A A A

A ⋅ ,

1 2

: 0 2| i, , i

A Z Z A

A такие как в СA LD, ,

3| , ,

j h q i f l l f

A такой как 5 | j, ,

h q i f l l f

A в СA LD, , 4| j, i f f

A Ψ,

такой как 6| j, i f f

A Ψ в СA LD, , 5| j, i f f

A Ψ такой как

7| ij,

f f

A Ψ в СA LD, ; 6 |i,,j i j l l l l

A алгоритм связывания

элементов, ,l li jMSC;.

Интерпретация конструктора процесса

адаптации:

, , ,

ADS ADS ADS ADS

C M

< =< Σ Λ >

, , , , , ,

A ADS A ADS A ADS A ADS

(6)

, , , , ,

I ICADS =<MI ADS ΣI ADS ΛI ADS >

где I – операция интерпретации;

, 22

I ADS ADS

Λ = Λ ∪ Λ ; ΛSC1={ 0

1 ,

( | i j );

i j A A A A

A ⋅ ↵ ⋅

1 2

: 0

2 , ,

( | i :);

i A Z Z A

A ↵ ( 3| j, , );

h q i f l l f

A ↵ ⇒ ( 4 | j, | );

i f f

A Ψ ↵ ⇒

5 ,

( | j || );

i f f

A Ψ ↵ ⇒ ,

6 ,

( |i j, )

i j l l l l

A ↵⋅ }

Рассмотримконкретизациюдляадаптера.

,

, ,

ICADS = MADS ΣADS ΛI ADS

, , , ,

K CK ADS = MADS ΣADS ΛK ADS

где MADSTADSNADS; ΣADS = ΣS ADS, ;

, 23 24

ADS I ADS

Λ = Λ ∪ Λ ∪ Λ .

22

Λ =<TADS ={TS ADS, }, NADS ={ σ, ν, δ,

µ}>.

Частичная аксиоматика Λ23 включает сле

-дующие конструктивные дополнения: n – кол

-вопервоначальных особей генетического алго

-ритма, задается внешним исполнителем; a –

параметрыгенерации случайных чиселособей,

задается внешним исполнителем на основании значенияатрибута R Ω(CPL).

Частичная аксиоматика Λ24 состоит из сле

-дующихотношенийподстановки.

Правило подстановки для подготовки про

-цессавыполненияадаптации:

(C )

(C )

15| LSD 17| LSD(CLSD) 16| LSDPLI f

Or f

BB B

σ → ⋅ ⋅ ⋅

( ) ( )

( )

2| SCPLI 3| SCSC

C f

C C

BB ⋅ϕ⋅ κ ⋅ ξ.

Правило для формирования вектора R для определения максимальных значений вектора

Q:

0

, 14|R f,QPL

B

ϕ → .

Генерация первой популяции выполняется следующимправилом:

,

10 , 14 ,

1

| | i

n

R Q

R Q

i

B B Ρ =

κ →

⋅ .

Правило для определения времени выпол

-нения сценария для каждой СД, зашифрован

-нойособьюпопуляции:

4 , 5

1 6 , 5 8 ,

| | | | | beg SC i i end beg end t RP n f t t PE

i RP t t

B B

B B B

Ρ ℜ

=

×

⎜ ⎟

ξ → ς

×

⎝ ⎠

Определение продолжения работы адаптера выполняетсяпоследующемуправилу:

, 0

1|S R 9|b,S R, 2 |b true,{ }

B Ρ Ρ B A

Ρ Ρ

ν⋅τ⋅ξ

Ρ Ρ

ς → ⋅ ⋅ .

Правило для сокращения популяции на ос

-нове усредненной оценки времени выполнения сценария всей популяции. Здесь ο – средняя оценкавременивсейпопуляции:

18

, 0 |

12 7 0 11 , 2 ,{ }

1

| | (B | k | kk )

i n b B k t true i

B οΡ B ΡΡ οA =

ν → ⋅ ⋅

⋅ ×

7| 7|nk

B ΡΡB

× ⋅

Генерацияновых особей, наоснове сущест

-вующих в популяции, выполняется по следую

-щемуправилу:

*

*

7 0 13 , 18 7 7

1 1

| ( | k | ) | |

i j

n n

k k n

k k

i j

B B ΡΡ Ρ B B ΡΡ B = =

τ → ⋅

∏∏

⋅ ⋅ ⋅ ;

Реализация процесса адаптации выглядит следующимобразом:

(C )

15|Or LSD

B17| LSD(C ) LSD f

B

⋅ (C )

16|fLSDPLI

B

2| (( SC))

PLI C C

B

( )

3|fSCCSC

B

⋅ 0

, 14|R f,QPL

B

10 ,

1 ( | n Q R i B = ⋅

,

14|R,Qi)

B Ρ

⋅ 4 , 1 ( | SC i n RP f i B Ρ =

B5|tbeg

ℜ ⋅B6|PERPB5|ℜtend 8|ibeg end, )

t

t t

B

, 1|S R

B Ρ Ρ

Ρ

9|b, ,

S R

B Ρ Ρ Ρ

⋅ 0 19

2 |b trueB,{ }

A

B19= B12|οΡB7 0|k

18

, 0 |

11 , 2 ,{ }

1

(B | k | kk )

i n b B t true i A − Ρ Ρ ο = ⋅ ⋅

B7|ΡΡ− ⋅B7|knB7 0|k

*

*

13 , 18 7 7

1 1

( | k | ) | |

i j

n n

k n

k k

i j

B ΡΡ Ρ B B ΡΡ B = = ⋅ ⋅ ⋅ ⋅

∏∏

1 ( n i=

4|SC, i RP

f

B Ρ 5|beg 6| , 5|end 8|i , )

beg end

t PE t t

RP t t

B B B B

⋅ ⋅ ⋅ ⋅

19

, 0

1|S R 9|b,S R, 2 |b trueB,{ }

B Ρ Ρ B A

Ρ Ρ

Ρ Ρ

⋅ ⋅ ⋅

Циклический процесс структурной адапта

-циипредставленияСДвключает:

− синтезСДс разнойпрограммнойреализа

(7)

− выполнение сценария с использованием синтезированногопрограммногокода;

− анализвременнойэффективностиивыбор лучшейпрограммнойреализацииСД.

Синтез СД заключается в генерации про

-граммного текста библиотеки классов реали

-зующей заданную логическую структуру дан

-ных, и ее компиляции в промежуточный или бинарныйкод.

Научнаяновизнаипрактическая

значимость

Впервые предложена конструктивная мо

-дель процессов разработки и адаптации струк

-тур данных к различным программно

-аппаратным средам. При этом адаптируется размещение данных в ОП и алгоритмы их об

-работки.

Применение конструктивизма в моделиро

-вании позволило в рамках единого подхода

иприменяемыхсредствсвязать моделиданных и алгоритмы их обработки с критериями эф

-фективности.

Усовершенствована методика формирова

-ния системы КПС, механизмы, связи между взаимодополняющими друг друга КПС. Моди

-фикация конструктора и преобразователей по

-зволяеткореннымобразом изменятьиисследо

-ватьпроцессадаптации

Разработанная модель позволяет автомати

-зировать процессы рационального размещения данных в ОП, что, в свою очередь, повышает временную эффективность программ со значи

-тельной долей обработки больших и очень большихобъемовданных.

Выводы

Формализацияпредставленияданныхнало

-гическом уровне, преобразование логического представления СД в текст программы, конст

-руирование текста программы сценариев, про

-цесс адаптации выполнены средствами конст

-рукционно-продукционныхструктур.

Модификация конструктора и преобразова

-телей позволяет коренным образом изменять процессадаптации:

− формировать на логическом уровне необ

-ходимыеСД;

− применятьразличные подходыиспособы формирования;

− совершенствовать алгоритмы адаптации

иприменятьразличныекритериикачестваСД.

При данном подходе разработчику про

-граммных систем достаточно в редакторе Dia [11, 12] построить логическую структуру дан

-ных, задать параметрысценариев. Тогдареали

-зация системы конструктивно-продукционных структур сформирует тексты методов доступа

к даннымна ЯП C# дляадаптированного к оп

-ределенной программно-аппаратной среде раз

-мещенияданныхвоперативнойпамяти.

В соответствиис современнымипарадигма

-мипрограммирования [9] разработанысоответ

-ствующие инструментальные программные

средства [11, 12].

Универсализм дает возможность применять предложенный подход для улучшения времен

-ных характеристик программных средств,

предполагающих значительные временные за

-траты. Этот подход позволяет существенно улучшить временные характеристики за счет рациональногоразмещенияданныхвОП.

СПИСОКИСПОЛЬЗОВАННЫІХ

ИСТОЧНИКОВ

1. Акуловский, В. Г. Алгебра для описания дан

-ных в композиционных схемах алгоритмов /

В. Г. Акуловский // Проблемипрограмування.

– 2012. – № 2-3. – С. 234–240.

2. Акуловский, В. Г. Основы алгебры алгорит

-мов, базирующейсянаданных / В. Г. Акулов

-ский // Проблеми програмування. – 2010. –

№ 2−3. – С. 89–96.

3. Алгеброалгоритмическиемоделииметодыпа

-раллельногопрограммирования / Ф. И. Андон,

А. Е. Дорошенко, Г. Е. Цейтлин, Е. А. Яценко. – Киев : Академпериодика, 2007. – 634 с. 4. Глушков, В. М. Алгебра. Языки. Прог

-раммирование / В. М. Глушков, Г. Е. Цейтлин,

Е. Л. Ющенко. – Київ : Наук. думка, 1978. – 319 с.

5. Данные в языках программирования: абстрак

-ция и типология / под ред. В. Агафонова. –

Москва : Мир, 1982. – 328 с.

6. Дорошенко, А. Е. Алгебра алгоритмов с дан

-ными и прогнозирование вычислительного процесса / А. Е. Дорошенко, В. Г. Акуловский

// Проблеми програмування. – 2011. – № 3. –

С. 3–10.

7. Дрождин, В. В. Анализэффективностииэволю

-цияструктурданных / В. В. Дрождин, В. М. Во

-лодин // Проблемыинформатикивобразовании,

(8)

Междунар. науч.-техн. конф. / Приволж. Дом знаний. – Пенза, 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 Univer-sity-SCIENCE C. – 2012. – Vol. 13. – Iss. 3. – P. 232–237. doi: 10.1631/jzus.c1100193.

14. Attali, D. Efficient Data Structure for

Represent-ing and SimplifyRepresent-ing Simplicial Complexes in High Dimensions / D. Attali, A. Lieutier, D. Salinas // Intern. J. of Computational Geometry & Applica-tions. – 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 : Pear-son Education Inc., 2014. – 656 p.

В

.

І

.

ШИНКАРЕНКО

1*

,

Г

.

В

.

ЗАБУЛА

2*

1*Каф. «Компютерніінформаційнітехнології», Дніпропетровськийнаціональныйуніверситетзалізничного

транспортуіменіакадемікаВ. Лазаряна, вул. Лазаряна, 2, Дніпропетровськ, Україна, 49010, тел. +38 (056) 373 15 35, ел. пошта [email protected], ORCID 0000-0001-8738-7225

2*Каф. «Компютерніінформаційнітехнології», Дніпропетровськийнаціональныйуніверситетзалізничного

транспортуіменіакадемікаВ. Лазаряна, вул. Лазаряна, 2, Дніпропетровськ, Україна, 49010, тел. +38 (056) 373 15 35, ел. пошта [email protected], ORCID 0000-0002-8607-5729

КОНСТРУКТИВНА

МОДЕЛЬ

АДАПТАЦІЇ

СТРУКТУР

ДАНИХ

В

ОПЕРАТИВНІЙ

ПАМ

ЯТІ

:

ЧАСТИНА

II.

КОНСТРУКТОРИ

СЦЕНАРІЇВ

І

ПРОЦЕСІВ

АДАПТАЦІЇ

Мета. Друга частина статті завершує представлення системи конструктивно-продукційних структур

(КПС), що моделюють адаптацію структур даних в оперативній пам’яті (ОП). Мета другої частини дослідженняполягає в розробці моделіпроцесу адаптації даних вОП, щофункціонують у різноманітних програмно-апаратних середовищах, та сценаріїв процесів обробки даних. Методика. Для впровадження мети застосована методологія математико-алгоритмічного конструктивізму. У даній частині роботи, на основіузагальненоїКПС, шляхом їїтрансформаційнихперетвореньрозробляютьсяконструкторисценаріїв

(9)

адаптації – адаптованийбінарнийкод обробки структурданих. Наукова новизна. Вперше запропонована конструктивнамодель процесу обробки даних – сценарію, що враховує порядок та кількість звернень до різнихелементівструктурданих, атакожадаптаціїструктурданихдорізноманітнихпрограмно-апаратним середовищ. При цьому адаптується розміщення даних в ОП та алгоритми їх обробки. Застосування конструктивізму в моделюванні дозволило в рамках єдиного підходу і застосовуваних засобів зв’язати моделі даних та алгоритми їх обробки з критеріями ефективності. Розроблені моделі дозволяють досліджувати процес адаптації та керувати ним. Практична значимість. Розроблені модель та методи дозволяють автоматично змінювати розміщення даних в ОП та їх алгоритмічні зв’язки в залежності від експлуатаційних потреб, конструктивних особливостей апаратних засобів і програмного середовища функціонування.

Ключові слова: структура даних; конструктивно-продукційна структура; адаптація; конструктор; пере

-творювач

V. I. SHYNKARENKO

1*

, H. V. ZABULA

2*

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

environ-ments and scenarios of data processing. Methodology. The methodology of mathematical and algorithmic

construc-tionism 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, spe-cialized 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

struc-tures. 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 con-structor 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

de-scribe the data in the compositional schemes of algorithms]. Problemy prohramuvannia – Programming

(10)

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

parallelnogo programmirovaniya [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.

Lan-guages. Programming]. Kyiv, Naukova dumka Publ., 1978. 319 p.

5. Agafonov V. Dannyye v yazykakh programmirovaniya: abstraktsiya i tipologiya [Data in programming

lan-guages: 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

effective-ness and evolution of data structures]. Sbornik statey IX Mezhdunarodnoy 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. 33-44.

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»

multi-processor 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

intel-lect – 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

Com-plexes 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

References

Related documents

The study has been focused on the concept of airport environmental capacity: a list of “green airports” case studies has been selected in order to identify methods, tools and

MOD CELLRACTHD:LocalCellId=2, GoldServiceArpThd=5, SilverServiceArpThd=10, Qci1HoThd=90, Qci2HoThd=90, Qci3HoThd=90, Qci4HoThd=90, NewGoldServiceOffset=5,

In continuation to our interests in the synthesis of pyra- zine compounds [ 21 – 24 ] and the enormous applications of pyrazine derivatives in a number of fields prompted us

(2008) also used Malmquist index to examine the effects of the ownership on efficiency, efficiency change, technological progress, and productivity growth of the Indian

Цифровая модель явления (ЦМЯ) или процесса – дискретная модель пространственного явления (процесса), предназначенная для хранения и обработки

Разработана технология формирования кодовой кон- струкции для селективного метода обработки видео- данных, которая базируется на оценке кодового

Такой эффект возникает на контрасте возможностей управления событиями вирту- ального мира относительно позиций сознания-конструктора (действующего в

В этом случае конкурентоспособность, представленная в виде системы способностей (взаимодействующих по принципу взаимосодействия), является свойством