- By
**art** - Follow User

- 100 Views
- Uploaded on

Download Presentation
## Multiple Data Structuring

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Multiple Data Structuring

I. N. Skopin

Possibilities of working with data possessing several structures are discussed. Such work is shown

to require development of language support tools

Скопин .Н. Множественное структурирование данных — Программирование, 2006, т.32, № 1

Skopin, I. N.Multiple Data Structuring— Programming and Computer Software, 2006, Vol. 32, No. 1, pp. 44–55.

Introduction

- Data processing can be viewed as a transformation of structures.
- The notion of a data structure has no sense without a particular kind of the data processing
- Processing structure is more correct than data structure
- Standardization of the structuring & data are passive and programs are active ⇒ this is traditional point of view
- It seems reasonable to use the structuring that better suits the problem instead of adjusting solutions to one data structure

So we consider multiplicity of data structuring as a more suitable base of algorithms representation

Illustrations

Multiple Data Structuring and computational models

- Styling
- Parallelization
- Recognition in culturological and linguistic problems —real application area today
- Not indicated areas: genetic code recognition for the GNA, …

Issue: lack of development Multiple data structuring problems

- Functional point of view

Memory

Input

Value

sin

Arguments

- Event-based point of view

Input

sin

Functions

C: Generation of X

C:Generation of X

State 1

State 2

Events

Events

The work is fulfilled

A: Input

A: Input

B: sin

B: sin

The work is fulfilled

Value

Value

X

X

X

X

Programming styles and structuring. Program and data structuring from three points of viewTask: output ( sin (input (x)) )

- Memory as a unique centralized warehouse is required only for of the operational programming
- Specifyingarguments of functionsonly
- Data are transferred as messages about the events the processes are waiting for

Structuring and actions

Using 1

Additional structures are either

- useful
- neutral
- excessive

Using 2

Using 2

Redundancies of structures

They should be put away upon termination of the current use of data, since this is just the latest moment when the excessive structuring

is yet known for sure.

should be saved

can be both saved and discarded

should be discarded

Beaded structures:

Components of beaded structures may be associated

with very different ways of extraction and identification

of structural units.

Structure superposition

- How to take into account the fact that transformation of one structure affects other structures?
- Can structural units related to different kinds of structuring be used in one processing?

Black normal Black italics Red italics Red normal

I:

Black normal Red normalBlack italics Red italics

II:

Black normal Black italics Red italics Red normal

Program 1:

<FONT color="black"> Black normal <i> Black italics </FONT><FONT color="red"> Red italics </i> Red normal </FONT>

Program 2:

<FONT color="black"> Black normal<i>Black italics</i> </FONT><FONT color="red"> <i> Red italics </i> Red normal </FONT>

- What of the structures is main?

Dissolving data in a program and a program in data

Two strategies:

- explicit specification of structural units taking part in the transformation
- separate description of the transformation in the form of a program capable of receiving any set of data structured appropriately
- try to (partially)
- dissolve data in the program ◄ static calculations
- dissolve program in data ◄ mix calculations, transductors, determinatives
- Static and dynamic dissolving
- Sentential style of programming / But it does not try to solve the problem of supporting multiple data structuring!

◄regularity of the structure (!)

Separated structures and their coordinated transformations

- It is required to make provision for separate formation of structural division of data and support of separate operation with various structures ⇒ separated structures
- Coordinated transformation: variation of data in the framework of one structuring should be accompanied by the corresponding variations of other structures (if it is considered to be impossible then prohibition of the modification initiated by the transformation in the framework of the structure selected for this purpose)
- two kinds of actions are allowed:
- transfer to another structure for specifying the desired transformation
- formation of new data that lack the structuring broken upon the transformation.
- Without special care about autonomous existence of the new and old data, there is a risk of information corruption.
- Text handling example

Multiple structuring in computational problems

aii + ai-1i + ai-1i-1 + aii-1

aii = —————————

4

- The n-dimensional vector of elements of the principal diagonal (A)
- Two vectors of length n – 1 containing elements of the diagonals located over and below the principal diagonal (A+, A-)
- A := [A1](( A++ A-+ A+A ) /4)
- Alignment

Structuring combining fragments of data structures

- “Multiply the equation by this number (in this example, it does not matter what the number is) and add it to another equation. As a result, we obtain an equation with the zero leading coefficient.”

VS

- Fortran, C++, … programs
- Elements of structure: equations (not arrays)
- LAPACK andautomatic selection the library subroutine
- Surrogate (but still useful) opportunities — generic names and overloading

Requirements on correctnessof work with multiple structures

- Abstractionfunction

A : repA,

- n representationsof the abstract object: rep1, …, repn:

Ai : repiA, i {1, …, n}

- Coordination functions ϕij

ϕij : repirepj, i,j {1, …, n}

Representation coordination diagrams

ij

ij

repi

repj

repi

repj

Ai

Aj

Ai

Aj

A

A

A'

- Early coordination setting, which activates evaluationof the function ϕij when the correspondencebetween repiand repj is broken;
- Late coordination setting, which activates evaluationof ϕij when it is required to calculate the operationwith repj but the correspondence is broken;
- Background coordination setting, which activatesevaluation of ϕijin the background mode in order torecover the broken correspondence in advance;
- Forced coordination setting, when the evaluation of the function ϕij is activated explicitly by the user.

o

o

For all operations O applicable both to A and

A' and producing a result from ℜ

a) Strictcorrespondence

b)Soft, or operational, correspondence

repi

repTi

ij

Ai

Ai

repTj

Aj

T

AT

A

TRi

repi

repTi

ij

Ai

Ai

repTj

Aj

T

AT

AT'

A

o

o

Transformation diagramsLet T be a data transformation and Tri its implementation, where i is a number of repi. So

T :AAT ◄abstract transformation

TR:repirepTi◄concrete transformation

- This is a formalization of the idea of the algorithm selection based on the knowledge of the structure of the processed material
- Correctness condition for a selection:

it is required to support commutatively of the transformation diagrams at the library level

For all operations O

applicable both to AT and

AT' and producing a result from ℜ

(a) Strict correspondence

(b) Soft, or operational,correspondence

Download Presentation

Connecting to Server..