Software Evolution and Evolutionary Computation Bridging the Gap: The Cybernetics of Auto- Adaptive Software Systems A.G. Laws, A. Taleb-Bendiab & S.J.

Slides:



Advertisements
Similar presentations
© Loughborough University, 2004 Types of Systems There are a number of ways in which we may define types of systems.
Advertisements

Software change management
Chapter 2: Software Process
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Adjustable Deliberation for Self-Managing Systems: Supporting Situated Autonomic Computing Prof. A. Taleb-Bendiab School of Computing Liverpool John Moores.
25 February 2009Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department.
©2006 OLC 1 Process Management: The Foundation for Achieving Organizational Excellence Process Management Implementation Worldwide.
1 The Laws of Software Evolution Tori Bowman CSSE 375, Rose-Hulman September 25, 2007 *based on Don Bagert’s lesson.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Second GSFC/IEEE Workshop on Radical Agent Concepts Genetically Modified Software: Realizing Viable Autonomic Agency A.G. Laws, A. Taleb-Bendiab & S.J.
Management & Entrepreneurial Cybernetics By Alex Stuart, Ronny Bull, Chaitanya Pinnamaneni In order of presentation.
OASIS Reference Model for Service Oriented Architecture 1.0
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
Software Engineering General Project Management Software Requirements
Software Requirements
PPA 502 – Program Evaluation
November 21, 2005 Center for Hybrid and Embedded Software Systems Engine Hybrid Model A mean value model of the engine.
Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
Next lecture : The System System Engineering Basic Introduction System Engineering System Engineering II.
Chapter : Software Process
Autonomic (Grid) Computing Introduction, Motivations, Overview Manish Parashar and Omer Rana.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Introduction to the Mobile Security (MD)  Chaitanya Nettem  Rawad Habib  2015.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
College of Engineering and Computer Science Computer Science Department CSC 131 Computer Software Engineering Fall 2006 Lecture # 1 (Ch. 1, 2, & 3)
School of Computing & Mathematical Sciences
Instructor: Peter Clarke
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Software Requirements Presented By Dr. Shazzad Hosain.
Service Transition & Planning Service Validation & Testing
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
Christian Heinzemann 11. Oktober 2015 Modeling Behavior of Self-Adaptive Systems Seminar Software Quality and Safety.
 CS 5380 Software Engineering Chapter 9 Software Evolution.
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Putting the “Engineering” in Software Engineering: Technology Infrastructure in Process Improvement Adam Kolawa, Ph.D. CEO, Parasoft.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Combining Theory and Systems Building Experiences and Challenges Sotirios Terzis University of Strathclyde.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Algorithmic, Game-theoretic and Logical Foundations
Introduction of Intelligent Agents
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
Maintaining and Sustaining System Integrity Configuration Management for Transportation Management Systems Configuration management (CM) describes a series.
© Drexel University Software Engineering Research Group (SERG) 1 The OASIS SOA Reference Model Brian Mitchell.
Software Engineering Introduction.
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
1 CEN 4020 Software Engineering PPT4: Requirement analysis.
An Architecture-Centric Approach for Software Engineering with Situated Multiagent Systems PhD Defense Danny Weyns Katholieke Universiteit Leuven October.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Choosing a Formal Method Mike Weissert COSC 481. Outline Introduction Reasons For Choosing Formality Application Characteristics Criteria For A Successful.
CS223: Software Engineering Lecture 32: Software Maintenance.
Organizations of all types and sizes face a range of risks that can affect the achievement of their objectives. Organization's activities Strategic initiatives.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
1 Software Requirements Descriptions and specifications of a system.
Software Requirements
Software Engineering (CSI 321)
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 27 Software Change.
Outcome 4 At the end of this session you will:
Software Engineering I
Autonomic (Grid) Computing Introduction, Motivations, Overview
UML Design for an Automated Registration System
Presentation transcript:

Software Evolution and Evolutionary Computation Bridging the Gap: The Cybernetics of Auto- Adaptive Software Systems A.G. Laws, A. Taleb-Bendiab & S.J. Wade This work is financed by the UK EPSRC (GR/M02958) under the Systems Engineering for Business Process Change (SEBPC) initiative. School of Computing & Mathematical Sciences

Introduction

Software Engineering and Maintenance l The aim of Software Engineering has been described as: “...the systematic, principled, design and deployment of applications that fulfil 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.” (Laddaga,1997) l In the thirty years since its establishment as a discipline many techniques have been introduced in pursuit of this goal, e.g. Xstructured programming - high-level languages- OO - process maturity etc. (Lehman, ) All require the software designer to predict every software circumstance and code to be provided to deal with the situation. l While significant improvements have undoubtedly resulted, these efforts have failed to deliver on-going malleability and most software systems exhibit a growing fragility caused by continual adaptation to meet changing requirements. l There is growing evidence to suggest that it is time to reconsider the engineering and maintenance of software systems in a similar manner to physical products and that a more biologically-oriented view should be adopted.

Software Evolution l Instrumental in this changed perception has been Lehman’s many contributions on Software Evolution: l Beginning with the description of any software program as: “...a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. (Lehman, 1980) l Allowed a software classification scheme to be derived based on the degree of homomorphism required to obtain a suitable mapping. XS-type - fully specifiable i.e. a fully isomorphic mapping is obtainable. XP-type - fully isomorphic mapping unobtainable, abstraction and approximation introduced. XE-type - models human activity, abstraction and assumptions embedded, changes the problem situation, and leads to continuing change and establishes feedback loop, i.e. software operates in a changing environment l Uncertainty Principle - “...the outcome of a real world software system is uncertain and the precise area of uncertainty is also not knowable.” l Laws of Software Evolution - particularly the Eighth X“Software evolution processes constitute multi-level, multi-loop, feedback systems and must be treated as such to achieve any significant improvement over any reasonable base.” (Lehman, 1997)

Self-Adaptive Software l Defined by Laddaga in the 1997 DARPA Broad Agency Announcement as: X “...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...”. l 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 management issues - self- managing systems l Progress to date has been informed by three guiding metaphors X control systems theory X dynamic planning systems X self-aware or reflective systems. l “Managing complexity is a key goal of self-adaptive software. If a program must match the complexity of the environment in its own structure it will be very complex indeed! Somehow we need to be able to write software that is less complex than the environment in which it is operating yet operate robustly.” (Robertson, Laddaga et al, 2000)

A View of Biological Adaptation and Evolution l Living systems can be described in terms of interdependent variables, each capable of varying over a range with upper and lower bounds, e.g. bodily temperature, blood pressure, heart rate etc. Environmental change may cause fluctuations but bodily control mechanisms autonomically act to maintain variables at a stable level, i.e. homeostatic equilibrium with the environment l Three types of adaptation to environmental disturbance are available to higher organisms: XShort-term change - e.g. Environmental temperature change moves the bodily temperature variable to an unacceptable value. This rapidly induces an autonomic response in the (human) organism i.e. either perspiring to dissipate heat or shivering to generate heat. Such adaptation is quickly achieved and reversed. XSomatic change - prolonged exposure to environmental temperature change results in the impact of the change being absorbed by the organism i.e. acclimatization. Such change is slower to achieve and reverse. XGenotypic change - adaptation through mutation and hence evolution. A species adapts to change by shifting the range of some variables. e.g. in a cold climate grow thicker fur. Such genotypic change is recorded at a cellular level and becomes hereditary and is irreversible in the lifetime of the individual.

Cybernetics: The Foundations of the Bridge l A cross-disciplinary approach developed in the 1940’s and broadly encompassing contributions from biology, social sciences and nascent computer science. l Wiener defined cybernetics as “the science of communication and control in the animal and machine”. l Ashby’s contribution... X Both the system and the environment in which it exists are represented by a set of variables that represent that form a state- determined system X Consequently, the environment is defined as those variables whose changes affect the system and those variables that are affected by the system. X Complexity as Variety, i.e. The number of different states a system can adopt.

Ashbean Cybernetics l The Homeostat - ultra-stable system capable of returning to stability after it has been disturbed in a way not envisaged by the designer. l Self-vetoing homeostasis l Variety Engineering XThe notion of balancing the varieties of systems with different variety levels XEnvironment - huge variety XOperation - much less variety XManagement - even less variety l Achieved through attenuation and amplification l The Law of Requisite Variety control can only be attained if the variety of the controller is at least as great as the situation to be controlled.

Managerial Cybernetics l Beer’s VSM implements a control & communication structure via hierarchies of homeostats (feedback loops) l 6 major systems ensure ‘viability’ of the system X ImplementationS1 X MonitoringS2 X AuditS3* X ControlS3 X Intelligence S4 X Policy S5 l Offers an extensible, recursive, model-based architecture, devolving autonomy to sub-systems Here and Now Future Direction

What We’re Doing With This l Our first attempts saw the design of a Viable Adaptive Agent Architecture. l Based on Bratman et al’s IRMA approach, the design incorporates a beliefs, desires, intentions (BDI) approach. l The design specifies, in some detail, the higher, deliberative processes of adaptation. l In some respects, the ready- mapping shows the applicability of the VSM-based approach.

Perhaps more excitingly: A Practical Application In-Vehicle Telematics System (IVTS) l IVTS cover a broad range of computer-based systems, these may include or combine: XEngine Management Systems XDriver’s Information Systems XVehicle Navigation & Tracking Systems XCollision Avoidance Systems XVehicle Security Systems l Using Jini + Java RMI allows distributed applications to be developed as a series of clients that interact with application services via a look-up service. l The service-oriented abstraction considers a service as a logical concept that can be discovered dynamically by a client and used according to a contract of use

More IVTS Removable In-Vehicle Computer / Mobile Data Terminal Engine Management Anti-Slip Braking High Speed Serial Bus (CAN 2.0 / SAE J1939) Low Speed Serial Bus (SAE J1850) Driver Information System Traffic Information (TrafficMaster) USB/ IEEE 1394 PCMIA Document Scanner Printer Wireless WAN (GSM) Wireless LAN (Spread Spectrum / Bluetooth) CD ROM Docking Cradle Radar Collision Avoidance Autonomous Driving Route Guidance (CARIN) Accident Recording INTEGRATED IN-VEHICLE TELEMATICS SYSTEM

More IVTS

Monitoring & Instrumentation Considerations l In order to debug, monitor and manage Jini applications, a dynamic instrumentation system, based again on Jini technology has been developed l Uses: XMonitor service - connects with an application or lookup service and observes dynamic parameters XLogger utility - invoked by a monitor to record data XAnalyzer utility - invoked by a monitor to compute complex parameters l A Management Service creates and controls the monitor service l The instrumentation system is implemented by combining Jini’s X code mobility capabilities XJava’s dynamic proxies XJini’s event models l To apply instrumentation: Xthe management service requests the application service to set an instrumented parameter l The Look-up service monitor detects a change of state and notifies client l Management service wraps service in monitor service and sends proxy to client

Some Implications and Final Comments l The complete realization of a self-adaptive software system using the conceptual guidance of classical cybernetics and the VSM still has some way to go. Indeed, it isn’t yet clear that full realization is possible and there are still many problems outstanding. l Nevertheless, using off-the-shelf technology that does not necessarily reflect this viewpoint exactly has allowed us to make significant progress and indicates that this approach may supply a ready-made theoretical underpinning for self-adaptive software. l Such approaches herald an exciting new era in software development and offer the potential to realize the fulfil software’s original promise.