Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar.

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Database Architectures and the Web
JavaSpaces and TSpaces Theresa Tamash CDA 5937 November 4, 2002.
Some questions o What are the appropriate control philosophies for Complex Manufacturing systems? Why????Holonic Manufacturing system o Is Object -Oriented.
SELBO Agent Ivan Minov University of Plovdiv “Paisii Hilendarski“
Prentice Hall, Database Systems Week 1 Introduction By Zekrullah Popal.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Lime Team Adam Bazinet Hau San Si Tou. What is LIME?  LIME stands for Linda In a Mobile Environment Linda : a shared memory computing model developed.
ADA Langage Report Ligia Nitu. Introduction Ada is the most extensive and expensive computer language ever developed. Ada is the most extensive and expensive.
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Authorizing Grid Resource Access and Consumption Erik Elmroth, Michał.
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
Introduction to Databases
Physical Database Monitoring and Tuning the Operational System.
Programming Languages Structure
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
An Agent-Oriented Approach to the Integration of Information Sources Michael Christoffel Institute for Program Structures and Data Organization, University.
Information Retrieval in Distributed Environments Based on Context- Aware, Proactive Documents Current Research Information Systems (CRIS 2002) August.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Service Oriented Enterprise CS409 Application Services Even Semester 2007.
Lecture 2 – MapReduce CPE 458 – Parallel Programming, Spring 2009 Except as otherwise noted, the content of this presentation is licensed under the Creative.
Hossein Bastan Isfahan University of Technology 1/23.
MIS 710 Module 0 Database fundamentals Arijit Sengupta.
Introduction to Information System Development.
Operating systems CHAPTER 7.
1.eCognition Overview. 1 eCognition eCognition is a knowledge utilisation platform based on Active Knowledge Network technology eCognition covers the.
Mobile Agent Technology for the Management of Distributed Systems - a Case Study Claudia Raibulet& Claudio Demartini Politecnico di Torino, Dipartimento.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Software Agents: An Overview by Hyacinth S. Nwana and Designing Behaviors for Information Agents by Keith Decker, Anandeep Pannu, Katia Sycara and Mike.
Relational Databases and Statistical Processing Andrew Westlake Survey & Statistical Computing
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Wireless Sensor Network Wireless Sensor Network Based.
- Ahmad Al-Ghoul Data design. 2 learning Objectives Explain data design concepts and data structures Explain data design concepts and data structures.
Cohesion and Coupling CS 4311
Coordination Models and Languages Part I: Coordination Languages and Linda Part II: Technologies based on Tuple space concept beyond Linda Part III: Comparison.
Access Control For Mobile Agents Sudipta Rakshit University of Central Florida, Spring 2002.
Relational Database vs. Data Files By Willa Zhu JISAO/UW - PMEL/NOAA March 25, 2005.
Cloud Networked Robotics Speaker: Kai-Wei Ping Advisor: Prof Dr. Ho-Ting Wu 2013/04/08 1.
Distributed Databases
Characteristics of the Database Approach (Difference between traditional file processing and database approach) Redundancy Self-Describing nature of a.
1 Welcome : To the third learning sequence “ DB ACTORS “ Present learning: We shall explore the following topics: - DB limitations. - DB actors. - DB Administrator.
Operating Systems Objective n The historic background n What the OS means? n Characteristics and types of OS n General Concept of Computer System.
Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
MNP1163/MANP1163 (Software Construction).  Minimizing complexity  Anticipating change  Constructing for verification  Reuse  Standards in software.
Data Design and Implementation. Definitions Atomic or primitive type A data type whose elements are single, non-decomposable data items Composite type.
Aspect Oriented Security Tim Hollebeek, Ph.D.
Network Objects Marco F. Duarte COMP 520: Distributed Systems September 14, 2004.
CISC 879 : Advanced Parallel Programming Rahul Deore Dept. of Computer & Information Sciences University of Delaware Exploring Memory Consistency for Massively-Threaded.
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
FUNCTIONS (C) KHAERONI, M.SI. OBJECTIVE After this topic, students will be able to understand basic concept of user defined function in C++ to declare.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
Evaluation Forms for Blockchain- Based System ver. 1.0
SOFTWARE DESIGN AND ARCHITECTURE
System Design.
Database Actors Welcome : To the third learning sequence “ DB ACTORS “
#01 Client/Server Computing
Enabling Collaboration with IT
 DATAABSTRACTION  INSTANCES& SCHEMAS  DATA MODELS.
Database Systems Chapter 1
Database Architecture
Coordination Models and Languages
#01 Client/Server Computing
Presentation transcript:

Coordination Languages and their Significance Paper by: David Gelernter Nicholas Carriero Presented by: Varuna Iyengar

Outline What is a Computational and a Coordination model? Background on Linda Integration or separation arguments Ensembles Arguments in favor of separation Basic claims with regard to separation Portability and heterogeneity Economy and Flexibilty 1. Interpolation 2. Extrapolation Conclusion

Computation and Coordination languages A computational language is something that allows the programmer to build a single computational activity. A coordination language, is the glue that binds separate activities into an ensemble. It provides operations to create computational activities and to support communication among them. An example of a coordination language is Linda.

Linda Linda is a model of coordination and communication among several parallel processes operating upon objects stored in and retrieved from shared, virtual, associative memory. This model is implemented as a "coordination language" in which several primitives operating on ordered sequence of typed data objects, "tuples," are added to a sequential language, such as C, and a logically global associative memory, called a tuplespace, in which processes store and retrieve tuples. The original Linda model requires four operations that individual workers perform on the tuples and the tuplespace: in atomically reads and removes—consumes—a tuple from tuplespace rd non-destructively reads a tuplespace out produces a tuple, writing it into tuplespace eval creates new processes to evaluate tuples, writing the result into tuplespace

Arguments in favor of separation of coordination and communication languages Asynchronous ensembles: way of the future. Computational problems are orthogonal to problems of coordination among active agents. There’s a need to define general purpose coordination languages, as these languages support full range of ensembles, from parallel applications, distributed systems etc..

Ensembles An Asynchronous ensemble is a collection of asynchronous activities that communicate. The definition of an ensemble is not restricted to distributed systems, parallel applications. It includes systems communicating through time. Eg., a file system.

Orthogonality A computational language by itself is useless! So is a coodination language! All useful computing depends on a combination of the two

Generality The needs of say, a distributed system builder may be different from that of a parallel applications builder. So it is important to have different models for different systems.

Further arguments in favor of separation and generality: Separation: Portability and support for heterogeneity Generality: Economy and flexibility

Portability Reusability or recycle-ability When moving from one platform to a different one, we would like to retain as much as possible. An integrated language sacrifices computing –language portability completely and in many cases compromises the other varieties.

Heterogeneity Generalization of portability If our systems works well with a system X or system Y, it may very well work well with a system composed of both X and Y

Economy and Flexibility Simple economical languages tend to be supple and powerful, while complex ones are generally rigidly inflexible. By the means of a general purpose coordination language, we can bridge the gap that separates massive parallelism from task oriented parallelism Two possibilities: interpolation and extrapolation

Interpolation Why do we need more than one communication systems to handle something that can be accomplished with one system alone?

Because… Projects such as realtime data fusion and expert databases “refuse” to be categorized. That is, they require coordination tools to work in different settings.

Extrapolation Consider the communication between people in a system like Linda. Instead of processes, imagine people communicating in Linda. The system now consists of a tuple space surrounded by people who release, read and retrieve tuples directly. Also, each person may be represented by a software system

Therefore, we can now build an information sharing software, in which each tuple is an information object. To sum it up– when we introduce general purpose coordination language, it results in the broadening of the intellectual scope.

Conclusion Research in this area would lead to the development of a tool of great power and significance. It would also provide a better understanding of the root problems of Computer Science

References

Questions?