Goal: Programming Computational Matter Develop engineering principles and programming techniques for directing the behavior of systems composed of myriad.

Slides:



Advertisements
Similar presentations
New Directions for DARPA ISAT Ad Hoc Working Group on DARPA Futures Initial Draft: July Update: July x 2 Beyond Strategic Computing:
Advertisements

1.1 Aims of testing Testing is a process centered around the goal of finding defects in a system. We are currently unable to produce defect-free systems.
Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University 1 Pittsburgh, PA Dennis Smith, David Carney and Ed Morris DEAS.
An Introduction to Amorphous Computing Daniel Coore, PhD Dept. Mathematics and Computer Science University of the West Indies, Mona.
Introduction to Cyber Physical Systems Yuping Dong Sep. 21, 2009.
Social Entrepreneurship Complexity & Copyright © 2008 James K Hazy All Rights Reserved.
Chapter 4 DECISION SUPPORT AND ARTIFICIAL INTELLIGENCE
Software Engineering and Design Principles Chapter 1.
Programmable Self-Assembly Prashanth Bungale October 26, 2004 “Programmable Self-Assembly Using Biologically-Inspired Multiagent Control”, R. Nagpal, ACM.
Introduction and Overview “the grid” – a proposed distributed computing infrastructure for advanced science and engineering. Purpose: grid concept is motivated.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Programming Methodology for Biologically-Inspired Self-Assembling Systems Otherwise known as “Amorphous Computing” or “Swarm Computing” Radhika Nagpal.
Intelligence without Reason
Grand Challenges (I)  Spying on Cells -- Mechanisms of interacting molecular functions leading to new engineering designs of sensing events -- Nano sensors.
Report WG1 Software-Intensive Systems and New Computing Paradigms Cannes November 12-14, 2008 WG Leader: Martin Wirsing WG Depu ty Leaders: Jean-Pierre.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
1 April 1998DARPA Ultrascale Computing Program 1 AMORPHOUS COMPUTING Harold Abelson, Thomas F. Knight, and Gerald Jay Sussman Massachusetts Institute of.
David L. Spooner1 IT Education: An Interdisciplinary Approach David L. Spooner Rensselaer Polytechnic Institute.
Unit 3a Industrial Control Systems
What is Software Architecture?
1  Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997  Gajski, Vahid, Narayan and Gong, “Specification,
Crosscutting Concepts and Disciplinary Core Ideas February24, 2012 Heidi Schweingruber Deputy Director, Board on Science Education, NRC/NAS.
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
1 Physical Ensemble Engineering Christof, Heinz, Insup, Seth, Teruo.
CSCI-383 Object-Oriented Programming & Design Lecture 4.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Popularity versus Similarity in Growing Networks Fragiskos Papadopoulos Cyprus University of Technology M. Kitsak, M. Á. Serrano, M. Boguñá, and Dmitri.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
Towards Cognitive Robotics Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Christian.
What are the main differences and commonalities between the IS and DA systems? How information is transferred between tasks: (i) IS it may be often achieved.
Welcome to AP Biology Mr. Levine Ext. # 2317.
SOFTWARE DESIGN.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Programming for Swarm CS655 Course Project Weilin Zhong.
EEL Software development for real-time engineering systems.
Future & Emerging Technologies in the Information Society Technologies programme of European Commission Future & Emerging Technologies in the Information.
Tufts University School Of Engineering Tufts Wireless Laboratory TWL Direction Almir Davis 09/28/20091.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
INTERACTIVE ANALYSIS OF COMPUTER CRIMES PRESENTED FOR CS-689 ON 10/12/2000 BY NAGAKALYANA ESKALA.
FRE 2672 TFG Self-Organization - 01/07/2004 Engineering Self-Organization in MAS Complex adaptive systems using situated MAS Salima Hassas LIRIS-CNRS Lyon.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Introduction to Self-Organization
1 Introduction to Software Engineering Lecture 1.
Methodology Matters: Doing Research in the Behavioral and Social Sciences ICS 205 Ha Nguyen Chad Ata.
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
Futures Lab: Biology Greenhouse gasses. Carbon-neutral fuels. Cleaning Waste Sites. All of these problems have possible solutions originating in the biology.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
BioSensing and BioActuation Proposed Research Opportunities/Challenges 1.Sensor Informatics Guided by Life Understand and emulate data mining and prioritization,
Neural Networks and Machine Learning Applications CSC 563 Prof. Mohamed Batouche Computer Science Department CCIS – King Saud University Riyadh, Saudi.
Biocomplexity Teacher Workshop May 31 – June 2, 2008 University of Puerto Rico.
Amorphous Computing
Technical Seminar Presentation Presented By:- Prasanna Kumar Misra(EI ) Under the guidance of Ms. Suchilipi Nepak Presented By Prasanna.
Programming for Swarm CS655 Course Project Weilin Zhong.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Programming Sensor Networks Andrew Chien CSE291 Spring 2003 May 6, 2003.
Chapter 2. From Complex Networks to Intelligent Systems in Creating Brain-like Systems, Sendhoff et al. Course: Robots Learning from Humans Baek, Da Som.
Circulation Simulation Andrew Moeding. Simulation Types Traffic flow pattern simulation Building/pedestrian circulation simulation.
The Challenge of Amorphous Computing To develop engineering principles and programming techniques for directing the behavior of systems composed of billions.
Data Design and Implementation. Definitions Atomic or primitive type A data type whose elements are single, non-decomposable data items Composite type.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
Systems Analyst (Module V) Ashima Wadhwa. The Systems Analyst - A Key Resource Many organizations consider information systems and computer applications.
CSC321: Neural Networks Lecture 1: What are neural networks? Geoffrey Hinton
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
Robot Intelligence Technology Lab. Evolutionary Robotics Chapter 3. How to Evolve Robots Chi-Ho Lee.
7 Training Employees What Do I Need to Know?
Complexity Time: 2 Hours.
2. Industry 4.0: novel sensors, control algorithms, and servo-presses
Linear Control Systems
A synthetic multicellular system for programmed pattern formation
Presentation transcript:

Goal: Programming Computational Matter Develop engineering principles and programming techniques for directing the behavior of systems composed of myriad potentially unreliable and inaccurately manufactured parts Exploit such systems for implementing and managing sensors and effectors

Outcomes Coordinated action from massive assemblies of sensors, actuators, and computation Good collective behavior from bad parts Novel materials that enhance precision and strength, using computation Self-configuring mechanical systems ?? Biology ??

Example signal processing surfaces

Example Self-configuring mechanical system

Example Something using biology/chemistry?

Why now? - The opportunity Ultra-scale silicon molecular electronics biological subtrates for computing kernel technologies to build or grow vast numbers of identical units at almost no cost - but we don’t know how to program them!

Characteristics of Computational Matter too many elements to be individually programmed, or even to be named. variable interconnect, unknown a priori, possibly time varying imperfect elements and interconnect – dead or sick on arrival –flakey (perhaps gives the wrong result)

Characteristics - II may be heterogeneous or homogeneous may include sensors or effectors communication mostly local –but there can be wormholes –may need to discover the topology

Hard Problems how to specify desired global behavior using only local interactions how to specify the agents that must act without the assignment of names how to enforce acceptable global behavior in the face of unreliable parts and interconnect how to elicit prescribed geometric behavior using only locally obtained topological information

Approaches to the hard problems how to specify desired global behavior using only local interactions –build on organizational metaphors from physics that exploit the spatial locality of the real world – build on organizational metaphors from biology that exploit the massive redundancy available in the real world

Example: Growing a complex pattern like a plant

Approaches to the hard problems how to specify the agents that must act without the assignment of names –Use boolean combinations of markers and counters to select agents intensionally rather than extensionally. Massive numbers of elements make this an effective strategy.

Approaches to the hard problems how to enforce acceptable global behavior in the face of unreliable parts and interconnect –allow late binding of –interconnect topology –available resources –build on organizational metaphors from biology that exploit the massive redundancy available in the real world

Approaches to the hard problems how to elicit prescribed geometric behavior using only locally obtained topological information – Clues about the geometry can be extracted using constraints that come from the physical embedding of the system in the real world.

Example The number of computational elements within a particular hop-count radius gives an estimate of the local scalar curvature picture here

Benefits to be wordsmithed Cheap insanely big computers radically customizable manufacturing cheap, sophisticated, massive sensor applications spectacularly enhanced interfaces to the biological and chemical worlds new communities of researchers across computing, biology, and chemistry

Milestones - to be fixed Note: need to build stuff in conventional technology, short term goal build interfaces between the different subtrates

Examples –signal-proc, –self-configuring mech sys –biology example Milestones –infrastructure –links to application

Transition

END Stuff after here is extra

Hard Problems Programming and design –Naming in large dynamic spaces –application design –Discovering metaphors appropriate to a particular substrate –specification –compilation

Hard Problems Imposing reliability –Determining the relation between system reliability and the error characteristics of the components Imposing structure performance predicting and performance debugging infrastructure development

Hard Problems Stratification of the design and understanding sensitivity to substrate characteristics, how changes at one level effect changes at other levels

Approaches to the hard problems

Milestones 3-year goals: identifying metaphors for particular substrates - tying to properties of substrates differentiates this program 5-years: behavior of metaphors wrt properties of substrates

Goal To effectively program huge systems with rapidly variable properties. Computational manifolds Systems composed of billions of parts, changing dynamically, too many to name, focus on communications problem. What happens 20 or 30 years from now when there are zillions of nodes. What kind of naming and addressing schemes could we use? What infrastructure mechanisms to allow programming these very large sets? Naming is one of the problems that need to be solved?

Goal To develop engineering principles and programming techniques for directing the behavior of systems composed of myriad potentially unreliable and inaccurately manufactured parts To exploit such systems for computing, sensing, and control applications

Why now? - the Challenge feature size performance/cost

How can we program amorphous stuff? organisms are composed of myriad cells that cooperate to achieve common goals biology provides organizational metaphors for new engineering principles examples from developmental biology illustrate this point

A botanical metaphor We organize a process in terms of “growing points.” They make structures that exhibit “tropisms” toward particular “chemical gradients.” The growing points may lay down materials. Materials may secrete pheromones that attract or repel other growing points. Growing points may split, die off, or join. Support for this abstraction may be programmed as a uniform state machine in each computational particle.

Biologically-inspired engineering not biomimetics behavior is “correct” if it is acceptable multiple representations and redundant means of achieving goals defects at one level can be compensated for by changes at another level continuity of representations

Biology chemical engineering MEMS computation control A new interdisciplinary community

Engineering-inspired biology Interfacing to the chemical world Molecular-scale manufacturing Microbial robotics Minimal organisms

Computation is free biological systems employ massive redundant computation “wasteful” computation can be used to decrease the need for –strength of materials –precision of manufacture –reliability of communication

Spectrum of specification degrees of specification –of outcome –of design –of manufacturing process Emergent behaviorPrincipled design

Diversity and redundancy in representations in methods in goals

Assembly of information-rich molecular-scale systems

Some stuff that’s missing Militarily relevant applications exciting applications compelling example specific challenges metrics what it takes to do it technical approaches expected outcome

Amorphous computing is Not emergent behavior Not “pretty pictures” It is engineering of mechanisms with prespecified, well-defined behavior

Robust systems Fault-tolerance can be emergent –but can also be a result of designed behavior choice of levels for modularity and redundancy continuity of representations –unary is better than binary this is the crucial feature of analog representations noise may be OK link to sensors and effectors

A scientific and technological effort to identify methods for obtaining coherent behavior from the cooperation of large numbers of unreliable parts that are interconnected in unknown, irregular, and time-varying ways techniques for instructing myriad programmable entities to cooperate to achieve particular goals engineering principles and languages that can be used to observe, control, organize, and exploit the behavior of programmable multitudes

Not everything changes at the same time scale some things change slowly

Another goal Applications of active materials to sensors. Specific example: sensor arrays.

Goal The engineering basis for designing effective organizations for a given computational substrate. Variability, defect rate, all inputs to that.

3-year goals: identifying metaphors for particular substrates - tying to properties of subtrates differentiates this program 5-years: behavior of metaphors wrt properties of substrates