Sei sulla pagina 1di 82

UbiCom Book Slides

Chapter 10
Autonomous Systems & Artificial Life
(All Parts, Short Version)

Stefan Poslad
http://www.eecs.qmul.ac.uk/people/stefan/ubicom
Ubiquitous computing: smart devices,
environments and interaction

Chapter 10: Overview


Chapter 10 focuses on:
Internal system properties: autonomous
External interaction with any type of environment
Focussing more on physical environment
A lesser extent focussing on Human & ICT environments

Ubiquitous computing: smart devices, environments and interaction

Chapter 10: Overview


The slides for this chapter are split into several parts:
Part A: Autonomous Systems: Basics
Part B: Reflective & Self-Aware Systems
Part C: Self-Management & Autonomic Computing
Part D: Complex Systems
Part E: Artificial Life

Ubiquitous computing: smart devices, environments and interaction

Part A Outline

Basics
Types of Autonomous System
Autonomous Intelligent Systems
Limitation of Autonomous Systems
Self-* Properties of Intra-Action

Ubiquitous computing: smart devices, environments and interaction

Introduction
Term autonomous originates from the Greek terms autos
meaning self and nomos meaning rule or law.
Autonomy is considered to be a core property of UbiCom
systems
enabling systems to operate independently
without external intervention.

Autonomous systems operate at the opposite end of the


spectrum to completely manual, interactive, HCI systems.
Without autonomous systems, sheer number & variety of
tasks in an advanced technological society that require
human interaction would overwhelm us and make system
operation unmanageable.
Ubiquitous computing: smart devices, environments and interaction

Automatic System
An automatic system is specific type of autonomous system
designed to
Act without human intervention
Execute specific preset processes
Work in deterministic & dynamic environments
Incorporate simple models of environment behaviour
Incorporate algorithms to control the environment (closedloop control systems).

Ubiquitous computing: smart devices, environments and interaction

Autonomous Systems
More general types of systems than automatic systems are
needed. Why?

Ubiquitous computing: smart devices, environments and interaction

Autonomous Systems: Design


4 major designs for general autonomous systems:
Dynamically reusable and extensible components
EDA and context-aware system
Hybrid goal-based (Section 8.3.4) and environment model
based IS systems (section 8.3.3).
Autonomic Systems

Ubiquitous computing: smart devices, environments and interaction

Autonomous Systems Design:


Component-based

Autonomous systems can be designed to consist of dynamically


reusable and extensible components
There are different types of component autonomy / cohesion
Design autonomy
Interface Autonomy
Components use of SOA (Section 3.2.4).
Component functions could be reprogrammable e.g., using mobile
code (Section 4.2.2).

These types of systems tend to have a strong notion of ICT


environment autonomy
but not of their physical & human environment autonomy.
Ubiquitous computing: smart devices, environments and interaction

10

Autonomous Systems Design: EDA,


Context-Aware
Autonomous systems which operate in dynamic
environments can be designed to ?

These systems tend to focus on:


Physical world awareness and user awareness
How the system decides how to adapt to such context changes &
how they affect current, active, user goals (Section 7.2).

Ubiquitous computing: smart devices, environments and interaction

11

Autonomous Systems Design: IS


Autonomous systems can be designed to be hybrid goalbased (Section 8.3.4) and environment model based IS
systems (section 8.3.3).

Generally, focus of such systems is on supporting a notion


of social autonomy or self-interested behaviour rather than
on supporting ICT environment autonomy or physical
environment autonomy.

Ubiquitous computing: smart devices, environments and interaction

12

Autonomous Systems Design:


Autonomic
Autonomous systems can be designed to be autonomic.
How?

Key challenges?

Ubiquitous computing: smart devices, environments and interaction

13

Autonomous Intelligent Systems


Autonomy is a key property of an IS

An IS may have a physical embodiment or software


embodiment which may be free to be executed in any part
of a internetworked virtual computer.

Ubiquitous computing: smart devices, environments and interaction

14

Autonomous Types: Self Governance


There are two main kinds of autonomy:
self-governance : not controlled by outside forces
Independence: The state of being able to support oneself without
help from others,

Ubiquitous computing: smart devices, environments and interaction

15

Social / Organisational Autonomy


Often an IS will delegate actions to another one, making it
dependent on actions of another IS
But risk of failure for the delegated actions because of
misunderstandings, disagreements and conflicts, error,
unknown private utilities and self-interests may operate.

Designs for IS to cope with risk of delegation of actions?

Ubiquitous computing: smart devices, environments and interaction

16

Autonomous versus Automatic


Automatic refers to a system being self-steering

To be self-steering requires a system to sense its


environment & act upon it based upon what it has sensed
Autonomous are generally first automatic systems but
which are extended so that they become self-governed.

Ubiquitous computing: smart devices, environments and interaction

17

Limitation of Autonomous Systems


Systems designed to be autonomous over parts of its lifecycle

Challenges in supporting full autonomy?

Ubiquitous computing: smart devices, environments and interaction

18

Self-* Properties of Intra-Action


Application processes are not influenced by external
behaviour or control but are dependent on, or driven by,
their internal behaviour
Attempts to externally pertubate the system will be resisted
and moderated in autonomous systems.
Some system behaviour is decentralised and local,
However, other system behaviour is community-wide, global
Set of so called self-* properties is a way to characterise
autonomous systems
These are also called the self-self-x or auto-* properties

Set of self-* properties that need to be supported depends


upon the application domain and system design.
Ubiquitous computing: smart devices, environments and interaction

19

Self-Star Properties
Need to model complex systems whose components have
some autonomy and propensity to maintain and improve
their own operation in the face of external environment
perturbations, e.g.,
Autonomic computing
Organic Computing
IS

Ubiquitous computing: smart devices, environments and interaction

20

Self-Star Properties
Self-star model focuses on doing things self-contained or
doing things internally

List of types of self-star system could be expanded


to incorporate self-referencing, self-interaction (intranets) etc.

Ubiquitous computing: smart devices, environments and interaction

21

Self-star Properties: Examples

Self-Configuring
Self-Regulating
Self-Optimising, Self-Tuning
Self-Learning
Self-Healing, Self-Recovery
Self-Protecting
Self-Aware
Self-Inspection Self-Decision

Self-Interested
Self-Organising
Self-Creating, SelfAssembly, Self-Replicating
Self-Evolution, Emergence
Self-Managing or selfgoverning
Self-Describing SelfExplaining
Self-representing

Ubiquitous computing: smart devices,


environments and interaction

22

Part B Outline
Self-Awareness
Self-Describing and Self-Explaining Systems
Self-Modifying Systems based upon Reflective
Computation

Ubiquitous computing: smart devices, environments and interaction

23

Context-Awareness versus SelfAwareness


Context-awareness is complementary to self-awareness.
Context-awareness (Section 7) focuses on an awareness
of a systems external environment (user, ICT, Physical )
context, periodically sensing this, automatically detecting
significant change, and using this to adapt the internal
systems behaviour to external environment behaviour.
An associated design issue is what degree if any, an
awareness the system needs of its own internal behaviour.
Self-awareness focuses on monitoring its internal
behaviour in order to optimise its behaviour

Ubiquitous computing: smart devices, environments and interaction

24

Self-Awareness
Basic design is that an ICT system does not process itself
or is not aware of its own actions. Why not?

Is basic designs for Intelligent Systems inherently selfaware?

Useful that systems know its internal state & how it acts?

Ubiquitous computing: smart devices, environments and interaction

25

Self-Awareness: Applications
Optimising internal resource use

Robots, e.g., robot arms

Self-explaining systems

Ubiquitous computing: smart devices, environments and interaction

26

External Descriptions & Explanations


Common reasons why systems are less usable?
Intelligibility to user etc

Disadvantages to using an external operators manual?

How to support self-descriptions?


Using internal (to the device) resources
Hybrid: device can be queried for the address, e.g., URL, of its
description, but which resides elsewhere in its environment, e.g.,
the Cooltown and Semacode, Tagging (Chapter 6)

Ubiquitous computing: smart devices, environments and interaction

27

Self-Describing & Self-Explaining


Systems
A self-describing system is able to describe itself from the
perspective of what
A self-explaining system describes itself from the perspective
of how and why.
Self-descriptions & self-explanations can be supported at
multi-levels
Systems can also provide mechanisms and interfaces to output their
external for other meta-level processes or diagnostics
e.g., the JTAG interface (Section 6.6.1).

Devices know their state in relation to their plans and goals


etc
Ubiquitous computing: smart devices, environments and interaction

28

Self-Description: Limitations & Design


Issues
Limitations?

Design issues?

How rich are descriptions?


How structured are they?
How full versus short?
Internal versus external and on-line versus off-line,
Co-located versus external not co-located (Section 6.2).

Ubiquitous computing: smart devices, environments and interaction

29

Reflection
Reflection is the process by which a system can observe its
own structure and behaviour, reason about these and
possibly modify these
Reflection has several benefits for UbiCom?

Reflection is considered in more detail in Section 10.3.3.

Ubiquitous computing: smart devices, environments and interaction

30

Reflective System Architecture

To support reflection, reflective computation is done by a system


at a meta-level about its own operation at the application or base
level of the system

Reflection
There are three elements to the reflection process:
Instrumentation: The act of arranging a piece
Introspection: your own thoughts and desires and conduct
Adaptation: the responsive adjustment to varying conditions

Ubiquitous computing: smart devices, environments and interaction

32

Reflection Design
Combined system reflection & operation representation

Separate system reflection & operation representation

Design issues?

How to support & enable this meta-level processing


How the reflection is represented,
what triggers the reflection
what parts of the system can be reflected upon
performance & security aspects of using reflection.
Ubiquitous computing: smart devices, environments and interaction

33

Reflection Design
Reflection as an extension to middleware model?

Reflective model is often applied as a design for contextaware systems. How?

Ubiquitous computing: smart devices, environments and interaction

34

Part C: Outline

Basics
Self-* Management & Control
Autonomic Computing Design
Autonomic Computing Applications
Modelling and Management Self-Star Systems

Ubiquitous computing: smart devices, environments and interaction

35

Autonomic Computing
Motivation for autonomic systems was to deal with the
obstacle of IT system complexity:
The growing complexity of the IT infrastructure threatens to undermine
the very benefits information technology aims to provide (Horn, 2001).

Autonomic computing is one of the most well-known types of


self-* system
Autonomic computing is also referred to as self-managing systems or
self-governing systems.

Autonomic computing was inspired through analogy with the


human bodys nervous system.
Autonomic systems can be constructed as group of locally
interacting autonomous entities that cooperate to maintain
system wide behaviour without any external control.
Ubiquitous computing: smart devices, environments and interaction

36

Types of Self-* Control Compared


Policies

Global

Global
Policies
Local

Control
Loop

Local

Local

Local

Local
Local

Policies
Local

Local
Local

Policies
Local

Policies

Policies

Local

Local

Key Autonomic Computing Properties


Different definitions of key properties
Keplar:

self-configuration
self-optimisation
self-healing
self-protection.

Ganek
self-awareness
context-aware adaptation
planning to control behaviours constrained by system policies.

Ubiquitous computing: smart devices, environments and interaction

38

Taxonomy for Basic Self-star


Properties
General Classification for basic self-star properties of
systems can be based upon?

Ubiquitous computing: smart devices, environments and interaction

39

Taxonomy for Basic Self-star


Properties
Hence, agent designs oriented to these environments can
form the basis of designs of autonomic systems
Specific properties relate to the type of organisation:

Spatially dependent,
Role-based,
Group-based,
Resource access control
Self protecting.

Ubiquitous computing: smart devices, environments and interaction

40

Taxonomy for Basic Self-star


Properties
Methods for coordination of autonomous systems are
dependent on the type of organisation

Tuning servers individually (also called locally or on a


microscopic scale) may be beneficial

However in other applications, tuning servers individually,


may not be optimal

Ubiquitous computing: smart devices, environments and interaction

41

Autonomic Computing Design

Autonomic Computing: Architectural


Models
5 basic components:
a user interface (task manager)
an autonomic manager with an autonomic control loop
a knowledge base about the managed resources including
management policies
a standardised interface to access managed resources
(TouchPoint)
service-based communications network, the ESB (Section
3.3.3.8).

Ubiquitous computing: smart devices, environments and interaction

43

Designs to Support Self-* System


Components
SNMP and the MIB can be used to implement TouchPoint
& part of knowledgebase (Chapter 12)
Semantic and Syntactical metadata wrappers can be used
to describe the structures of resources in richer ways.
Sensors can poll resources or receive notifications about
events in resources (Chapters 3,6)
Designs for autonomic control loop can be based on:
feedback control algorithms (Section 6.6)
action selection loop design of intelligent systems (Section 8.3).
Ubiquitous computing: smart devices, environments and interaction

44

Designs for Self-* System

Different Levels of Support for Self-*


Properties

Self-star systems can be designed to support different


maturity levels of self-star properties:
Basic
Managed
Predictive
Adaptive
Autonomic

Ubiquitous computing: smart devices, environments and interaction

46

Autonomic Computing Applications


Channels allocation to meet peak demand for calls in
different mobile phone cells

Load-balancing in servers to meet a designated QoS under


variable external processor loads
Intrusion detection:

Protecting Critical Infrastructures (SCADA):


Ubiquitous computing: smart devices, environments and interaction

47

Modelling & Managing Self-* Systems


How to model and mange systems which are dynamic
decentralised and to an extent, non-deterministic?
Unit testing and formal proofs?
Statistical methods?
Equation based computation methods ?
Equation free computation methods ?
Time series chaos theory analysis?

Ubiquitous computing: smart devices, environments and interaction

48

Modelling Self-* Systems


Modelling behaviour & interaction in simple life-forms forms
an important contribution to improve models of complexity.
Mathematical equations nay not capture many of natures
most essential mechanisms.
Modelling systems purely based upon physics interaction
may lead to useful self-organising system models, models
They must take into account higher level social science
interaction models

Ubiquitous computing: smart devices, environments and interaction

49

Part D Outline

Basics of Complex Systems


Self-Organisation and Interaction
Self-Creation
Self-Replication

Ubiquitous computing: smart devices, environments and interaction

50

Complex Systems
Complex system is defined to be a system whose
properties are not fully explained by an understanding of its
component parts
In computation, a complex system often represents a hardproblem that cannot be solved within polynomial time.
Complex ubiquitous systems?

Ubiquitous computing: smart devices, environments and interaction

51

Complex Systems
Complex systems can arise when?

Complexity can also arise through, or can be designed


using, simple interactions and repeated applications of
simple rules

Ubiquitous computing: smart devices, environments and interaction

52

Modelling Complex Systems


It is not clear how accurate or equivalent the complexity
models of one phenomenon,

Models of relative complexity?

Modus also discusses the growth in complexity

Ubiquitous computing: smart devices, environments and interaction

53

Modelling Complex Systems


Conventional technique to modelling complex systems is
the divide-and-conquer or reductionist approach

Some systems however, have macro properties which are


almost impossible to predict from knowledge of the micro
level properties of the individual parts of the system

Ubiquitous computing: smart devices, environments and interaction

54

Modelling Complex Systems


Key design challenges is whether or not complex system
that are designed by:
specifying local interactions
can be controlled, constrained
can be coherent

Can they enable the separate lower level components to


act at a higher level in some unified way?

Ubiquitous computing: smart devices, environments and interaction

55

Self-Organisation and Interaction


Self-Organisation is a set of dynamical processes whereby
stable or transient structures or order appears at a higher
or global level of a system from the interactions between
the lower-level or local entities
Self-organised behaviour can be characterised by key
properties such as:
Spatiotemporal structures
Multiple equilibria
Bifurcations

Ubiquitous computing: smart devices, environments and interaction

56

Emergent versus Self-Organising


Systems
Emergent or process of macro behaviour emerging from
micro or local behaviour is also called micro-macro effect.
Self-organisation is an adaptable behaviour that
autonomously acquires and maintains an increased order,
statistical complexity, structure, etc.
Emergence can have a micro-macro effect, but may not be
self-organising, hence
System can have emergence without self-organising.
System can also be self-organising without emergence.

Self-organising & Emergent are often combined

Ubiquitous computing: smart devices, environments and interaction

57

Self-Organising Systems: Interaction


Mechanisms
Interaction mechanisms & organising and coordinating
autonomic system components?

Digital Stigmergy
Co-field coordination (or Gradient-based Coordination)
Tag-based,
Token-based

Ubiquitous computing: smart devices, environments and interaction

58

Digital Stigmergy: Design Principles

Proximity principle
Quality principle
Diverse response
Stability principle
Adaptability principle

UbiCom Applications
Network routing
Power distribution & energy regulation system etc

Ubiquitous computing: smart devices, environments and interaction

59

Co-field Coordination
Inspired by physics forces in nature
Also called Gradient-based Coordination and Wave Propagation
coordination

Autonomous entities can spread out a computation field or


co-field, throughout the local environment
UbiCom Applications:
to provide context information to other entities to follow the field.
to signal that someone wants priority use of specific resources.
to repel (separation) or attract individuals (cohesion and alignment).
to support tourists in planning their activities
Ubiquitous computing: smart devices, environments and interaction

60

Tag based Coordination


Observable labels are attached to things.
Can be used to make control decisions, to allow selforganisation of things according to tag types.

UbiCom Applications:
Resource allocation in networks to enable them to adapt to
continuous node failure and to the addition of new nodes and
resources and changes in traffic conditions (Section 11.8.1).

Ubiquitous computing: smart devices, environments and interaction

61

Token based Coordination


Token based coordination resource access control token
can be circulated amongst resource users
Section 11. 8.1

Token based vs. Tag based coordination?


Applications

to control access to shared things such as devices or people in


social spaces, e.g., patient appointment system

Ubiquitous computing: smart devices, environments and interaction

62

IS Models as Self-Organising Systems


MAS: can support relatively fixed organisational models
based upon quite complex agents and relatively complex
cooperative and competitive interaction

But these often lack the flexibility to dynamically reorganise


and to self-organise?
Cellular computing
Amorphous computers
Ubiquitous computing: smart devices, environments and interaction

63

Self-Creation and Self-Replication


Self-organising models discussed so far focus on how
existing peers and resources are optimised through selforganisation, not clear how
Self-replication is considered to be a hallmark of living
systems.
Evolution of self-producing systems require strategies that
lead to cumulative selection of traits occurs over multiple
cycles of reproduction

Ubiquitous computing: smart devices, environments and interaction

64

Self-Replication: Computer Viruses


Computer virus is a well-known examples of artificial selfreplicating mechanism.

Computer virus is also referred to as a self-reproducing or


self-replicating program (SRP).
Tends to be software virus rather than a hardware virus.
Why?
Are nano devices more dangerous than Micro size MEMS
as hardware viruses?
Ubiquitous computing: smart devices, environments and interaction

65

Self-Replication: Computer Viruses


Virus is often introduced into host system & hidden

Virus contains a trigger that activates the self-replication


mechanism

Computer viruses versus Worms?


Anti-virus systems?

Ubiquitous computing: smart devices, environments and interaction

66

Part E Outline
Basics of Artificial Life
Finite State Automata Models
Evolutionary Computing

Ubiquitous computing: smart devices, environments and interaction

67

Artificial Life
Are systems which mimic natural life and are characterised as
follows.
Have a finite lifetime from birth to death.
Use selective reproduction.
Their offspring inherit some of traits of the parents.
They use survival of the fittest (evolution).
They support the ability to expand in numbers to command
a space or habitat.
They can respond to stimuli in a habitat, acting to maintain
it and adapting to it.

Ubiquitous computing: smart devices, environments and interaction

68

Artificial Life
Living organisms are consummate problem solvers
Hence the motivation for use of artificial life models?

UbiCom Applications?

Ubiquitous computing: smart devices, environments and interaction

69

Finite State Automata (FSA) Models


There are different types of FSA:

FSM can be represented in several ways, mathematically:

FSMs can be used to model devices with a finite set of


states such as off, on and standby.

Ubiquitous computing: smart devices, environments and interaction

70

Finite State Automata Models

(Multi) Cellular Automata Models


Are models of self-reproducing organisms
Can be designed in the form of a grid, where each cell is
represented as an FSM
Cell exists in 1 of 2 states dead or alive & which use basic
transformation rules to transform a cell into dead or alive.
E.g., rules of Conways Game of Life

Ubiquitous computing: smart devices, environments and interaction

72

Conways game of life

This example illustrates the principle that reactive type behaviours


combined with a set of simple transformation rules, when
repeatedly applied, can model more complex behaviours
e.g., the gliding pattern

Multi) Cellular Automata Models


Other more complex rules of life can also be formulated.
Other examples of simple rules governing collective
behaviour?
Rule model for flocks of animals (Section 10.4).

Multiple individual FSMs can also be interconnected to form


device networks.

Ubiquitous computing: smart devices, environments and interaction

74

Evolutionary Computing
Evolutionary computing are computer algorithms which
involve cumulative selections from a population of entities
to solve a problem.
Behaviour of entities in the system is governed by implicit
behaviours and goals,
Cumulative mean that in each generation or step of
evolution, existing entities reproduce to form a new
generation of entities.

Ubiquitous computing: smart devices, environments and interaction

75

Evolutionary Computing
Evolutionary computing originated from research in cell
automata, the ideas also changed somewhat.
New generations are based upon the best traits of the
previous generation rather than on rules which define how
the existing generation transforms into the next one.
There is a set of possible outcomes for reproduction
determined by natural selection.

Ubiquitous computing: smart devices, environments and interaction

76

Evolutionary Computing
Main types of evolutionary computing techniques include:
Genetic Algorithms (GA) and Genetic Programming (GP),
Evolutionary Strategies (ES) and Evolutionary
Programming (EP).

Ubiquitous computing: smart devices, environments and interaction

77

Digital Ecosystems
Digital ecosystem is analogous biological ecosystem which
consists of a community:
Set of organisms from different species interacting together
Organisms interact with and lives in harmony with their habitat.

Distributed Evolutionary Computing (DEC) as an extension


of SOA
Evolutionary computing is used locally within an ecosystem
to find individual members of ecosystem to satisfy locally
relevant constraints.

Ubiquitous computing: smart devices, environments and interaction

78

Summary

Ubiquitous computing: smart devices, environments and interaction

79

Revision
For each chapter
See book web-site for chapter summaries, references,
resources etc.
Identify new terms & concepts
Apply new terms and concepts: define, use in old and
new situations & problems
Debate problems, challenges and solutions
See Chapter exercises on web-site

Ubiquitous computing: smart devices, environments and interaction

80

Exercises: Define New Concepts


Annotation

Ubiquitous computing: smart devices, environments and interaction

81

Exercise: Applying New Concepts

Ubiquitous computing: smart devices, environments and interaction

82