| |
| Supervisor: |
DR.
DANIEL COORE |
| Students: |
Ricardo
Anderson, Jamala Bryan, John Muirhead, Richard Lawson, Howard
Nation, Vernon Rowe, Daryl Strachan |
| |
|
|
| OVERVIEW |
|
WORK
IN PROGRESS |
| A
colony of cells, sharing a common genetic code, self-organises
to produce an organism. Amorphous Computing seeks to understand
the organisational principles behind such phenomena by studying
methods for programming computational models of such systems.
|
|
GPL:
A language for specifying patterns. Programs are written in
terms of "growing points" that can move across the substrate
of particles, depositing material which we view as a pattern.
|
| |
 |
| |
 |
The
evolution of a GPL program producing the pattern at the far
left. This pattern represents a CMOS layout of an inverter,
one of the most primitive circuit elements of digital logic. |
| |
AIM
To
be able to configure (program) complex systems of locally interacting
elements to achieve a prespecified emergent behaviour. |
|
|
|
|
|
|
| |
|
|
|
|
|
| |
ECOLI:
A language for specifying interactions. Programs are written
in terms of responses to events (messages and inputs). A response
on one particle triggers an event on its neighbours, and they
respond in turn. Programs at this level try to control explosion
events. |
| |
| |
 |
 |
| MODEL |
|
| Particles
are irregularly located in space. They do not know their own
coordinates. |
 |
|
| |
 |
Each
processor runs the same program. In this program, one processor
triggers its neighbor to send a value in its message that is
one higher than that received. The intended result is that processors
label themselves with the hop-count distance from the initiating
processor. |
 |
The
evolution of the program above. Source points randomly select
themselves to initiate the first set of messages. Each colour
in the images represents a different distance. |
| |
| |
| |
| |
|
|
|
|
| Particles
communicate by broadcasting over a fixed range.
|
 |
|
|
|
| |
Simulations
of
physical systems enable us to explore our ideas realistically.
Amorphous Computers might be realised in many ways, e.g: silicon
based chips, bacteria, nano-machines, or software agents acting
in a virtual system. The low level details of each of these
systems requires a different implementation. We strive to design
flexible and powerful Amorphous Computing simulators without
sacrificing performance. |
| |
| |
| Particles
have small memories and simple processing power. |
|
 |
 |
| |
| Particles
receive input by sensing their environment. |
|
| |
| All
particles run the same program. Behavioural differentiation
arises from sensor changes and inter-particle communication.
|
|
| |
| |
 |
A
diagram of a proposed protocol for inter-particle communication.
This protocol can be embedded into the ECOLI-interpreting simulator.
|
| |
|
| Particles
run asynchronously, but with comparable speeds. |
|
|
 |
A
screen shot of ECOLI-interpreting simulator, developed in Summer
2001 |
| |
|
|
| |
|
|
|
|
| POTENTIAL
APPLICATIONS |
|
|
|
|
|
| "Smart"
Structures, e.g. |
|
|
Manipulating
micro-organisms |
|
Providing
Models for: |
- stronger
bridges
- active
aeroplane wings
- ergonomically
sensitive furniture
- roads
that report traffic loads
|
|
- make
molecular-scale electronic circuits
- tag
diseased cells
- dispense
drugs to localised sites
- provide
data storage
|
|
-
low
cost supercomputing
- large-scale
resource management
|
| PROJECTS |
|
|
|
|
| |
| Supervisor: |
DR.
EZRA MUGISA |
| Students: |
Carl
Beckford, Phillipa Bennett, Errol Dennis, Christopher Green,
Pushpa Janagaraja, Richard Pyne |
| |
|
|
|
|
|
|
|
| COMPONENT
BASED SOFTWARE ENGINEERING (CBSE) |
|
|
|
|
| CBSE
is a sub-discipline of software engineering (SE). It shares
some of the same strengths and weakness of the discipline of
software engineering. One major problem in software engineering
is that it is currently an unregulated discipline that is trying
to mature into professional status to be like its more mature
engineering cousins. CBSE is rooted in reusability, a concept
that is relatively new to SE but is well known in mature engineering
disciplines. |
| |
|
|
|
|
|
|
|
| CBSE
is primarily concerned with three functions: |
- Developing
software from pre-produced parts
- The
ability to resue those parts in other applications
- Easily
maintaining and customising those parts to produce new functions
and features
|
| These
functions are to be found in mature engineering disciplines,
where components (or parts) may be bought and sold on the open
market. |
| |
|
|
|
|
|
|
|
| THE
MORRESA PROJECT |
|
|
|
|
| The
MORRESSA project is the major project our group has undertaken.
MORRESA stands for Mona Repository of Reusable Software Assets.
Under this project we are building a repository of reusable
software assets for software development with reuse. We have
the following sub-projects: |
- The
Software Supermarket (SoS): Here we formerly specify and
design a software repository. We investigate various issues
associated specifically with heterogeneous repositories
that accommodate multi-type components. We are also interested
in an environment that will support the SoS.
- Reusable
Software architecture (RSA) for an accounting information
system: We define a reusable software architecture. RSAs
are components that will be used to populate the repository.
- Bridging
the gap between UML designs and formal specifications.
- A
Generic Business Transaction System: Here we are looking
at investigating a reform of the lifecycle of business transaction
systems through application reuse and metamorphosis.
|