UbiCom Book Figures - Queen Mary University of London

Download Report

Transcript UbiCom Book Figures - Queen Mary University of London

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
1
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
2
Introduction
Ubiquitous computing: smart devices, environments and interaction
3
Related Chapter Links
• Sometimes autonomy is seen as a property of intelligence
(Chapter 8)
• Designing UbiCom systems to be autonomous enables
them to be self-managed (chapter 12)
Ubiquitous computing: smart devices, environments and interaction
4
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
5
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
7
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
8
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
9
Autonomous Systems
More general types of systems than automatic systems are
needed. Why?
Ubiquitous computing: smart devices, environments and interaction
10
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
11
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
12
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
13
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
14
Autonomous Systems Design:
Autonomic
• Autonomous systems can be designed to be autonomic.
How?
• Key challenges?
Ubiquitous computing: smart devices, environments and interaction
15
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
16
Autonomous Types: Self Governance
• There are two main kinds of autonomy:
– self-governance
– independence.
Ubiquitous computing: smart devices, environments and interaction
17
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
18
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
19
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
20
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
21
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
22
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
23
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
24
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
25
Context-Awareness versus SelfAwareness
• Context-awareness is complementary to self-awareness.
• Context-awareness (Section 7) focuses on an awareness
of a system’s external environment (user, ICT, Physical )
context, periodically sensing this, automatically detecting
significant change, and using this to adapt the internal
system’s 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
26
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
27
Self-Awareness: Applications
• Optimising internal resource use
• Robots, e.g., robot arms
• Self-explaining systems
Ubiquitous computing: smart devices, environments and interaction
28
External Descriptions & Explanations
• Common reasons why systems are less usable?
– Intelligibility to user etc
Disadvantages to using an external operator’s 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
29
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
30
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
31
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
32
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
• introspection
• adaptation
Ubiquitous computing: smart devices, environments and interaction
34
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
35
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
36
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
37
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 body’s nervous system.
• Autonomic systems can be constructed as group of locally
interacting autonomous entities that cooperate to maintain
system wide
behaviour
without
any external
Ubiquitous
computing: smart
devices, environments
and interaction control.
38
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
40
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
41
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
42
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
43
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
45
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
46
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
48
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
49
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
50
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 nature’s
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
51
Part D Outline
•
•
•
•
Basics of Complex Systems 
Self-Organisation and Interaction
Self-Creation
Self-Replication
Ubiquitous computing: smart devices, environments and interaction
52
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
53
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
54
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
55
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
56
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
57
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
58
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
59
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
60
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
61
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
62
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
63
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
64
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
65
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
66
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
67
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
68
Part E Outline
• Basics of Artificial Life 
• Finite State Automata Models
• Evolutionary Computing
Ubiquitous computing: smart devices, environments and interaction
69
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
70
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
71
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
72
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 Conway’s Game of Life
Ubiquitous computing: smart devices, environments and interaction
74
Conway’s 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
76
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
77
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
78
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
79
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
80
Summary
Ubiquitous computing: smart devices, environments and interaction
81
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
82
Exercises: Define New Concepts
• Annotation
Ubiquitous computing: smart devices, environments and interaction
83
Exercise: Applying New Concepts
Ubiquitous computing: smart devices, environments and interaction
84