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
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertisement