140 likes | 241 Views
Design of Self-Adaptive Systems Course introduction 2013 Rolv Bræk, ITEM. Objectives. You shall obtain general knowledge about different principles and technical solutions for self-configuration and self-adaptation.
E N D
Design of Self-Adaptive Systems Course introduction 2013Rolv Bræk, ITEM
Objectives • You shall obtain general knowledge about different principles and technical solutions for self-configuration and self-adaptation. • You shall get hands on experiences with self-adaptation by developing a self-adapting application. • You shall be able to critically assess and select technologies.
Plan • Together we will investigate Self Adaptation and Self Configuration: what is it, what are the challenges, what are the solutions? • General introduction for about 3 lessons. • We shall use a home networked system (HNS) as case study. Each group will develop some self-adaptive components for the system. • There will be workshops to present and discuss progress and solutions. • Each group writes a lab report that documents their design, gives a critical assessment and discusses related work and alternative solutions for their part. • Each group present their work for examiners. • You may work alone or in groups of two students.
Practicalities: Groups: • Self organising • Doing lab work • Preparing lab report with critical assesments and related work • Participating in system integration Venue for lessons and presentations • Savannen Wednesdays 13:15-15:00 Web page • http://www.item.ntnu.no/fag/ttm3/ Ass.: Snorre Lothar von Gohren Edwin
First timetable • Week 1 Course introduction. Variability • Week 2 Pre-structured systems • Week 3 Dynamic component systems • Week 4 Lab introduction • Week 5 … Lab work • Week x Presentation of subsystems 1,2 (2h lecture) • Week y Presentation of subsystems 3,4 (2h lecture) • Week z Presentation of subsysems 5,6 (2h lecture) • Week æ Integration workshop • 01.12.2013 Final delivery of the assignments and reports
What is it? • What is Self Adaptation for you? • Try to give some examples! • What are the basic principles and technologies?
Self-adaptive By self adaptive we mean systems and components that configure themselves and dynamically adapt to changing environments with minimal human participation.
Adaptivity classes • Parameter adaptation: changing values without changing components or algorithms. • Compositional adaptation: • Structural – changing parts and part structure • Behavioral – changing behavior/types and algorithms • Autonomic systems: not just adaptation, but self management, self healing, ..., Self*
Flexibility Degree of pre-planning: • Anticipated, semi anticipated and unanticipated adaptation. Degree of pre-structuring: • Pre-structured systems: adaptation is bounded to variability admitted within a system structure • Dynamic component systems: no predefined system, components are dynamically deployed, linked and adapted.
System categories Many systems have somedegreeofself-adaptivity, buttheabilitiesvary: • Pre-structured systems: parameter adaptation and some (limited) compositionaladaptation • Dynamiccomponent systems: compositionaladaptation • Autonomic systems: self*
McKinley et.al.:Composing adaptive software: Enabling technologies: • Separation of concerns • Computational reflection • Component based design • Middleware Key challenges: • Assurance • Security • Interoperability • Decision making Recommended reading, but focused on programming and not modelling!
Some technologies • Grid computing and mobile grid • Context aware services and systems • Ubiquitous/ambient computing • Service oriented architecture (SOA) and service oriented computing (SOC) • Ontologies, Semantic web • Ad-hoc networking: • JXTA protocols http://www.jxta.org • P2P architectures: Information Sharing (Napster,dc++), Communication (ICQ), Distributed Computation (The Grid) • JINI Architecture • IBM Autonomic computing: http://www-03.ibm.com/autonomic/ http://www-306.ibm.com/autonomic/about.shtml
More technologies • Service Discovery Protocols and middleware: • HAVi (Home Audio-Video interoperability) http://www.havi.org • SLP (Service Location Protocol) RFC 2165 and RFC 2608 http://www.openslp.org/ • Salutation Architectures Salutation Consortiumhttp://www.salutation.org • NINJA project by Berkeley and SDS http://ninja.cs.berkeley.edu/ • OSGi • PnP concept in MAC-OS and Windows • UPnP, Zeroconf, Bonjour • Bluetooth • CORBA, DCOM, RMI • OMG MDA and metamodelling
Autonomic systems: a vision for self adaptive systems – self-* The AutnonomicComputationInitiative (IBM): believes the growing complexity of modern networked computer systems is the biggest limiting factor in their expansion and therefore we need: • Self-Configuration: Automatic configuration of components; • Self-Healing: Automatic discovery, and correction of faults; • Self-Optimization: Automatic monitoring and control of resources to ensure the optimal functioning with respect to the defined requirements; • Self-Protection: Proactive identification and protection from arbitrary attacks. • http://www-03.ibm.com/autonomic/ • http://en.wikipedia.org/wiki/Self-Management • http://en.wikipedia.org/wiki/Autonomic_Computing The AutonomicCommunication Forum: believes that a radical paradigm shift towards a self-organising, self-managing and context-aware autonomous network, considered in a technological, social and economic context, is the only adequate response to the increasingly high complexity and demands now being placed on the Internet • http://www.autonomic-communication-forum.org/