1 / 14

Multiple Data Structuring

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

art
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 • 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

  4. Operational point of view: • 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 view Task: 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

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

  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 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?

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

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

  11. 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}

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

  13. TRi 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 diagrams Let 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

  14. Q&A

More Related