300 likes | 481 Views
Terminology in Organic Computing. Gero Mühl Communication and Operating Systems Group Faculty for Electrical Engineering and Computer Science Berlin University of Technology. Complexity. P2P. Ubicomp. C/S. E-Home. Size. PC. PDA. Flexibility. Motivation.
E N D
Terminology in Organic Computing Gero Mühl Communication and Operating Systems Group Faculty for Electrical Engineering and Computer Science Berlin University of Technology
Complexity P2P Ubicomp C/S E-Home Size PC PDA Flexibility Motivation • Distributed System are getting more and more complex and, thus, also more difficult to manage • Number of Components (Moore‘s Law), Networking (Internet), Dependencies, Speed of Change (Mobility), Heterogeneity, … • Management costs often already dominate the acquisition costs for hardware and software • In many cases, the knowledge necessary for management are missing (e.g., in E-Home scenarios) • Complexity becomes the limiting factor! • Vision: Stepwise automation of the management tasks finally leading to self-managing systems Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Overview • Motivation • Organic Computing • System Model • Adaptive Systems • Self-Managing Systems • Self-Organizing Systems • Illustration Using an Exemplary System Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Organic Computing • Biological systems as examples for computer systems • Main Targets • Creation of systems with life-like properties • Autonomous, adaptive, capable of learning, scalable, fault-tolerant, … • Self-x properties (self-organization, -configuration, -optimization, -protection, -healing, etc.) • Transferring approaches from living nature to computer systems • Redundancy, observer/controller pattern, swarm behavior, immune defense, pheromone-based algorithms, … • Care about the users’ wishes and needs • Usability, context awareness, … Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Organic Computing • Challenges if systems is given more autonomy • Ensure positive emergence (e.g., by self-organization) • Prevent negative emergence (essential for safety-critical applications) • Not directly in the focus of Organic Computing • DNA-Computer • Genetic Algorithms • Artificial Intelligence Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Motivation • The terms adaptive, self-managing, and self-organizing systems are used in many articles with similar meanings but without a precise definition! • Questions raised • Are these terms synonyms? • If not, what are the differences among them and what could be a precise definition for them? Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Overview • Motivation • Organic Computing • System Model • Terminology • Illustration Using an Exemplary System Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
System Model: Input and Output [Willems91] • Input functioni: T→ I • Output functiono: T→ O • Input InterfaceI • defines the values an input function may take • Output InterfaceO • defines the values an output function may take • T may be ℝ+,0 for continuous time systems and ℕ0 for discrete time systems S i(t) o(t) I O Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
System Model: Behavior • Binary relation B defining which output functions may be observed for which input functions • If (i, o) ∈B, the system may output o when fed with i • Deterministic systems: for each i there is exactly oneo such that (i, o) ∈B • Describes the system’s behavior that may be observed at its interfaces black-box view • Does not tell anything about how the system realizes its behavior systems with state are also covered Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Overview • Motivation • Organic Computing • System Model • Terminology • Illustration Using an Exemplary System Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Adaptive Systems [Zadeh63] • “A system is adaptive iff it performs acceptably well for a defined set of input functions” • A set of input functions F • A performance function p • takes an input function i and an output function o • returns a time-dependent, vector-valued function • An acceptability criterion W is a set of a time-dependent, vector-valued functions • A System is adaptive wrt. a triple (F, p, W) iff ∀(i ∈ F ): (i, o) ∈ B ⇒ p(i, o) ∈ W Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
j S1 S2 i Main Objections Against Definition • Since all systems are adaptive wrt. some (F, p, W), it is rather useless! • There are many definitions of other relative system properties (e.g., partial correctness) which can be satisfied by any system • It is only interesting wrt. to which (F, p, W) a system is adaptive • It is non-quantitative! • It can easily made quantitative by defining a series of {F1, F2, …} and {W1, W2, …}, where Fi+1⊃ Fi and Wj+1⊂ Wj Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Main Objections Against Definition • It does not require the system to change! • However, any non-trivial system changes to ensure its goal. What changes to require and how to specify them? • Black-box model allows changes of the behavior over time to be required; thus, systems that must change are covered by the definition, but the definition may considered to be too broad • A white-box model would require a more detailed system model probably excluding some kinds of systems • Adaptive systems may be controlled from the outside, e.g., by another system or even by a human administrator! • Yes, perhaps adaptable would be the better term Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Self-Managing Systems • “Self-managing systems are adaptive without being controlled from the outside” • But adaptive systems may be controlled from the outside • Division of input into control input c and regular input r • Whether or not input is control input or regular input depends on the performance function [Lendaris64] • A system is self-managing iff it • is adaptive • receives no control input Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
S’ C S c o r Self-Manageable Systems • A system is self-manageable iff its control input can be computed solely from its regular input and its output • Related to observability & controllability ( control theory) • A self-manageable system S can be extended to a self-managing system S’ using the observer/controller pattern Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Self-Organizing Systems • “Self-organizing systems change their structure to adapt themselves; they are scalable and robust against failures” • But self-managing systems may have a static structure and may have a central point of failure (e.g., a controller) • A system is self-organizing iff it is • self-managing • employs decentralized control • structure-adaptive • But what exactly means • decentralized control? • structure and structure-adaptivity? Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Decentralized Control • Difficult to define precisely • If a destructive decomposition of a system is not possible, the system employs a decentralized control • Example: Routing Information Protocol (RIP) Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Structure • Structure is the property of a system by which it constrains the degrees of freedom of its components • Can often be modeled as a relation (or by a family of relations) • Example: Trail building of ants • Established structure • Position • Heading Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Detecting Structure • Structuring can be detected by applying the information entropy introduced by Shannon • Entropy is at its maximum if a given system is free to be in any of its potential states • It decreases if the system is subsequently constrained to a subset of its potential states • A system might change its structure without changing its degree of structuredness • Change of entropy is sufficient but not necessary to show that a system changes its structure Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Structure-Adaptive Systems • An adaptive system is structure-adaptive iff it achieves its adaptivity by changing its structure • Can be proved by showing that the system was not adaptive if it would not change its structure • E.g., RIP was not adaptive if it would not change the routes in reaction to failing nodes Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
self-manageable self-organizing self-managing adaptive Resulting Hierarchy Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Self-Stabilization • Introduced by Dijkstra in 1974 as a powerful supplement or alternative to fault masking • Models a system’s ability to recover from arbitrary transient faults without any intervention from the outside • However, while the system stabilizes, it may behave arbitrarily • Faults can affect any fraction of the resources (e.g. links, processes, data structures) but neither the program code nor constants stored in ROM LegitimateState Stabilization Faulty State Tumbler Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Self-Stabilization • How is self-healing different from self-stabilization? • Self-healing might cover a wider range of mechanisms aiming at system recovery including self-stabilization • It might give some guarantees while the system is recovering ( super-stabilization) • It might contain the effect of faults ( fault-containment) • … Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Overview • Motivation • Organic Computing • System Model • Terminology • Illustration Using an Exemplary System Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Example System • System performs acceptably well iff the “connection” among data input and data output is not interrupted infinitely long for • all sequences of node failures and recoveries not leading to a partition of the network • appropriate control input determining which nodes connect • arbitrary data input control input data input (data) output failure input Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Example System: Variants S1 and S2 • S1: Control delay much larger than the minimum time between failures and recoveries (MinTBFR) • S1 is (structure-)adaptive but not self-manageable • An appropriate control input function exists but its computation would require an anticipatory behavior • S2: Control delay much smaller than MinTBFR • S2 is self-manageable but not self-managing • Computing appropriate control input is possible • Still control input Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Example System: Variants S3 and S4 • S3 has no control input from the outside • Single component collects failure events, calculates a valid path, and sends appropriate control inputs to the nodes • S3 is self-managing but not self-organizing • No control input but centralized control • S4 distributes the task of building a valid path to all nodes • S4 is self-organizing because • decentralized control Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Conclusions and Outlook • Initial definition of adaptive, self-manageable, self-managing, and self-organizing systems proposing a hierarchy among these kinds of systems • Aim: Facilitating further discussions • Better definition needed for • Control input • Decentralized control • Structure • Similar clarifications needed for the other self-x properties Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Bibliography [Willems91]J. C. Willems. Paradigms and Puzzles in the Theory of Dynamical Systems. IEEE Transactions on Automatic Control, 36(3):259--294, March 1991. [Zadeh63]L. Zadeh. On the definition of adaptivity. Proceedings IEEE (Correspondence), 51:469--470, March 1963. [Lendaris64]G. G. Lendaris. On the Definition of Self-Organizing Systems. Proceedings of the IEEE, 52:324--325, 1964. [Dijkstra74]E. W. Dijkstra. Self stabilization in spite of distributed control. Comm. ACM, 17:643--644, 1974. Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008
Thank you for your attention! Questions, critique, or comments? Dr.-Ing. Gero Mühl g_muehl@acm.org http://kbs.cs.tu-berlin.de/~gmuehl Dagstuhl Seminar "Organic Computing - Controlled Self-organisation", 30.03.-04.04.2008