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

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Computer Architecture
System Development Life Cycle (SDLC)
879 CISC Parallel Computation High Performance Fortran (HPF) Ibrahim Halil Saruhan Although the [Fortran] group broke new ground …
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
1 CS101 Introduction to Computing Lecture 17 Algorithms II.
Transformations We want to be able to make changes to the image larger/smaller rotate move This can be efficiently achieved through mathematical operations.
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Lecture 1: Overview of Computers & Programming
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
1 Coven a Framework for High Performance Problem Solving Environments Nathan A. DeBardeleben Walter B. Ligon III Sourabh Pandit Dan C. Stanzione Jr. Parallel.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Control of Multiple-Input, Multiple-Output Processes
Chapter 9 Gauss Elimination The Islamic University of Gaza
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Linear Algebraic Equations
Introduction To System Analysis and Design
Exceptions in Java Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Chapter 1 Program Design
VECTORS AND THE GEOMETRY OF SPACE Vectors VECTORS AND THE GEOMETRY OF SPACE In this section, we will learn about: Vectors and their applications.
Software Life Cycle Model
1 Chapter 2 Matrices Matrices provide an orderly way of arranging values or functions to enhance the analysis of systems in a systematic manner. Their.
Lecture 18 Last Lecture Today’s Topic Instruction formats
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Introduction To System Analysis and design
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
OpenCL Introduction A TECHNICAL REVIEW LU OCT
JS Arrays, Functions, Events Week 5 INFM 603. Agenda Arrays Functions Event-Driven Programming.
Systems and Matrices (Chapter5)
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
ILLUSTRATING INTEGERS INTRODUCTION TO INTEGERS Integers are positive and negative numbers. …, -6, -5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5, +6, … Each.
Chapter 3 Vectors. Coordinate Systems Used to describe the position of a point in space Coordinate system consists of a fixed reference point called the.
An Introduction to Programming and Algorithms. Course Objectives A basic understanding of engineering problem solving process. A basic understanding of.
Vectors and the Geometry of Space 9. Vectors 9.2.
Copyright © Cengage Learning. All rights reserved. 12 Vectors and the Geometry of Space.
Introduction To System Analysis and Design
Chapter 3 Vectors. Coordinate Systems Used to describe the position of a point in space Coordinate system consists of a fixed reference point called the.
5.6 Equations of Equilibrium
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Vector Application : A UML Example © Dr. David A. Workman School of EE and CS University of Central Florida Feb. 8, 2001.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Progress in identification of damping: Energy-based method with incomplete and noisy data Marco Prandina University of Liverpool.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
The Software Development Process
CSC480 Software Engineering Lecture 10 September 25, 2002.
Texas A&M University, Department of Aerospace Engineering AN EMBEDDED FUNCTION TOOL FOR MODELING AND SIMULATING ESTIMATION PROBLEMS IN AEROSPACE ENGINEERING.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Chapter 9 Gauss Elimination The Islamic University of Gaza
1 Lecture 3 Post-Graduate Students Advanced Programming (Introduction to MATLAB) Code: ENG 505 Dr. Basheer M. Nasef Computers & Systems Dept.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
CMSC 345 Fall 2000 Requirements Expression. How To Express Requirements Often performed best by working top- down Express general attributes of system.
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
LECTURE 4 Logic Design. LOGIC DESIGN We already know that the language of the machine is binary – that is, sequences of 1’s and 0’s. But why is this?
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
Extension du formalisme SES pour l’intégration de la hiérarchie d’abstraction et la granularité temporelle au sein de la modélisation et la simulation.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Vectors and the Geometry
A Signal Processing Approach to Vibration Control and Analysis with Applications in Financial Modeling By Danny Kovach.
What to Look for Mathematics Grade 4
What to Look for Mathematics Grade 5
Concept Development and End Product Description
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 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

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

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.

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?

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

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

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}

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

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

Q&A