370 likes | 519 Views
Autonomic Software Engineering Prof. A. Taleb-Bendiab School of Computing Liverpool John Moores University email: a.talebbendiab@livjm.ac.uk http://www.cms.livjm.ac.uk/taleb. Outline. Setting the Scene Drivers for a paradigm shift Quest for a new theoretical framework
E N D
Autonomic Software EngineeringProf. A. Taleb-BendiabSchool of ComputingLiverpool John Moores Universityemail: a.talebbendiab@livjm.ac.ukhttp://www.cms.livjm.ac.uk/taleb Prof. A. Taleb-Bendiab, talk: SAACS’05, Date: 28/08/2014, Slide: 1
Outline • Setting the Scene • Drivers for a paradigm shift • Quest for a new theoretical framework • Recent bio-inspired initiatives • SAS, DASADA, SRS and ANTS • Understanding autonomic systems engineering • Definitions and state of the art • Challenges and Open Questions • Conclusions Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 2
Modern Business Environment Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 3
Catastrophic failure of Critical Systems Drivers for a Paradigm Shift #1 • Downtime Costs (per Hour) • Brokerage operations $6,450,000 • Credit card authorization $2,600,000 • Ebay (1 outage 22 hours) $225,000 • Amazon.com $180,000 • Package shipping services $150,000 • Home shopping channel $113,000 • Catalog sales center $90,000 • Airline reservation center $89,000 • Cellular service activation $41,000 • On-line network fees $25,000 • ATM service fees $14,000 • Sources: InternetWeek 4/3/2000 + Fibre Channel: A Comprehensive Introduction, R. Kembel 2000, p.8. ”...based on a survey done by Contingency Planning Research." • Slogans that Cost – money and complexity -- • Anywhere, anytime, always on, on-demand, etc… • But it’s easy said than done – why? • Rapid evolution • Networking and computing technology • Customer requirements and expectations • Dependability and Business Continuity Concerns • Service outages are frequent and costly • 65% of IT managers report that their websites were unavailable to customers over a 6-mth period • 25% indicate 3 or more outages • outage costs are high • Social effects: negative press, loss of customers [Source: InternetWeek 4/3/2000] • Catastrophic failure of critical systems Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 4
Drivers for a Paradigm Shift #2 • Modern Expectations • High-Availability • 24x7 delivery of service to users • near-100% availability is becoming mandatory for e-commerce, enterprise apps, online services, ISPs • Change • Support rapid deployment of new hw/sw, services, etc • Butler Lampson: Systems Challenges • “Computer Systems Research - Past and Future”, Keynote address, 17th SOSP, Dec. 1999, Microsoft • Systems that work • Meeting their specs • Always available • Adapting to changing environment • Evolving while they run • Made from unreliable components • Growing without practical limit Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 5
Drivers for a Paradigm Shift #3 • John Hennessy: What Should the “New World” Focus Be? • “Back to the Future: Time to Return to Longstanding Problems in Computer Systems?” , Keynote address, FCRC, May 1999, Stanford • Availability • Both appliance & service • Maintainability • Two functions: • Enhancing availability by preventing failure • Ease of SW and HW upgrades • Scalability • Especially of service • Cost • per device and per service transaction • Performance • Remains important, but … • Laddaga, 1997: New Software Engineering models to: • “...the systematic, principled, design and deployment of applications that fulfill software’s original promise - applications that retain their full malleability throughout their lifetime and that are as easy to modify in the field as they are on the drawing board.” • Maintainability • Provide flexible systems admin. env. • reduce system administrators tasks, complexity and cost • Just-in-time scalability • Allow flexible system up scaling without sacrificing performance, availability or maintainability • evolutionary growth and adaptation • Survivability • Full malleability • Details and References • Jim Gray : Trouble-Free Systems • “What Next? A dozen remaining IT problems”, Turing Award Lecture, FCRC, May 1999, Microsoft • Manager • Sets goals • Sets policy • Sets budget • System does the rest. Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 6
A Shift Towards What? • Let us look elsewhere • Why not take inspiration from nature’s designs for: • Bio-inspired models • Socio-inspired • Self-organising • Particle Physiques • Quantum theory • Etc. • Rethinking systems design • Entropic Design • Varying/self-determining • autonomy, • diversity, • scalability • granularity, • robustness, • resilience, • adaptation, • immunity and evolution. • Key question is not only how to achieve the listed modern expectations either as: • a single metric/attribute or a cost/value-effective combination of them all • But IBM argues it’s how to reduce the cost and complexity of achieving that • Management by delegation • Rethinking systems design • So where to next? Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 7
Autonomic Computing Inspired by the “autonomic” function of the human central nervous system. software systems that take care of the mundane elements of systems management themselves, allowing human operatives to concentrate on more important work. Major Recent Initiatives • 4 major research thrusts: • Biologically-inspired diversity: genetically diverse computing fabric • “Cognitive immunity” and self-healing: see automated cyber immune response and system regeneration. • Granular, scalable redundancy: This research thrust area will increase the practicality of redundancy techniques. • Reasoning about the insider threat to preempt insider attacks and detect system overrun. • A 2020 vision of a class of space exploration missions termed nanoswarms, where many cooperating picospacecraft or intelligent spacecraft work in teams to explore the asteroid belt, based on the efficiency and coordination of hive culture. • Some Recent Initiatives • SAS -- Self-Adaptive Systems (DARPA, 1997) • DASADA -- Dynamic Assembly for Systems’ Adaptability, Dependability, and Assurance (DARPA, 2000) • AC -- Autonomic Computing (IBM, 2001) • ACom- Autonomic Communication (EU, 2003) • SRS -- Self-Regenerative Systems (DARPA, 2003) • ANTS -- Autonomous Nano-Technology Swarm (NASA) • KP -- Knowledge Plane (MIT, DARPA, 2004) • Defined by Laddaga in the 1997 DARPA Broad Agency Announcement as: • “...software that evaluates its own performance and changes behaviour when the evaluation indicates that it is not accomplishing what the software is intended to do...”. • To adapt, the system reacts to environmental change - the problem is recognising the need for change, then planning, enacting and verifying the change - these are self-managing concerns Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 8
What they all have in common? • Call it by any name • Autonomic, self-regenerative, organic, sentient computing, self-adaptive, self-*, non-stop, Agile systems, cognitive systems, etc. • They are best described by • Biomimicry: innovation inspired by nature Coined by Janine M. Benyus • “… studying life’s best ideas and then imitating theses designs and processes to solve human problems.” • (www.biomimicry.net/biom_project.html) • Detail discussion on Natural Systems Design Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 9
An Overview of Autonomic Computing • Inspired by the “autonomic” function of the human central nervous system. • Ideally, autonomic software systems will take care of the mundane elements of systems management themselves, allowing human operatives to concentrate on more important work. Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 10
Definitions #1 • Can be defined as: • 1. Webster’s definition • Acting or occurring involuntarily; automatic: an autonomic reflex relating to, affecting, or controlled by the autonomic nervous system or its effects or activity; autonomic nervous system: that part of the nervous system that governs involuntary body functions like respiration and heart rate • 2. IBM’s definition • An approach to self-managed computing systems with a minimum of human interference … which controls key functions without conscious awareness or involvement Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 11
Definitions #2 • Can be defined as: • 3. Yet Another • can operate independently of (or with limited) human intervention, thus hiding their systems’ design and management complexity including intricacies of the automation of laborious administration tasks, recovery from unanticipated system’s failure, and/or self-protection from security vulnerability. Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 12
Characterising AC Capabilities • Characterising AC Systems • A software system is autonomic, if it possesses the following capabilities: • Self-configuring— choosing a suitable behaviour, based on user preferences, context, … • Self-tuning— choosing behaviours that optimize certain qualities (performance, year-end profits, …) • Self-repairing— shifting execution to another behaviour, given that the current one is failing • Self-protecting— choosing a behaviour that minimizes risks (attacks, viruses, …) Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 13
Deliver core infrastructure technologies that provide for an open framework for the industry • Deliver products with built-in autonomic capabilities • Create and leverage open standards for autonomic computing Autonomic Computing Technology • Define a base reference architecture model which creates a common vernacular for autonomic computing Business policy Workload Management Resource Provisioning Autonomic core capabilities Solution Install Policy Autonomic Computing Architecture Problem Determination Admin Console Products delivering autonomic features Open Standards Source: IBM Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 14
Designing Autonomic Systems #1 • IBM blueprint • www-03.ibm.com/autonomic/pdfs/ACBP2_2004-10-04.pdf • An autonomic manager contains a continuous control loop that monitors activities and takes actions to adjust the system to meet business objectives • Autonomic managers learn from past experience to build action plans • Elements need to be instrumented consistently, based on open standards Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 15
Designing Autonomic Systems #2 Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 16
Remaining Research Challenges • Complexity Paradox • Autonomic computing aims to reduce admin. costs, hide system complexity and intricacy, • Though, their designs are becoming more complex • as yet are poorly understood as echoed by D. Garlan 2005 • “… how do we design, build, and evolve such sw systems so that they can meet given—and evolving—requirements ...” • Incremental deployment of AC capabilities in legacy systems. • AOP-based evolution, Interoperation • Support functional and non-functional requirements for autonomy. • Evaluation mechanisms and metrics [ref] • Governance vs Autonomy Paradox • Balancing and adjusting governance and autonomy • Programming, control and Interaction Models Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 17
Progress to Date #1 • Has been informed by a set of design paradigms • Model-based vs Self-Organising Systems design models • Top-down vs bottom-up • Applying and/or revisiting: • cybernetic principles • control systems theory, regulation, reward and sanctions • Decision theory, Complexity theory • DAI and CI • dynamic planning, deliberative models, ML • Middleware support • self-awareness, reflection and deliberation • Autonomic Software Architecture, etc. Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 18
The Story so Far #1 • Currently design models of the 1st generation ”autonomic systems” employ; • Explicit managed autonomy via policies and rule sets predefining at design-time all extraneous behaviour using constructs such as; • Event Condition Action, Design by contract • Separation of concerns – AOP, etc. • State-of-the-art of autonomic systems designs including; • autonomic software models and architecture, standards • tools and techniques to support • the design, modelling, analysis • and evolution of autonomic software • Define associated models for their • programming, control • interaction models with human and/or other non-AC systems (legacy). • Delegation of authority and its adjustment Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 19
Story so far #2 • More recent work is focusing on scalable methods for specifying dynamic behaviour of autonomic systems. • Axiomatic vs algebraic modelling • FOL based calculi Vs process algebra • Evolving • policies and control model • Structural/organisational model • Bounded autonomy and adjustments • Unifying models for • model-based and SOS approaches for autonomic systems engineering and management Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 20
Our Approaches #1 • More recent theoretical work is focusing on scalable methods for specifying and enacting dynamic behaviour of autonomic systems • Autonomic Systems Engineering • Related Work: IBMblueprint (www-03.ibm.com/autonomic/pdfs/ACBP2_2004-10-04.pdf) • An autonomic manager contains a continuous control loop that monitors activities and takes actions to adjust the system to meet business objectives • Autonomic managers learn from past experience to build action plans • Elements need to be instrumented consistently, based on open standards • Our model • Model-based Approach • Systems theory, design patterns, design grammar and service-oriented programming • A. Taleb-Bendiab, D.W. Bustard, R. Sterritt, A. Laws, M. Randles, F. Keenan, P. Miseldine, "Model-Based Self-Managing Systems Engineering", in Proceedings of the 16th International Workshop on Database and Expert Systems Applications (DEXA’05), SAACS'05: 3rd International Workshop on Self-Adaptable and Autonomic Computing Systems, pp., • David Bustard, Roy Sterritt, A. Taleb-Bendiab, A. Laws, M. Randles, F. Keenan, 05, "Towards a Systemic Approach to Autonomic Systems Engineering", EASE'2005. • David Bustard, Roy Sterritt, A. Taleb-Bendiab, A. Laws, M. 06, "Autonomic System Design Based on the Integrated Use of SSM and VSM", to appear in AI Review, Vol. , No. , Springer, ISSN 0269-2821. • K. Liu, A. Taleb-Bendiab, 05, "Presenting a Case for a Principled Approach to Citizen, Business and Technology Integration in e-Government Services: Challenges and Research Opportunities", Egov'05. Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 21
Our Approaches #2 • Emergence-based Approach • Complexity: Complex Systems • Seth Bullock and D. Cliff (HP Report, Ref.) • Complexity and Emerging Behaviour in IT Systems Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 22
Entropic Autonomic Design Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 23
Illustrative Example Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 24
Achievements So far … Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 25
Design Patterns: VSM and GOF Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 26
Related work Outlined in the Autonomic computing edge: The “Standard” way of autonomic computing, Brent Miller, 29/05/2005. Though more is required – Our Approach Autonomic Software Patterns Associated Frameworks Description languages Sensor and Actuator Description Service Assembly and deployment Monitoring Standards -- Interoperation Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 27
Modelling Autonomy • Algebraic specification • Related work • Process Algebra • CSP • Static model checking and dynamic software analysis • Our model • Using SSC used to formalizes the behaviour of dynamically changing systems FOL (McCarthy, 1963).. • Support concurrent actions and timing constraints. • Each situation can be viewed as a history of previous actions. • Action, guards and time can be modelled at deliberation points in an autonomic setting. • M. Randles, A. Taleb-Bendiab, Philip Miseldine, Andy Laws, "Adjustable Deliberation of Self-Managing Systems", ECBS 2005: 449-456. [ppt] Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 28
Encoding Autonomy • From Spec. to code • See R2S2C • Many approaches including • Handcrafted code, automated code gen., etc. • We are developing a declarative meta-language – Neptune based on C# • Developed a Concept-Aided-Situation-Prediction-Action (CA-SPA) construct Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 29
Evolving and Adjustable Autonomy • Via compositional model and evolution of • Software services (components) • Software governance (Control) via • Formal modelling of norms, etiquette, rules of play • Encoded via CA-SPA constructs • Enactment support – from spec. to code using Neptune language • deployed onto software control Centre (agent) on grid middleware • M. Randles, A. Taleb-Bendiab, P. Miseldine, 05, "Mind out of Programmable Matter: Exploring Unified Models of Emergent System Autonomy for Collective Self-Regenerative Systems", Extended Abstract, the 2nd GSFC/IEEE Workshop on Radical Agent Concepts (WRAC'05), NASA GSFC Visitor's Center, Greenbelt, MD, 20th-22nd September 2005. Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 30
Self-Governance Theory Formal modelling of norms, etiquette, rules of play deployed via CA-SPA constructs Enactment support – from spec. to code Governing Autonomy #3 Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 31
Programming Autonomic Systems • Neptune Meta-Language • Integrated Development Environment: • Miseldine, P., Taleb-Bendiab A. A Programmatic Approach to Applying Sympathetic and Parasympathetic Autonomic Systems to Software Design. to appear in the 2005 International Conference on Self-Organization and Adaptation of Multi-agent and Grid Systems (SOAS’2005). Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 32
Example 1: A Grid-Based Decision Systems Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 33
Re-engineering via Neptune toolkit New Another One? -- Dental Triage Demo. Visual Modelling of Protocol or process flow Current System Process is compiled into an open introspective format New Grid-Based System Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 34
Acknowledgements • Acknowledgements • My thanks to the Team • • Apologies to individual researchers • if I didn’t have time to mention your work • Useful Links • www.cms.livjm.ac.uk/2nrich • www.cms.livjm.ac.uk/cloud • www.cms.livjm.ac.uk/taleb Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 35
That’s the end – so I’m off ! Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 36
Extra Prof. A. Taleb-Bendiab, talk: Internal Seminar, Date: 28/08/2014, Slide: 37