|
 |
 |
 |
 |
Student Publications
Author: Festus Olubukunmi Ajibuwa
Title:
Alternative Computer Paradigms
Area:
Country :
Profile:
Program:
Available for Download:
Yes
Sharing knowledge is a vital component in
the growth and advancement of our society
in a sustainable and responsible way. Through
Open Access, AIU and other leading institutions
through out the world are tearing down the
barriers to access and use research literature.
Our
organization is interested in the dissemination
of advances in scientific research fundamental
to the proper operation of a modern society,
in terms of community awareness, empowerment,
health and wellness, sustainable development,
economic advancement, and optimal functioning
of health, education and other vital services.
AIU’s mission
and vision is consistent with
the vision expressed in the Budapest Open
Access Initiative and Berlin Declaration
on Open Access to Knowledge in the Sciences
and Humanities. Do you have something you
would like to share, or just a question
or comment? We would be happy to hear from
you, please use the Request Info link below.
For more information on the AIU's Open Access
Initiative, click
here.
|
|
| |
|
|
| |
Abstract
This research work examines the future of computers, considers
Integrated Circuit technology in
the areas of how it drives computer design, and what the fundamental
limitations are. Examines
the proposed alternatives, including neurobiologically inspired
computing, DNA computing,
Tuple Board Paradigm, Mobile Computing and Quantum Computing. Views
of different schools
of thoughts, organizations, companies and Universities are
critically assessed and compiled
within this write-up.
Nowadays computers are in the centre of almost all areas of modern
society and their
computational abilities very often determine superiority of one
product with respect to another.
Traditional computers are able to deal with only finite numbers
because arithmetic developed for
infinite numbers leave undetermined many operations (e.g., -) or
represent infinite numbers
by infinite sequences of finite numbers (e.g., non-standard analysis
approaches). Thus, in spite of
the key role of infinitesimals and infinite in Physics and
Mathematics (e.g., derivatives, integrals,
and differential equations), the parts of natural sciences related
to infinite and infinitesimals
remain purely theoretical fields.
The new unconventional approach proposed very recently by the author
uses a new
computational paradigm (that is not related to traditional
non-standard analysis approaches) for
creating a new revolutionary type of computer Infinity Computer
able to store infinite, finite,
and infinitesimal numbers and to execute arithmetical operations
with all of them. The key
methodological idea is usage of a new positional system with
infinite radix allowing one to
express finite, infinite, and infinitesimal numbers in a unique
framework by a finite number of
symbols.
The Infinity Computer will have a very high impact in Computer
Science, Mathematics, Physics,
and Economics because: it gives possibilities to execute
calculations of a new type; leads to
infinite accuracy of calculus; allows people to study complex
systems where infinitesimal
changes of parameters lead to finite and infinite changes in the
output; simplifies scientific fields
(and their teaching at schools and universities) where usage of
infinity and infinitesimals is
necessary.
Toward a new computing paradigm: Views of Microsoft Developer Div
chief architect David
Vaskevitch
(Enterprise Systems Journal)
July, 1995
We live in interesting times. As with any era of profound change, we
find ourselves in need of a
new paradigm -- a paradigm not just of computing but of human
relationships on a global scale.
But a paradigm is not something you simply define in advance; it is
marked by a cultural shift in
the shared mindset. Its pieces evolve slowly until it reaches a
critical mass and points the way
into the new era. We are at that critical point: Information
technology, already undergoing
tremendous change as a result of the business process reengineering
movement, has entered into
a new era.
The need for a new computer paradigm
The CHAOS-Based Systems
A New Computing Paradigm: (Chaos-Based System That "Evolves" Answers
May Be
Alternative to Current Computers)
Science Daily
2
A revolutionary new computing technique that
uses a network of chaotic elements to "evolve" its
answers could provide an alternative to the digital computing
systems widely used today.
Described for the first time in the September 7 issue of Physical
Review Letters this "dynamics-
based computation" may be well suited for optical computing using
ultra-fast chaotic lasers and
computing with silicon/neural tissue hybrid circuitry.
The system has so far demonstrated an ability to handle a wide range
of common operations,
including addition and multiplication, as well as Boolean logic and
more sophisticated operations
such as finding the least common multiplier in a sequence of
integers. Because it depends on
interaction among its coupled elements, the system is naturally
parallel.
"We have shown that this can be done, but we've only seen the tip of
the iceberg," said Dr.
William L. Ditto, professor of physics at the Georgia Institute of
Technology. "This is a glimpse
of how we can make common dynamic systems work for us in a way
that's more like how we
think the brain does computation. It's an entirely new computing
paradigm."
For many years, scientists have observed the rich variety of
behavioral patterns created by
chaotic systems, including those found in living organisms. Ditto
and collaborator Sudeshna
Sinha of the Institute of Mathematical Sciences in Madras, India,
reasoned that these natural
chaotic systems should have been eliminated through evolution unless
they served a purpose.
Ditto and Sinha devised an experiment to see if a simple network of
chaotic computer elements
could be made to handle computations. They joined the chaotic
elements into a lattice using an
adaptive connecting mechanism that would open whenever an element
exceeded a certain critical
value. The mechanism was designed so that the researchers could set
a wide range of critical
values to vary the connection between elements.
The researchers then encoded values into the chaotic lattice using a
variety of different
techniques. In some cases, they chose patterns in the chaotic
elements to represent numbers. In
other cases, the numbers were represented by the amplitude of waves
emitted by the chaotic
elements or the frequency of "spiking" behavior.
After encoding the numbers, they stimulated the elements to begin
interacting.
Elements containing values above the critical level triggered the
connecting mechanism,
allowing the excess value to "avalanche" into neighboring elements.
That transfer then created
additional avalanches in other connected elements. With additional
stimulation, the domino
effect continued until the imbalance was conducted out of the system
-- as the answer to the
mathematical problem.
"We have the elements interconnected so that they respond to their
neighbors like the
avalanching that occurs when you pile grains of sand onto a
sandpile," Ditto explained. "You
allow the elements to avalanche and the system to evolve
chaotically, and then do the
avalanching again until the system settles down to the right answer.
It takes a couple of iterations
for it to settle down."
In a simple example, values of three and four would be encoded into
a system set with a critical
value of one. The values would create an imbalance that would
avalanche through the chaotic
elements until it was conducted out of the system -- as the value of
seven.
Chaotic elements are useful to this system because they can assume
an infinite number of
behaviors that can be used to represent different values or
different systems such as logic gates.
Because of this flexibility, altering the initial encoding and
changing the connections between the
chaotic elements allow a single generic system to perform a variety
of computations using its
inherent self organization. In conventional computing, systems are
more specialized to perform
certain operations.
"We are not really setting up rules in the same sense that digital
computers are programmed,"
Ditto explained. "The system develops its own rules that we are
simply manipulating. It is using
pattern formation and self-organized criticality to organize toward
an answer. We don't
3
micromanage the computing, but let the dynamics
do the hard work of finding a pattern that
performs the desired operation."
Just as the numbers can be encoded in a variety of ways, the answer
also comes out in a variety
of ways: a rate of change, amplitude, or a specific chaotic
behavior.
"There are a surprisingly large number of ways that the system can
perform the computations
and give you the answer," he added. "By slightly changing the
connectivity and the parameters of
the chaotic system, we can have it multiply several different ways
through the system's self
organization."
Because this new system differs dramatically from existing digital
computers, it is likely to have
different strengths and weaknesses. "It might be better than digital
computing for those activities
that digital computing doesn't do very well -- such as pattern
recognition or detecting the
difference between two pieces of music," Ditto said.
He compared dynamics-based computation to DNA computing and quantum
computing, both of
which are new computing paradigms still in their early stages of
development.
Ditto believes the new system would work particularly well in
optical systems. He has done
theoretical work applying dynamics-based computing to an ammonia
laser system and hopes to
see the system implemented experimentally.
"Potentially, we could stimulate a very fast system of coupled
lasers to perform a highly
complicated operation like very fast arithmetic operations, pattern
detection and Fourier
transforms" he said. "We have something that very naturally performs
an operation in an optical
system. This would provide an alternative to existing efforts, which
try to make optical systems
do operations more like transistors."
Beyond the systems they have tried, Ditto believes virtually any
coupled dynamic system could
be used to perform computation. "We hope that you can take any
dynamical system, stimulate it
in the correct way, and then get it to perform an operation for
you," he said. "This would provide
an alternative to engineering a system from the ground up."
Ditto acknowledges a number of engineering issues that may hamper
development of a practical
system based on this new computing paradigm. But he notes that in
their early days, digital
computers had to overcome a daunting set of obstacles to overtake
earlier techniques.
Support for the work has come from the U.S. Office of Naval
Research, and from Control
Dynamics, Inc., a company partially owned by Ditto.
Note: This story has been adapted from a news release issued by
Georgia Institute of
Technology.
Introduction
Computer science is a soft science. That is, computer science, like
mathematics is based of
accepting the true of some basic theorems. The mathematical laws on
which the conventional
CS paradigm is based have served to guide CS during its history of
incredible improvements of
CPU speed and memory size, but like the relationship between the
arrangements of the fingers
on the hand and the layout of the QWERTY keyboard, the relationship
between these laws and
the real world of electrons, light beams and digital circuits is
arbitrary. Absolute physical
benchmarks used in the physical sciences such as Physics and
Chemistry are ignored in the
conventional CS paradigm. Instead, algorithm analysis depends on the
nature of an algorithm in
the limit. That is, even though computers are of a finite size and
the speed of electricity is
bounded, algorithm analysis is based on processing unlimited data
sizes and efficiently utilizing
increasingly insignificant CPU and memory costs while ignoring the
impact of the complexity of
algorithms on the increasingly dominate programming costs.
4
Unfortunately since the laws for the current
paradigm are taught as absolute truths to every CS
freshman, they are very difficult to challenge. Indeed, the
perception is that they are infallible.
The traditional relationship between mathematics and the sciences
has been for mathematicians
to develop abstract construct without regard to engineering or
science and then, later, perhaps
centuries later, discovered that they have a useful application.
However, in the case of computer
science, the abstract laws and theorems of mathematics have become
the very basis of computer
science with the consequence that any alternative paradigm can be
proven to be inferior. The
result is that new computer paradigms, architectures and languages,
which could address many
of todays issues such as the inefficiency of multitasking operating
systems and hardware, have
been overlooked, even suppressed. The wealth of alternative computer
architectures,
programming languages and alternative paradigms of earlier years,
such as systolic arrays, data
flow, data parallelism and associative computing, has been
abandoned.
This point is illustrated by the Connection Machine fiasco of the
late 80s and early 90s. The
CM that was designed at MIT and promoted by DARPA was an attempt to
develop alternative
machine architecture. It failed because of inappropriate algorithm
paradigms and programming
techniques. That is, because of the mismatch between the accepted CS
paradigm and the
available programming languages and the reality of the machine, the
programmers could not
develop "cost effective" algorithms. The most obvious example of
this mismatch is sorting
versus searching. The need for sorting data for efficient retrieval
is accepted without question in
the conventional paradigm. To suggest that data can be efficiently
retrieved without sorting is
not only heresy, but can be proved to be wrong by any freshman
computer scientist using
conventional paradigm laws. Yet the CM, using data parallelism,
could and did find any datum
in memory in one step O(1) time. This would be an existence proof
in any other discipline, but
it was not and still is not accepted by the CS community because the
standard paradigm "proves"
that it takes at least O(log n) time to find something (even
conveniently ignoring the cost of
sorting the data.) As a result, the massive searching approach to
data selection and retrieval was
not pursued. One of the results of the law that data need to be
sorted in order to find them
efficiently is the tree organizations. However, using a data
parallel searching paradigm, there is
no need for nested menu trees or any other type of sorted data. Data
parallel searching, by
eliminating the need for sorting, does not need linked lists and
allows all data organizations
chronological, by recipient, by topical category to be utilized
simultaneously via associatively.
That is, data parallelism and associative computing is one possible
answer to simpler computing.
This approach requires that you go back to the flat tables of
yesteryear, but with gigabytes of
memory and gigahertz of speed, flat tables are manageable, even
preferable.
Moreover, the data parallel search based paradigm is well suited for
high school level tabular
data structures and natural language communication with your
computer. Both features
significantly reduce programming costs. But unfortunately, like the
internal combustion engine,
once a technology has progressed it a certain point, it is
practically impossible to overcome it.
However, as there is the possibility that the eventual depletion of
our natural energy resources
will cause economic changes in the design of car engines, the
eventual depletion of "free"
improvements in speed and memory may force a change in the
conventional CS paradigm. Even
today, super computers spend from 70 to 95% of their computing power
in overcoming the
limitations of the current paradigm so that only 5 to 30% of the
actual speed improvements are
obtained by the user. However, a change in paradigm is most likely
to occur in the Laptop, PDA
and cell phone environment not the super computer environment,
because the lack of power is
not the driving point, but the lack of physical space for keyboards,
display screens, mice, etc. and
the demand for easier modes of computing. Eventually, hopefully,
computer scientists will come
5
to realize that, CS has been trapped by the von
Neumann models success and that just as the laws
of plain geometry work well over a small portion of the Earths
surface, but fail when applied to
a much larger portion, so too, the laws of the current CS paradigm
work well for the old world of
"slow", few, expensive computers and cheap programmers, but are not
well suited to the new
world of fast, ubiquitous cheap computers and expensive programmers.
New Advances in Reconfigurable Computing and its Applications
J.UCS Special Issue by: (Miguel A. Vega-Rodríguez, Juan A.
Gómez-Pulido, Juan M. Sánchez-
Pérez Dept. Technologies of Computers and Communications, Univ.
Extremadura Escuela
Politécnica, Campus Universitario s/n. 10071 Cáceres, Spain
This is a survey of different papers about reconfigurable computing
and its applications. These
papers treat very different reconfigurable-computing applications:
cryptography, computer
vision, SOPC, microprocessor architecture, self-timed circuits,
sensor systems, detection of
ultrasonic emissions, FPGA compilation aspects (like data-dependent
loops), and motion
estimation. We can say that reconfigurable computing is becoming an
increasingly important
computing paradigm, being a good alternative for many real
applications.
As the Reconfigurable Computing is becoming an increasingly
important computing paradigm,
more and more FPGA-based applications are appearing. FPGA devices
are making it possible for
thousands of computer engineers to have access to digital design
technology in an easier way,
obtaining a better performance with a similar flexibility to
software. In addition, ASIC engineers
are now "reconfiguring" themselves as FPGA engineers for economic
reasons and adding to the
growing legions of FPGA designers.
In conclusion, reconfiguration of circuitry at runtime to suit the
application at hand has created a
promising paradigm of computing that blurs traditional frontiers
between software and hardware.
At present, reconfigurable computing is a good alternative for many
real applications in image
and signal processing, multimedia, robotics, telecommunications,
cryptography, networking and
computation in general.
This Special Issue brings together high-quality state-of-the-art
contributions about reconfigurable
computing and its applications. Concretely, the special issue
contains 7 papers that represent the
diverse applications and designs being addressed today by the
reconfigurable-computing
research community. With authors from around the world, these
articles bring us an international
sampling of significant work.
New Computing Paradigm: A Chaos-Based System That Evolves Science
and Engineering News
(09/11/98)
San Diego, CA -- As John Toon reported for GIT, A revolutionary new
computing technique that
uses a network of chaotic elements to "evolve" its answers could
provide an alternative to the
digital computing systems widely used today. Described for the first
time in the September 7
issue of Physical Review Letters this "dynamics-based computation"
may be well suited for
optical computing using ultra-fast chaotic lasers and computing with
silicon/neural tissue hybrid
circuitry.
The system has so far demonstrated an ability to handle a wide range
of common operations,
including addition and multiplication, as well as Boolean logic and
more sophisticated operations
such as finding the least common multiplier in a sequence of
integers. Because it depends on
6
interaction among its coupled elements, the
system is naturally parallel.
"We have shown that this can be done, but we've only seen the tip of
the iceberg," said William
L. Ditto, professor of physics at the Georgia Institute of
Technology. "This is a glimpse of how
we can make common dynamic systems work for us in a way that's more
like how we think the
brain does computation. It's an entirely new computing paradigm."
For many years, scientists have observed the rich variety of
behavioral patterns created by
chaotic systems, including those found in living organisms. Ditto
and collaborator Sudeshna
Sinha of the Institute of Mathematical Sciences in Madras, India,
reasoned that these natural
chaotic systems should have been eliminated through evolution unless
they served a purpose.
Ditto and Sinha devised an experiment to see if a simple network of
chaotic computer elements
could be made to handle computations. They joined the chaotic
elements into a lattice using an
adaptive connecting mechanism that would open whenever an element
exceeded a certain critical
value. The mechanism was designed so that the researchers could set
a wide range of critical
values to vary the connection between elements.
The researchers then encoded values into the chaotic lattice using a
variety of different
techniques. In some cases, they chose patterns in the chaotic
elements to represent numbers. In
other cases, the numbers were represented by the amplitude of waves
emitted by the chaotic
elements or the frequency of "spiking" behavior.
After encoding the numbers, they stimulated the elements to begin
interacting.
Elements containing values above the critical level triggered the
connecting mechanism,
allowing the excess value to "avalanche" into neighboring elements.
That transfer then created
additional avalanches in other connected elements. With additional
stimulation, the domino
effect continued until the imbalance was conducted out of the system
-- as the answer to the
mathematical problem.
"We have the elements interconnected so that they respond to their
neighbors like the
avalanching that occurs when you pile grains of sand onto a
sandpile," Ditto explained. "You
allow the elements to avalanche and the system to evolve
chaotically, and then do the
avalanching again until the system settles down to the right answer.
It takes a couple of iterations
for it to settle down."
In a simple example, values of three and four would be encoded into
a system set with a critical
value of one. The values would create an imbalance that would
avalanche through the chaotic
elements until it was conducted out of the system -- as the value of
seven.
Chaotic elements are useful to this system because they can assume
an infinite number of
behaviors that can be used to represent different values or
different systems such as logic gates.
Because of this flexibility, altering the initial encoding and
changing the connections between the
chaotic elements allow a single generic system to perform a variety
of computations using its
inherent self organization. In conventional computing, systems are
more specialized to perform
certain operations.
"We are not really setting up rules in the same sense that digital
computers are programmed,"
7
Ditto explained. "The system develops its own
rules that we are simply manipulating. It is using
pattern formation and self-organized criticality to organize toward
an answer. We don't
micromanage the computing, but let the dynamics do the hard work of
finding a pattern that
performs the desired operation."
Just as the numbers can be encoded in a variety of ways, the answer
also comes out in a variety
of ways: a rate of change, amplitude, or a specific chaotic
behavior.
"There are a surprisingly large number of ways that the system can
perform the computations
and give you the answer," he added. "By slightly changing the
connectivity and the parameters of
the chaotic system, we can have it multiply several different ways
through the system's self
organization."
Because this new system differs dramatically from existing digital
computers, it is likely to have
different strengths and weaknesses. "It might be better than digital
computing for those activities
that digital computing doesn't do very well -- such as pattern
recognition or detecting the
difference between two pieces of music," Ditto said.
He compared dynamics-based computation to DNA computing and quantum
computing, both of
which are new computing paradigms still in their early stages of
development.
Ditto believes the new system would work particularly well in
optical systems. He has done
theoretical work applying dynamics-based computing to an ammonia
laser system and hopes to
see the system implemented experimentally.
"Potentially, we could stimulate a very fast system of coupled
lasers to perform a highly
complicated operation like very fast arithmetic operations, pattern
detection and Fourier
transforms" he said. "We have something that very naturally performs
an operation in an optical
system. This would provide an alternative to existing efforts, which
try to make optical systems
do operations more like transistors."
Beyond the systems they have tried, Ditto believes virtually any
coupled dynamic system could
be used to perform computation. "We hope that you can take any
dynamical system, stimulate it
in the correct way, and then get it to perform an operation for
you," he said. "This would provide
an alternative to engineering a system from the ground up."
Ditto acknowledges a number of engineering issues that may hamper
development of a practical
system based on this new computing paradigm. But he notes that in
their early days, digital
computers had to overcome a daunting set of obstacles to overtake
earlier techniques.
Support for the work has come from the U.S. Office of Naval
Research, and from Control
Dynamics, Inc., a company partially owned by Ditto.
Tuple Board: A New Distributed Computing Paradigm for Mobile Ad Hoc
Networks
(Alan Kaminsky - Department of Computer Science Rochester Institute
of Technology
Rochester, NY, USA
The Tuple Board Paradigm
8
The tuple board distributed computing paradigm
is derived from the tuple space paradigm. It first
describes tuple space, and then introduces the tuple board and show
how it differs from tuple
space. It also describes how to design applications based on the
tuple board. Section 4 describes
how the tuple board is implemented.
Historical background
In 1985 Gelernter introduced the notion of tuple space and its
associated distributed coordination
language, Linda. Since then, tuple space has been implemented in
many languages and
platforms. Notable Java implementations include Sun Microsystems
JavaSpaces and IBMs
TSpaces.
A tuple space based distributed application stores information in
tuples. A tuple is a record of
one or more fields, each field having a value of a certain data
type. One process can write a tuple
into tuple space. Another process can then take a tuple out of tuple
space. To find a tuple to take,
the taking process supplies a tuple used as a template. Each field
of the template may be filled in
with a specific value or be set to a "wildcard" value. The template
is matched against all tuples in
tuple space. A template and a tuple match if they have the same
number of fields and the fields
have the same data types and values; a wildcard matches any value.
The taking process receives
one matching tuple that was taken out of tuple space. If more than
one tuple matches the
template, one tuple is chosen arbitrarily to be taken; if no tuple
matches the template, the taking
process blocks until there is a match. A process can also read a
tuple. Reading is the same as
taking, except the reading process receives a copy of the matching
tuple while the original tuple
stays in tuple space.
Tuple space provides a distributed communication mechanism that
decouples processes both "in
space" and "in time." Processes need not reside on the same device
to communicate. A process
on one device can write a tuple and a process on another device can
take or read the tuple; the
processes thus have communicated through the intermediary of tuple
space. Processes also need
not be running at the same time to communicate. A process can write
a tuple even if the process
that will read or take the tuple is not running yet. The writing
process can then go away, and the
tuple will persist in tuple space until another process reads or
takes it. Conversely, a process can
read or take a tuple (and will block if necessary) even if the
process that will write the tuple is
not running yet.
Since mobile computing devices with wireless networking
capabilities, such as laptop PCs, tablet
PCs, and PDAs, are becoming prevalent, there is a need for
distributed applications that run on
groups of nearby devices. For example, people in a meeting would
like to have their PDAs pool
their individual calendars together to find a date and time everyone
has free for the next meeting.
With todays software this is typically impossible, since different
people use different calendar
software, different calendar server computers, and so on. Tuple
space provides an alternative:
Each PDA writes tuples with each persons open calendar slots, then
all the PDAs read all the
Tuples and find a common slot. Previous work, such as one world and
Lime, has attempted to
adapt tuple space to the mobile device environment. However, there
are still difficulties. Since
tuples are supposed to persist in tuple space even if the writing
process goes away, tuple space is
typically implemented on a separate, central server computer.
However, central servers are
unattractive for groups of mobile wireless devices, since the
devices may not be in range of a
central server. Although the devices are in range of each other, no
device can act as a central
server because devices can leave or turn off at any time. Without a
central server, implementing
tuple persistence is difficult and requires complicated software.
The notion of a tuple board was introduced as a modification of
tuple space that is better suited
for ad hoc networks of mobile wireless computing devices without
central servers. A tuple board
9
is like a shared virtual bulletin board. One
process can post a tuple on the tuple board. A process
can withdraw a posted tuple; but a process can only withdraw the
tuples the process itself has
posted, not tuples any other process has posted. If a device leaves
the network or turns off, all the
tuples the devices processes had posted are implicitly withdrawn.
Another process can read a
tuple on the tuple board that matches a template, just as with tuple
space. A process can set up an
iterator over all tuples that match a template, and then repeatedly
read a tuple from the iterator; a
different tuple is returned each time. If all tuples matching the
iterators template have been read,
the process reading the iterator blocks until a new matching tuple
is posted. A process can set up
a notifier for a template; the notifier will then inform the process
whenever a matching tuple is
posted or withdrawn.
The key difference between the tuple board and tuple space is that
tuples do not persist on the
tuple board if the posting process goes away. This greatly
simplifies the tuple board
implementation, since when a device turns off or leaves the network
its posted tuples can simply
disappear. Many useful distributed applications can be developed
even without tuple persistence.
In fact, the ability to detect when a device goes away because a
notifier reports that a tuple,
which the device had previously posted, was withdrawn is useful in
its own right.
Applications Based on the Tuple Board
In this section we describe how distributed ad hoc collaborative
applications are designed using
the tuple board paradigm. Such applications are "collaborative" in
that any number of nearby
mobile computing devices can participate.
These applications are also "ad hoc" in that the devices do not need
to be configured to know
about each other ahead of time; instead, devices can come and go at
any time, and the application
runs on whichever devices happen to be nearby.
Information sharing applications of all kinds are easily implemented
using the tuple board.
Consider a digital photo sharing application. Each device with
digital photos PCs, PDAs, even
cameras and cell phones posts tuples for its pictures. Each tuple
has, say, four fields: unique
ID, thumbnail image, date taken, and description.
Any device can then obtain the other devices pictures, as follows.
To retrieve all the pictures,
the device sets up a template where all four fields are wildcards;
to retrieve only Disney World
pictures, the templates description field is set to "Disney World"
and the other fields are
wildcards; and so on. The device uses an iterator to read all the
tuples that match the template,
assembles the tuples thumbnail fields into an "album" of pictures,
and displays the album on the
devices own screen. If the user wants to see the full-size picture
for some thumbnail, the users
device posts a tuple containing a full picture request for the
pictures unique ID. Seeing that
request posted, the device that has the picture with the given
unique ID posts a tuple containing
the full-size image.
The users device reads that tuple and withdraws its request tuple,
whereupon the other device
withdraws its full-size image tuple. If a device joins the group,
the new device merely starts
posting tuples, and the other devices (responding to a report from a
notifier) add the new
devices thumbnails to their displays. If a device leaves the group,
the remaining devices (again
responding to a report from a notifier that tuples were withdrawn)
remove the departed devices
thumbnails from their displays. Thus, the application automatically
adapts as devices arrive and
depart, without needing to rely on a central server.
Other examples of ad hoc collaborative applications that can be
designed in a similar way using a
tuple board include file, music, and video sharing; groupware
applications like shared
whiteboard, shared document authoring, and the aforementioned shared
calendar; and vendor
information directories in shopping malls and avenues. Bondada built
a conference information
system demonstration using the tuple board collaborative
applications based on the tuple board.
10
Mobile Computing Paradigm
Introduction
Mobile computing consistently fails to live up to expectations.
Early adopters complain about the
size and resolution of displays, awkward input devices and limited
bandwidth. There is every
reason to assume that the complaints will be exacerbated for mobile
CSCW, since most
collaborative computing is computationally intensive, often
synchronous and visual. In addition,
computer-mediated communications require minimal latency in order to
be socially acceptable.
Many enthusiasts respond to this challenge by suggesting that new
mobile technologies will be
sufficiently powerful to meet the needs of CSCW. We assert, however,
that expectations and
requirements of the user community will proportionally increase by
new advances in computing
technology. The ante will, in a sense, be upped once more.
This paper provides an initial exploration of this problem, which
represents a fascinating
challenge given that todays mobile devices are immensely more
powerful than the desktop
computers of yesteryear, but at the same time they are a far cry
from what users want today. We
believe this challenge is fundamentally conceptual, rather than
technical; todays mobile
computing paradigm is simply not suited for handheld CSCW!
A research program has been launched, which aims to develop the
conceptual foundations for
mobile IT-use and CSCW more thoroughly. First, it is necessary to
specify exactly how mobile IT-
use differs from stationary computing. Next, a reference model is
needed to guide fieldwork and
provide a common vocabulary for designers.
Explaining the desktop ,,bias of mobile computing
Based on the premises offered above, the following argument can be
given: Mobile IT is inferior
to stationary computing in terms of performance and bandwidth. For
example, bandwidth is
limited, keyboards are awkward and there is no desk on top of which
to put the devices when
typing.
At the same time, mobile IT design is clearly stationary ,,biased:
de facto industrial standards
have adopted the desktop metaphor and offer ,,pocket versions of
familiar office applications.
For example, there is Pocket Word (without styles) and Internet
browsers (without support for
Java and plug-ins), which, in addition, hardly display content but
one line at a time.
It seems like this is a conceptual, rather than a technical
cul-de-sac, since "users needs", in these
terms, will always exceed what mobile computing can offer. But as
the following argument
demonstrates, this can be conceived as a result of a naïve design
paradigm.
Is advanced document management or internet-based multimedia
publication purposeful operations
for mobile workers? Are there mobile use contexts where a
typewriter-metaphor based terminal with
a connected keyboard and screen will be useful at all. Consider the
example of electrical maintenance
workers equipped with a desktop metaphor-based device. When
operating the device as afforded
by its design, i.e. sat down in from of the user in one arms length
distance, the objects of work,
which are switches and power cables in a roadside cabinet, cannot be
reached. If the device, on
the other hand, is put down on the only other flat surface, which is
the top of the cabinet, then the
display cannot be seen when squatting to reach the switches and
cables.
In order to make the mobile computer support mobile work it has had
to be turned into a desktop
computer by connecting it to the stationary network and funnel its
functionality through a hosting
PC.
11
The desktop metaphor in mobile computing is,
thus, a symptom of the confusion of operations
and functionality in a stable use context. Only when the use context
is constantly changing, like
in mobile computing, it becomes apparent that this contributes to a
problematic design paradigm.
In order to open up an alternative design space (or at least a place
to turn), an alternative
conception of the relationship between computer-mediated services
and continually changing
modalities is needed. We are currently developing a model that
responds to this challenge by
explicating the nature of mobile IT-use.
Modeling mobile work
The reference model for mobile work builds on fieldwork and
discussions. Its core concepts are:
Modality, which is a characterization of the physical
relocation patterns of the mobile
worker/mediating technology.
Technology, which can to varying degrees be adapted to mobile
work, and
Service, which is the set of intended operations offered by
the functionality of the mediating
technology.
A mobile session, thus, simply consists of changing
modalities and services.
A mobile setting comprises at least one mobile session. The
following figure summarizes the
model in relaxed UML notation:
Modeling mobile work
Three important modalities of mobile work are:
Visiting is working in different places for a
significant period of time
Traveling is working while traveling in a vehicle, such as an
airplane or a train
Wandering is working while being locally mobile
Certainly, these are only ideal types; nevertheless they represent a
useful conceptual topology which
distinguishes mobile work from stationary work and contributes to
developing a new research
agenda for handheld CSCW. The following figure illustrates the
changing modalities of mobile work:
12
Modalities of mobile work
Services and modality constitute central components of a mobile
session, which due to its mobility is
far more contingent and dynamic than mobile work. Thus, it points in
the direction of new items for a
mobile informatics research agenda when these dimensions are
combined, such as in the following figure:
Changing services and modalities
Implications for research
Building on the framework outlined above, the following items for a
mobile computing research
agenda can be outlined:
Initialization
Main objective: Develop models and systematic support for
establishing sessions in a mobile
setting.
Some selected research problems:
Browse, inspect and select services. One can assume that the
availability of services from a
mobile terminal will vary with geographical re-location.
Browse, inspect and select resources (such as documents, people,
procedures, etc.), from within a
service. It is integral to establishing sessions, especially
involving other people in a synchronous
setting, to be aware of who is available and what they are
able/capable of contributing.
Negotiate access, quality and pricing. In a situation where mobile
communications are more
expensive then those offered by a stationary infrastructure, whilst
at the same time furnishing
limited performance and bandwidth, it becomes important to support
the necessary trade-offs
between cost in time, money and quality.
13
Programming sessions. In a mobile setting, user
cannot be expected to be fully interactive, since
mobility itself imposes demands on attention and mobile work is
likely to be directed towards
non-representable objects (otherwise, why go mobile?).
Transformation
Main objective: Develop models and systematic support for
sustaining services between
modalities in a mobile setting.
Introducing the notion of changing modalities enhances the mobile
informatics research agenda
with an interest in how people can change between modalities whilst
remaining connected to
current services.
Adaptation
Main objective: Develop models and systematic support for seamless
use of new services within
modalities in a mobile setting.
In this opposite of transformation, research interest is in how new
services (for which the current
modality may not be suited) can be adapted to function in a
satisfactory manner.
Negotiating access and performance profiles for users entering a new
modality.
Changing data from new services to make available programs interpret
and refine such
elements in a satisfactory manner.
Adapting programs to deal with new types of data.
Aggregation of service units into fully functioning services for the
current modality.
Optimization
Main objective: Develop models and systematic support for
improved performance of sessions in a
mobile setting.
This item on the agenda is already well covered in the mobile
computing area. There seems to be a
tendency, however, of assuming that mobile technology will be almost
as reliable as its fixed
counterpart. We believe that more work is needed on how to complete
business-critical tasks using
mobile systems in case of unanticipated technological breakdowns.
We have selected one other area in which more work is definitely
required: Simple input devices
for mobile sessions.
New applications
The goal now is to combine empirical studies with the conceptual
framework of the model to
produce innovate, mobile-aware applications. By technical
experimentation and empirical evaluation,
such applications can inform re-design and improve the model.
Medical
Fostering the Biological Sciences in the School of Medicine (Rutter)
Now, with respect to the development of the biological sciences at
UCSF, the Department of
Biochemistry was a mini-school in itself because it covered all the
most important scientific
approaches in biology. We weren't just interested in molecular
genetics. We also became a cell
biology group because we were interested basically in the cell.
There have been ebbs and flows.
But it has been a department that has operated across the frontier
of science. We always thought
14
we knew where the various fields were going and
tried to get scientists who would help or lead
the change. As the department flourished, of course we ran out of
FTEs and space. So how to
grow? Clearly, it was by colonization of the other departments.
Abstract: Single photon emission tomography allows the
imaging of dynamic brain functioning.
The use of cerebral activating procedures within the scan protocol
enables investigation of the
mechanisms involved in specific brain functions in health and
disease. Activation studies involve
the comparison of at least two data sets describing brain activity
generated in conditions that
differ for the specific function in question. When designing an
activation study, decisions
regarding methodology include: the nature of the activation regime,
the tracer-ligand utilized, the
SPET instrument and the manner of subsequent data analysis. These
issues are discussed in this
review, both theoretically and with reference to published studies.
Means of activating particular
cerebral structures and functions are reviewed, as are the
limitations of the techniques with
respect to temporal and spatial resolution and the potentially
confounding nature of preconceived
ideas regarding the mechanisms of brain function.
Simulators for biomolecular computing, (both in vitro and in
silico), have come to play an
important role in experimentation, analysis, and evaluation of the
efficiency and scalability of
DNA and biomolecule based computing. Simulation in silico of DNA
computing is useful to
support DNA-computing algorithm design and to reduce the cost and
effort of lab experiments.
Although many simulations have now been developed, there exists no
standard for simulation
software in this area. Reliability, performance benchmarks, user
interfaces, and accessibility are
arguably the most important criteria for development and wide spread
use of simulation software
for BMC. The requirements and evaluation of such software packages
for DNA computing
software are discussed, particularly questions about software
development, appropriate user
environments, standardization of benchmark data sets, and centrally
available common
repositories for software and/or data.
The Breast Cancer Working Group is a multidisciplinary team of
researchers from the Baystate
Medical Center and the University of Massachusetts Amherst. Working
Group researchers
represent a wide variety of scientific disciplines including
surgery, pathology, nursing,
epidemiology, statistics, molecular genetics, computer science,
chemical engineering, and
nanotechnology. The Working Group's laboratory-to-clinic approach
expedites the translation of
scientific discoveries into practical biomedical applications. In
addition to university and hospital
facilities, Working Group researchers have access to new,
state-of-the-art laboratories at the
Baystate-UMass Biomedical Research Institute in Springfield.
Currently, the Group's collective
effort is focused on understanding the nature of pre-cancerous
breast lesions that can transition
into malignant tumors. Dr. Richard Arenas, Chief of Surgical
Oncology at Baystate, and Dr. Joe
Jerry, UMass professor of Molecular Medicine, are two Working Group
members whose
collaboration with colleagues in the UMass Chemistry and Chemical
Engineering departments is
directed toward translating their medical and biological expertise
into practical treatments and
preventative therapies for breast cancer.
The Collaborative Approach
Collaboration fuels scientific innovation. In a 2001 report, the
National Cancer Institute stated
that, "multidisciplinary teams are needed to solve virtually all of
the 'big' problems in cancer
research." Productive collaboration among mathematicians,
biologists, computer scientists,
epidemiologists, imaging scientists, physicists, and clinicians is
needed to effectively cure and
15
control cancer, the report said. Now, in
western Massachusetts, just such a multidisciplinary
research team exists. The Pioneer Valley's Breast Cancer Working
Group, made up of M.D.s and
Ph.D.s from the Baystate Medical Center in Springfield and the
University of Massachusetts at
Amherst, was formed to investigate the basic pathology of breast
cancer and develop more
effective interventions to treat and prevent the disease.
Collaboration across scientific disciplines has yielded many
important achievements including
the discovery of the structure of DNA. In his book on the process of
scientific discovery, Francis
Crick wrote, "In nature, hybrid species are usually sterile, but in
science the reverse is often true.
Hybrid subjects are often astonishingly fertile."
The Breast Cancer Working Group is a hybrid coalition of
researchers, representing a wide
variety of scientific disciplines ranging from pathology and
surgical oncology to chemical
engineering and nanotechnology that evolved out of a partnership
between researchers at UMass
Amherst and the Baystate Medical Center. They meet regularly to help
steer the focus of the
Group and to allow its direction to influence their own research
programs and clinical practice.
At Risk for Cancer
Every year thousands of women are diagnosed with non-cancerous
breast disease. Although, so-
called benign breast disease is not cancerous, a certain form of the
disease, called atypical
hyperplasia, is associated with an increased risk of breast cancer.
At least 10% of those women
diagnosed with atypical breast lesions will develop cancer within
one year.
At Baystate Medical Center, physicians frequently detect these
atypical hyperplasias and,
although they know that some of those patients will soon develop
breast cancer, there is nothing
to be done about it. Treating all women with atypical hyperplasia
would be expensive and very
invasive. However, inaction all but assures that 1 out of every 10
women diagnosed will be
battling breast cancer within a year. This clinical dilemma, and the
problem it poses for
physicians and their patients, compelled the Breast Cancer Working
Group to direct their focus
toward investigating cancer associated with atypical, pre-malignant
breast lesions.
Dr. Joe Jerry is a professor of Molecular Medicine at UMass Amherst
and the designated leader
of the Working Group. His lab uses animal models to study the
molecular pathways that mediate
susceptibility and resistance to breast cancer and to design
targeted therapeutics to prevent it.
"Atypical doesn't sound good," Jerry says. "The physician has to
tell the patient, 'go home and
don't worry about it, but come back and have it checked out often,
because you should worry
about it.' That's pretty uncomfortable, and at some point people
might die from worrying about
the disease rather than from the disease itself."
Prevention is the Best Treatment
A primary goal of the Working Group is to harness the formidable
scientific expertise of its
members to achieve a better understanding of the basic cellular and
molecular mechanisms that
control how atypical hyperplasias transition into tumors. By
accurately describing the pathology
of tumorigenesis, new drugs can be designed and new methods
developed to treat or even
prevent breast cancer.
"Stopping the transition would be real prevention. It would be the
ultimate prevention," says Dr.
Richard Arenas, Chief of Surgical Oncology at Baystate Health
Systems and an active researcher
in the Breast Cancer Working Group. "If you know that, biologically,
there is a link between
atypia and the onset of actual breast cancer, presumably because you
see it pathologically, then
you've identified an actual pathway and there is a possibility of
interrupting that pathway," he
said.
Arenas has partnered with Jerry to explore how certain anti-cancer
drugs affect tumor cells at a
molecular level and with other Working Group members in the Chemical
Engineering
16
department at UMass Amherst to develop more
effective drug-delivery methods. They are
interested in the effect that estrogen and prostaglandin-blocking
drugs, called aromatase
inhibitors and COX-2 inhibitors respectively, have on the activity a
tumor-suppressor protein
called p53. When working properly, p53 performs an indispensable
function in the cellular
reproduction process by preventing abnormal cell proliferation.
Mutations in the p53 gene and
non-mutational changes in p53 function may be associated with up to
45% of all breast cancers.
A Good Model
In depth experimental analysis in breast cancer is currently
underway in Joe Jerry's laboratory at
UMass Amherst. Jerry has developed a mouse model with a defective
gene that consistently
develops mammary tumors, which are very similar to those found in
human breast tissue. Other
animal models for breast cancer have previously been created, but
none develop the true ductal
hyperplasia that mimics human breast tumors.
"We're seeing a series of different structures in the carcinomas
that are very much like humans,"
he says. This analogous system allows Jerry's research team to
experiment with drugs that
stimulate the surveillance function and boost its ability to prevent
abnormal cell proliferation.
Almost nothing exciting about computing today has to do with data
structures and algorithms
One of Alans undergraduate degrees is in molecular biology. He cant
understand it anymore
despite having tried to review new developments every few years.
Thats not true in computer
science. The basics are still mostly the same. If you go to most
campuses, there is a single
computer science department and the first course in computer science
is almost indistinguishable
from the first course in 1960. Theyre about data structures and
algorithms despite the fact that
almost nothing exciting about computing today has to do with data
structures and algorithms.
The Internet is like the human body. Its replaced all of its atoms
and bits at least twice since it
started even though the Internet has never stopped working. Attacks
on the ,,Net arent really
attacks on the ,,Net, theyre attacks on machines on the ,,Net. Very
few software systems, maybe
none, are built in ways that sustain operation in spite of being
continually rebuilt and continually
growing.
The future five years out is easy to predict because all of the
forces acting on computer science
are trying to keep it the same as it is now. Likely, the future will
be more of what we have now.
Are computer science, software engineering, OOP, etc. oxymorons?
Alan reminisce about Bob
Barton, an early Utah professor. Bob said that "systems programmers
are the high priests of a
low cult" and "there are few things know about systems design, but
the basic principle of
recursive design is: make the parts of the same power as the whole.
Bob Barton has a classic
paper that contains seven of the most important things that people
know about software today.
Another quote: "My job is to disabuse you of any firmly held notion
you held when you came
into this classroom." The best way to get people to think is to
destroy their current thinking.
Preconceived notions are largely reactions to what vendors are
saying. Alan says that his course
from Barton was the most valuable one he took in college because
Barton garbage collected their
minds.
"Americans have no past and no future; they live in an extended
present." This describes the
state of computing. We live in the 80s extended into the 21st
century. The only thing thats
changed is the size. Windows XP has 70 million lines of code. Its
impossible for Alan to believe
that it has 70 million lines of content. Microsoft engineers dont
dare prune it because they dont
know what it all does. Cathedrals have 1 millionth the mass of
pyramids. The difference was the
arch. Architecture demands arches.
17
Computers are artifacts. in order to have a
science of computing, we have to make them. This
isnt unheard of. To have a science of bridge building, people had to
start building them so they
could be studied. He shows a clip of the Tacoma Narrows Bridge.
After studying the failure, the
bridge was rebuilt and hasnt come down. This reminds Alan of
software systems. Were much
better at building software systems than we are at predicting what
they will do. There are no
good models. If we were scientists, wed be trying to build models.
"Science is not there to tell us about the Universe, but to tell us
how to talk about the Universe."
(Niels Bohr). Science helps us to be more reasonable about
reasoning. Its set up so that we get
better and better maps (abstractions) not perfect maps.
Alan uses John McCarthy and Lisp as an example of real science in
computer science. He
showed us that you can build a system thats also its own metasystem.
Lisp is like Maxwells
equations. Many of the things that are wrong about Java is that it
lacks a metasystem and that the
metasystem thats been tacked onto it is missing key parts. To find
the most interesting things
about our field you have to go back 30 or 40 years.
Alan used McCarthys method to design an object oriented system. He
spent only a month
implementing it because of the metasystem.
We build finite artifacts, but the degrees of freedom grow faster
than we can reason about them.
Thus, were left with debugging.
We are creatures who live in a world of stories and were always
looking for simple stories o
explain the world. He shows a clip, called Private Universe, of
Harvard grads (at graduation)
describing trying to explain the seasons. Almost everyone thought
the seasons were caused by an
elliptical orbit of the earth around the sun. It didnt matter
whether or not the students were
science majors or now. Interestingly, people know that the seasons
are reversed between the
northern and southern hemispheres. Their stories are inconsistent
with what they know, yet they
persist in believing them, even though they have the knowledge that
contradicts their theory.
When people react instantly, theyre not thinking, theyre doing a
table lookup.
Engineering predates science by thousands and thousands of years
because we dont have to
understand things to engineer them. He uses one of my favorite
quotes: an engineer is someone
who can make for a dollar what any fool could make for two.
Making computing into a science means that we have to understand
what to do about our beliefs.
When we talk, we do nothing but tell stories that people will find
interesting. Theres danger in
that because stories can create resonance without being scientific.
Distributed Systems.
The classical architecture of distributed systems relies on computer
communication protocols.
The main components of a distributed system are protocol entities
that reside in different hosts
and which exchange messages following a well defined communication
protocol.
On one side, some distributed applications require an important
deployment for testing and
debugging; on the other side, users are not interested to use
software if it has not been thoroughly
tested and is not largely deployed:
Distributed operating systems use the exchange of special purpose
messages for implementing
non-local services. This imposes that a minimal set of protocols be
explicitly wired into the
kernel. These specialized protocols restrict the kernels genericity
and adaptability;
Distributed applications usually have two parts: one that is
responsible for communication
management i.e, implementing a protocol for moving data between the
different hosts; the other
part uses the communication facilities provided by the first one in
order to implement the actual
distributed algorithm.
18
Extending the above argument, we can argue that for the application
programmer, developing a
distributed application requires a different methodology from that
of a centralized application.
When developing a distributed application, the programmer must
explicitly handle efficiently the
data exchange in the system and its processing whereas for a
centralized application, only data
processing is considered. We can thus argue that developing
distributed applications that way
is error prone; this is exacerbated by the difficulty to implement
"correct" computer
communication protocols. The ideal situation for the programmer
would be to implement
distributed applications the same way he/she implements centralized
applications;
We present in this paper a new paradigm for performing computer
communication, which we
call "communication by messengers".
When two hosts communicate using this paradigm, they exchange
programs called messengers".
The messenger contains the appropriate code to instruct the
recipient "what" it has to do next. A
messenger contains both the data and the rules necessary to perform
a given protocol.
This way of performing protocols does not require protocol entities
be preconfigured in the
communicating hosts.
It is the source host which completely determines which protocol is
to be used for the data
exchange; the destination host is not required to "know" the
protocol being used. When used as
the basis for distributed applications, the communication by
messengers paradigm brings more
flexibility. It becomes possible for an application to explore the
network and spread itself instead
of having to rely on pre-configuration and installation of
application specific software.
Another view of a messenger is that of a thread created in a remote
host on behalf of the source
host. From a programmers viewpoint, sending a messenger to a remote
host is similar to the
creation of a local thread. This offers a uniform way for
programming both centralized and
distributed applications. Moreover, the communication by messengers
paradigm can be used as a
simple way to extend the remote procedure call paradigm.
The Messenger Paradigm
The messenger paradigm is born from a new way of thinking computer
communications. Instead
of the classical sender/receiver model based on protocol entities
that exchange and interpret
protocol specific messages, Tschudin proposed in a communication
model based on the
exchange of protocol unspecific programs, called the messengers.
Hosts receiving messengers
will then execute the messengers code instead of interpreting
them as messages.
The Messenger Platform
All hosts involved in a messenger based communication share a common
representation of the
messengers and provide a local execution environment, the
messenger platform. A messenger is
executed sequentially, but several messengers may execute in
parallel inside the platform.
Platforms
arriving
messengers
~
...
~
x
y
123
19
'abc'
process
queues
channels
dictionary
messenger execution platform
msgr threads:
Messenger platform are connected through unreliable channels through
which messengers are
sent as simple messages or data packets.
A set of channels enables a messenger platform to exchange
messengers with other platforms.
The channels provide an unreliable datagram service which enables
messengers either to reach
entirely and correctly the neighboring platform or to be discarded
or lost;
Integrally arriving messengers are turned into independent messenger
processes or threads of
execution, also called messengers for simplicity. The platform does
not interfere with their
execution except for programming errors or unavailable resources.
Also do other messengers
have no means to stop or kill another messenger process without its
consent.
The executing threads are able to share common data inside a given
platform by the means of a
dictionary which contains pairs of keys and data values; Process
queues are the low-level
mechanism offered by a platform in order to allow messengers to
implement basic concurrency
control functionality such as synchronization of threads, mutual
exclusion, etc. Process queues
are FIFO queues of messenger processes. All threads of the queue are
blocked except the thread
at the head of the queue.
Platforms share
(1) a common messenger programming language, used to express
messenger behavior; and
(2) a common external representation of the messenger, used for the
physical exchange
messengers.
Primitives of a Messenger Programming Language
Messengers are exchanged between two platforms as simple messages,
using a common external
representation. Arriving messengers are turned into threads of
execution by the corresponding
platforms. A messenger is then a sequence of instructions expressed
in a messenger
programming language common to all platforms. Beside general
purpose instructions (arithmetic
operations, logical operations, etc), a messenger programming
language must offer a set of
specialized primitives. Here we present an example of such a set of
primitives: Process queues,
channels as well as global variables in the dictionary of a given
platform are accessed by
a key. Keys are either generated by the platform (e.g., name of a
channel) or can be
constructed/chosen by the messenger processes using the key ()
primitive. Global variables
in the dictionary are accessed through their key using the
get(k:key) and set(k:key,
v:value) primitives; A messenger is sent through a channel to
another platform by the
submit(k:key, m:msgr descr) primitive. It is also possible to create
a new local
messenger process by submitting a messenger to a special "loop-back"
channel the new
process is completely independent of its launching process; A
messenger is able to replace its
behavior by another behavior with the chain(m:msgr descr) primitive;
Process queues
play a central role in the synchronization of messenger processes.
Primitives for handling
process queues are: enter(q:key) which enables a messenger process
to enter a queue, such
a process will then be blocked until it reaches the head of the
queue; leave which enables the
messenger process at the head of the queue to remove itself from the
queue; stop(q:key)
20
which stops the queue so that when the
messenger process at the head of the queue leaves the
queue, the next messenger process coming at the head of the queue
will remain blocked; and
Start(q:key) which resumes a queue previously stopped by the stop
primitive. A
referenced queue that does not yet exist is automatically created by
the platform.
By the use of the submit and chain primitives, messengers are able
to act as mobile entities
that can propel themselves across the network to search for a given
information or to perform a
given task in a remote place. Alternatively, a messenger can
continue its task in the local
platform while the messengers it sent out will execute remotely
before returning with the result
of some sub-task. The possibility for a messenger process to replace
its behavior with the chain
primitive can be compared with the change of behavior of actors in
the actor model of Agha.
The difference resides in the fact that the behavior change is a
fundamental part of the actor
model: actors are seen as abstract machines dedicated to process one
incoming communication.
Actors always change explicitly or not their behavior before
processing the next communication.
On the other side, messengers are mobile entities that perform given
tasks, which are not
necessarily reactions to incoming communications.
Conclusion
The messenger paradigm is a communication model relying on
instruction-passing instead of
message-passing. Messengers are mobile threads of execution that can
travel across a network.
The basic requirements needed to achieve the messenger paradigm are:
(1) All hosts involved in the communication must be provided with
the messenger platform,
(2) Al platforms are able to interpret the same messenger
language; and
(3) Unreliable messenger "channels" link the different platforms.
Distributed systems are built on top of a communication mechanism.
The proposed
communication by messenger paradigm is a low-level communication
mechanism, which
can be used at different levels of abstraction. We have shown that
all kind of protocols can be
implemented using this new paradigm: functionality of classical
protocols, based on entities
exchanging PDUs, can be realized without entities and without PDU
exchange, using
messengers. Distributed operating systems, which depend on
communication protocols, can then
be implemented using messengers.
Going further, the classical view of data traveling the network to
be exchanged is no longer
available according to the messenger paradigm where it is the code
which travels the network to
search for the data. Following these ideas, the well-known models of
server/client and
sender/receiver are no longer available, since a messenger based
client will ask no request to a
server, but goes itself to take the information and a messenger
based server will not know which
clients are taking information. Implementing distributed
applications with messengers implies a
new way of thinking: distributed applications will no more be seen
as composed of static entities
exchanging data, but as a set of mobile threads which can propel
themselves across the network
to look for resources.
Research pushes quantum spin technology toward real-world
applications
Researchers have provided "proof of concept that quantum spin
information can be locally
manipulated using high-speed electrical circuits," according to an
abstract of their paper being
published on the "Science Express" website. The findings are
significant because they
21
demonstrate a solid-state quantum logic gate
(i.e., control mechanism) that works with gating
technologies in today's electronics, today's computers. This
research also moves esoteric spin-
based technologies of spintronics and quantum computing from the
futuristic closer to within
reach of present-day possibilities. From the Barbara: Electrical
Control of Electron Spin Steers
Spin-Based Technologies Toward Real World
Santa Barbara, Calif. -- Researchers at the University of California
at Santa Barbara (UCSB) and
at the University of Pittsburgh have provided "proof of concept that
quantum spin information
can be locally manipulated using high-speed electrical circuits,"
according to the abstract of their
paper being published expeditiously at 2:00 p.m. Jan. 23 on the
"Science Express" website,
Science Magazine's rapid portal for publication of significant
research findings to appear
subsequently in print in Science.
The findings are significant because they demonstrate a solid-state
quantum logic gate (i.e.,
control mechanism) that works with gating technologies in today's
electronics, today's
computers. This research also moves esoteric spin-based technologies
of spintronics and
quantum computing from the futuristic closer to within reach of
present-day possibilities.
The research was carried out in a joint venture between David
Awschalom, Professor of Physics
and Electrical and Computer Engineering at UCSB and Director of the
Center for Spintronics
and Quantum Computation (part of the California NanoSystems
Institute [CNSI]), and Jeremy
Levy, Associate Professor of Physics at the University of Pittsburgh
and Director of the Center
for Oxide-Semiconductor Materials for Quantum Computation.
A year ago at a program on Quantum Information held at the Kavli
Institute for Theoretical
Physics at UCSB, the two physicists fell into a conversation that
led them to wonder how
electron spins in semiconductors could be manipulated in all three
dimensions.
The problem was an old one. So-called "spin resonance" techniques,
used extensively for
magnetic resonance imaging (MRI) and chemical identification,
manipulate electron and nuclear
spins in three dimensions using rapidly alternating magnetic fields.
However, such magnetic
fields are difficult to generate and control on a local scale. By
contrast, local control over electric
fields forms the basis of all of electronics, from CPUs to cell
phones. The challenge was how to
figure out a way to control electron spins using electric fields.
Awschalom and Levy realized that if a host for electrons could be
designed for which the axis of
spin rotation changed with an applied electric field, the spin
direction could itself be controlled.
That is, they could turn electric fields into effective magnetic
fields.
The two researchers realized that semiconductor sandwiches made of
aluminum gallium arsenide
and gallium arsenide could provide just this sort of control. The
material was built atomic layer
by atomic layer in the Molecular Beam Epitaxy (MBE) laboratory of
UCSB Materials Professor
Art Gossard by Robert Myers and Dan Driscoll, graduate students
jointly of Gossard and
Awschalom. Myers and Driscoll guided the deposition of the material
such that the parabolic
quantum wells (PQWs) "are grown by varying the aluminum
concentration x, ranging from 7%
at the center to 40% at the barrier, to shape the conduction band
into a parabolic potential,"
according to the paper "Gigahertz Electron Spin Manipulation Using
Voltage Controlled g-
Tensor Modulation."
The "Science Express" results provide just such a demonstration.
Awschalom's physics graduate
student, Yuichiro Kato, conducted the low temperature experiments at
Santa Barbara. He used
microfabrication techniques to construct the semiconductor devices
and operate them, and
experimental techniques developed by Awschalom and Levy to show that
the researchers have
indeed accomplished what they set out to accomplish.
Harkening back to that conversation of conceptual breakthrough
between Levy and him,
Awschalom said, "We realized that if we write down the equations of
motion of the electron that
are normally operated on by magnetic fields, we can replace the
magnetic fields with electric
22
fields. Then we thought if that is the case, we
could use miniature gates to operate on spins
instead of magnetic fields for scalable architecture for computing."
Key to understanding the far-reaching implications of this proof of
concept is the use of
electrical fields, instead of magnetic fields, to control the
electrons. Today's semiconductor,
charge-based technologies (including computers) operate by control
of electrical fields. Most
researchers approaching the spin-based paradigm for spintronics and
quantum computing
technologies have assumed that the behavior of spins must be
controlled by magnetic fields. The
prospect of controlling 100 million magnets each independently on
the equivalent of a chip has
boggled the imagination of researchers. By contrast, controlling 100
million devices with
electrical gates is what we already do in computers sitting on a
multitude of desks throughout the
world.
The parabolic quantum wells are grown with varying concentrations of
aluminum gallium
arsenide, sandwiched between gallium arsenide, flanked by metal
plates, grown by deposition on
the gallium arsenide. Think of a sandwich with Swiss cheese in the
middle (aluminum gallium
arsenide quantum wells) flanked by meat (gallium arsenide) in turn
flanked by bread (the metal
plates). The plates are the gates with one lead for the application
of electrical current that in turn
creates the electrical fields, which enable manipulation of the
electrons through the material
whose varying concentrations of aluminum govern the rotational speed
of the electrons and the
direction of their axes.
The result is "electron spin resonance (ESR) on a chip." This
engineered nanostructure allows
use of very small voltages in traditional gates to operate on
electron spin in all three directions in
which the axis can point without requiring fast alternating magnetic
fields. "The experiments
show that it is possible to build a very scalable array of quantum
gates using semiconductors in a
relatively straightforward manner," said Awschalom.
The experiments were conducted at low temperature and at a 50-micron
scale, but designing
them to operate at higher temperatures and smaller scales will
likely not be difficult, according to
Levy.
"This work describes and demonstrates how to replace magnetic with
electrical fields for the
control of spin information in semiconductors," said Levy. He
described the findings as an
"enabling technology" for spintronics and a "feasibility
demonstration" for quantum information
processing. For the latter, the size of the gates must be reduced so
that the spin of a single
electron can be precisely controlled. Such a feat would enable
electron spins to be used as
quantum bits or "qubits" for a quantum computer. "Ultimately," the
researchers write at the end
of their paper, "these electrical gates may be scaled down for
operation on single spins and in
quantum dots to form qubits."
In contrast to bits, the "1"s and "0"s of present-day computers,
qubits can be in both the "1 state"
and "0 state" at the same time, enabling a much richer and more
powerful paradigm for
computation. The orientation of an electron spin can be used to
store one qubit of information.
Quantum gates are then needed to reorient the electron spins and
perform "quantum information
processing."
And then there is the issue of spin-spin interactions, the next
research hurdle to be overcome to
enable another milestone in this line of progression toward full
feasibility demonstration for
quantum information processing. As the researchers write, "Control
over single spin operations
is sufficient for universal quantum gating, provided there is a
'backbone' of spin-spin
interactions."
But, said Awschalom. "For the industrial sector looking at quantum
information processing and
asking whether there's a future, there is a trillion dollars of
semiconductor technology for
leveraging, and electrical control of spin makes the leveraging far
more feasible and cost-
effective than control with magnets. The only thing new here is the
concept; the technology is
23
today's technology. There's nothing so special
that would keep anybody anywhere from doing
this experiment. Our hope is that people will do this much better in
the next generation."
And, adds Awschalom the physicist in contradistinction to Awschalom
the technologist, "This
work points towards a way for potentially manipulating quantum
states and entangling them to
test some of the fundamental aspects of quantum mechanics with
existing technology."
Funding for the work is being provided by the Defense Advanced
Research Projects Agency
(DARPA).
Proceedings of the 28th Annual Hawaii International Conference on
System Sciences - 1995
DCCA : A Versatile Paradigm for the Description and Development f
Concurrent Cmmunicating
Systems (Sudhir Aggarwal * Sandeep Mitra Sanjay S. Jagdale
Department of Department of Department of Computer Science Computer
Science Systems and
Industrial Engg. SUNY-Binghamton SUNY-Brockport University of
Arizona Binghamton, NY)
Abstract
Few methodologies exist that facilitate the formal specification and
prototyping of distributed
systems. In this paper, we describe certain features of the Dynamic
Coordinated Concurrent
Activities (DCCA) model. Any DCCA specification consists of a set of
largely independent
processes, each of which, however, needs to coordinate with several
of its Upeers" in the course
of its execution. Several diverse real world applications subscribe
to such a paradigm - for
example, a distributed control system for an automated factory, and
a multiprocessor cache
coherence system. DCCA is versatile enough to facilitate the
specification of the protocols in
both these systems on the same basis. Rapid prototyping and
validation is also possible
for DCCA models, as we describe in this paper. DCCA, and the
attendant toolset could be of
great use to a software engineer. 1 Introduction Advances in
techniques for software
development for distributed systems have not kept pace with those in
hardware capabilities.
Client-server models are still the norm for such systems, but these
are inherently one-to-one
mechanisms developed at the level of source code (e.g., in C). The
networking code (e.g.,
socket establishment) is also explicitly written by the user. In
recent years, therefore, there has
been a trend towards developing alternative paradigms, and towards
describing the behavior of
systems at higher, more abstract levels. Formal Description
Techniques (FDTs) are an example
of this approach. *This research was 92-101-51 supported in part by
NSF Grant CCRThe
behavior of communicating systems can be systematically described
using the mathematical
basis of FDTs. This basis is usually state transition-oriented (as
in Petri Nets (PNs) [l],
ESTELLE [2]) or interaction sequence-oriented (e.g., LOTOS). Though
ESTELLE and LOTOS
have been standardized, few techniques exist that facilitate the
description of systems
that are inherently distributed and/or for which the target
implementation environment is of a
distributed nature. In the manufacturing domain, for example, PNs
have been extensively used to
model the system protocols ([4, 61). These PN models are, however,
usually monolithic, and
extremely complex, even for relatively small systems (for an
example, refer [4]). Moreover,
prototyping for a distributed environment is hard using PN
descriptions. Models with a different
basis are, therefore, needed. We propose DCCA as a state
transition-oriented model that
recognizes the distributed ness inherent in systems such as
manufacturing controls and cache
coherence. We discuss the features and versatility of DCCA here.
Isis ([7]) is a similar paradigm.
1.1 A Control System for the Manufacturing Environment Flexible
Manufacturing Systems
(FMSs), which reflect the state-of-the-art in automated factories,
are usually comprised of a
24
group of computerized numerically controlled
(CNC) machine tools (e.g., lathes/mills/drills)
interconnected by means of transportation agents (e.g.,
robots/conveyors). Flexible
Manufacturing Cells (FMCs) refer to smaller groupings of machine
tools. For example, a single
FMC may consist of three machine tools handled by a single robot
(that loads/unloads parts
undergoing machining from these machines). Several such FMCs may be
connected in a "star"
configuration under the control of another single robot.
Report on the DNA/Biomolecular Computing Workshop
Arthur L. Delcher
Department of Computer Science
Lee Hood
Department of Molecular Biotechnology
University of Washington
Richard M. Karp
Department of Computer Science and Engineering
University of Washington
June 6-7, 1996
Abstract
This report is a summary of the DNA/Biomolecular Computing Workshop
held on June 6-7,
1996 in Arlington, VA. The purpose of the workshop was to bring
together researchers from
both computer science and biotechnology to assess the current state
of biomolecular computing,
and to identify and explore the most promising approaches and most
critical problems of this
technology. Presentations by both computer scientists and biologists
described the current state
and future directions of biomolecular computing research and of
competing computing
technologies. The consensus of the participants was that although
there is no clear road map
toward achieving an efficient biomolecular computing device, there
are many research directions
that should be pursued that could lead to such a device.
Executive Summary
The current explosion of interest in molecular computing was sparked
by Adleman's 1994
Science paper in which he showed how to use DNA to encode and
solve a "toy" 7-city traveling
salesperson problem. Although 7 cities is such a small problem that
it can be solved at first
glance by anyone, the method used could in principle be extended to
much larger instances of the
problem. This problem is particularly interesting since it is a
member of an important class of
problems known as NP-complete for which there are no known
efficient algorithms on
conventional computers. The reasons for optimism about this approach
were the minute amounts
of DNA and energy used and the large number of molecules that could
be operated on
concurrently. But questions remained about the scalability of the
approach and the cost of
materials for it.
Since then, much work has been done, both in assessing the
theoretical computational issues of
molecular computing as well as studying and improving the practical
aspects of the biochemical
systems. Molecular computing has been shown to be universal, meaning
that it is theoretically
capable of performing any computation that a conventional computer
can. Several combinations
of computational primitives, supported by a variety of biochemical
reactions, have been
proposed, and some have been tested in the laboratory.
The DNA/Biomolecular Computing Workshop was held on June 6-7, 1996
in Arlington, VA. It
was designed to bring together researchers from both computer
science and biotechnology to
assess the current state of biomolecular computing, and to identify
and explore the most
promising approaches and most critical problems of this technology.
The format of the workshop
25
consisted of informal presentations alternating
with lively open discussions. On the last
afternoon of the workshop, separate working groups of computer
scientists and of biologists met
and prepared lists of research areas to be pursued. In the final
session these lists were presented
and discussed.
The consensus view was that it is unlikely that a general-purpose
biomolecular computer capable
of outperforming a conventional electronic computer will be produced
in the near future. This
field is in its infancy, however, and more basic research needs to
be done to assess its
capabilities. There are many possibilities for molecular computing
architectures that should be
explored. Many of these, in addition to being computationally
interesting, will almost certainly
generate useful technologies for non-computational applications.
Specific research areas that
should be pursued include better characterization of the chemical
reactions involved as
computational primitives, improved or alternative techniques for
performing input/output, and
new computational models based on molecular components other than
DNA in solution.
Introduction
A series of discoveries over the past fifty years have illuminated
the extraordinary capabilities of
living cells to store and process information. We have learned that
genes encoded digitally as
nucleotide sequences serve as a kind of instruction manual for the
chemical processes within the
cell and constitute the hereditary information that is passed from
parents to their offspring.
Information storage and processing within the cell is more efficient
by many orders of magnitude
than electronic digital computation, with respect to both
information density and energy
consumption.
The field of recombinant DNA technology has developed, based on
procedures for synthesizing,
cutting, splicing, copying, replicating and reading DNA molecules,
and for separating and
classifying them according to their size or content. These processes
are fairly slow but highly
parallel, operating on as many as 10^(16) molecules at a time. We
have the ability to create
designer genomes by splicing together selected fragments from
different organisms, and cloning
them by exploiting the self-replicating ability of bacterial cells.
Recombinant DNA technology
has also led to the creation of DNA hybridization arrays that can be
used to analyze genomes and
detect mutations associated with disease.
Recombinant DNA technology is an example in which the information
processing capabilities of
biological molecules are exploited for technological purposes.
Another example is combinatorial
chemistry, in which proteins with a specific activity, such as
binding to a particular antigen, are
synthesized by an iterative process which operates on a large pool
of candidate proteins
simultaneously in vitro, alternately selecting those proteins
that are fittest with respect to the
desired activity and then mutating them randomly to obtain a new
pool of candidate proteins.
In the examples of recombinant DNA technology and combinatorial
chemistry, processes
inherent to living cells are used to analyze or modify biological
molecules, and to select those
with desirable properties. The field of biomolecular computing goes
further by using these
processes to perform information processing that has no intrinsic
connection with the processing
of biological molecules - in other words, biological molecules are
used as a medium for general-
purpose digital computation.
Biomolecular computing leapt into prominence in late 1994 through
the work of Len Adleman,
who performed a laboratory experiment in which a collection of DNA
molecules was
constructed representing the possible solutions to a toy
combinatorial problem, and recombinant
DNA techniques were used to sift through these molecules to select
the correct solution.
Subsequent work has introduced many refinements, but has for the
most part stuck to Adleman's
original generate-and-test approach, in which a large collection of
candidate solutions is
26
generated, and tests are then performed in
order to discard the incorrect solutions, until only the
correct ones remain.
The original enthusiasm, based on the extraordinary energy
efficiency and compactness of
information storage afforded by the DNA medium, together with the
extraordinary degree of
parallelism of recombinant DNA procedures, is tempered by a number
of sobering concerns.
Among these are the following:
It seems infeasible to operate on more than about l0^(16) DNA
molecules at once. Thus
the generate-and-test approach is limited to problems with at most
l0^(16) candidate
solutions. Typical problems of this size are easily dealt with by
conventional methods of
computation, leaving little advantage for DNA computing.
DNA processing is slow, so that long sequences of steps must be
avoided.
DNA processing is error-prone. Error-correction techniques are
available, but they
multiply the numbers of steps required and the numbers of molecules
processed in each
step.
In a large-scale DNA computation the cost of materials such as
oligos, ligases,
polymerases, restriction enzymes and hybridization enzymes may be
prohibitive.
Because of these considerations DNA computation as we currently
understand it may have a
very limited range of application. Certainly no "killer application"
has been identified yet.
Nevertheless, biomolecular computing is still in its infancy. Our
understanding of it, currently
limited to a particular paradigm of DNA computing, will surely
broaden as we gain a better
understanding of information storage and processing in living cells,
and the challenge of
achieving cost-effective biomolecular computing will surely serve as
a forcing function for
advances in both biotechnology and computer science. Despite the
short durat | | | | | | |