Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multiple Data Structuring I. N. Skopin Possibilities of working with data possessing several structures are discussed. Such work is shown to require development.

Similar presentations


Presentation on theme: "Multiple Data Structuring I. N. Skopin Possibilities of working with data possessing several structures are discussed. Such work is shown to require development."— Presentation transcript:

1 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.

2 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

3 Illustrations Multiple Data Structuring and computational models 1.Styling 2.Parallelization 3.Recognition in culturological and linguistic problems — real application area today 4.Not indicated areas: genetic code recognition for the GNA, … Issue: lack of development Multiple data structuring problems

4 Programming styles and structuring. Program and data structuring from three points of view Task: output ( sin (input (x)) ) b)Functional point of view Input sin Arguments Functions X c)Event-based point of view Events A: Input Events Value B: sin X Value X C : Generation of X A: Input B: sin The work is fulfilled State 1State 2 Input sin X Memory Value a)Operational point of view: a)Memory as a unique centralized warehouse is required only for of the operational programming b)Specifying arguments of functions only c)Data are transferred as messages about the events the processes are waiting for

5 Structuring and actions Additional structures are either useful neutral excessive Using 1 Using 2 should be saved can be both saved and discarded should be discarded 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. Beaded structures: Components of beaded structures may be associated with very different ways of extraction and identification of structural units.

6 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 normalBlack italicsRed italicsRed normal I: Black normalRed normal Black italicsRed italics II: Black normalBlack italics Red italicsRed normal Program 1: Black normal Black italics Red italics Red normal Program 2: Black normal Black italics Red italics Red normal What of the structures is main?

7 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 (!)

8 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

9 Multiple structuring in computational problems a ii + a i-1i + a i-1i-1 + a ii-1 a ii =————————— 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 := [A 1 ]  (( A + + A - + A + A ) / 4) Alignment

10 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 and automatic selection the library subroutine Surrogate (but still useful) opportunities — generic names and overloading

11 Requirements on correctness of work with multiple structures Abstraction function A : rep A, n representations of the abstract object: rep 1, …, rep n : A i : rep i A, i  {1, …, n} Coordination functions ϕ ij ϕ ij : rep i rep j, i,j  {1, …, n}

12 Representation coordination diagrams Early coordination setting, which activates evaluation of the function ϕ ij when the correspondence between rep i and rep j is broken; Late coordination setting, which activates evaluation of ϕ ij when it is required to calculate the operation with rep j but the correspondence is broken; Background coordination setting, which activates evaluation of ϕ ij in the background mode in order to recover the broken correspondence in advance; Forced coordination setting, when the evaluation of the function ϕ ij is activated explicitly by the user. AjAj AiAi  ij A rep j rep i oo  AjAj AiAi  ij A rep j rep i A'A' For all operations O applicable both to A and A' and producing a result from ℜ a) Strict correspondenceb) Soft, or operational, correspondence

13 Transformation diagrams Let T be a data transformation and T r i its implementation, where i is a number of rep i. So T : A A T ◄abstract transformation T R : rep i rep T i ◄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 (a) Strict correspondence For all operations O applicable both to AT and AT' and producing a result from ℜ AjAj AiAi A rep i rep T i TRiTRi ATAT T AiAi rep T j  ij o o AiAi A rep i rep T i TRiTRi ATAT T AiAi rep T j  ij AjAj AT'AT'  (b) Soft, or operational, correspondence

14 Q&A


Download ppt "Multiple Data Structuring I. N. Skopin Possibilities of working with data possessing several structures are discussed. Such work is shown to require development."

Similar presentations


Ads by Google