Software Adaption (ST 2011)

Prof. Dr. Holger Giese


While software is an immaterial object that does not decay with time, it is in fact “aging“ - as Parnas puts it – as we usually fail to adapt the software such that it meets our changing needs and make the software less valuable by doing the changes not careful enough. One of Lehman's laws of software evolution accordingly states that a system that is being used undergoes continuing adaption or degrades in effectiveness. Consequently, we can observe that the ability to cost-effectively adapt software has become one of the most important critical success factors for software development today.



In this lecture we want review how software adaption is addressed at several levels and how far these approaches are able to cope with the need for cost-effective software adaption. We will at first review the need for adaption and study which different forms of adaption are relevant. We will then look into the classical software maintenance lifecycle phase and how required adaption due to changes in the environment is handled there. Then, we will look into approaches that contribute to better adaptable software where the costs for later adaption steps are reduced by taking the need for adaption into account upfront. Both directions are highly relevant, but cannot prevent that still major costs result due to the required adaption. Even worth, it seems that we can only limit the effects of the changes but cannot prevent aging in general. Therefore, also the idea to automate software adaption in form of self-adaptive software has been raised and we will look into such self-adaptive software. As it has the capability to adjust itself in response to changes in the environment, it promises to considerably reduce the costs for required adaption and to avoid a decline in quality. We will discuss existing proposals and solutions as well as its current limitations.

Introduction

Motivation

Date: April 12, 2011
Language: English
Duration: 01:33:55

Life Cycle and Kind of Adaption

Date: April 19, 2011
Language: English
Duration: 01:30:37

Ad Hoc Software Adaption

Software Maintenance

Date: April 20, 2011
Language: English
Duration: 01:27:14

Adaptable Software

Foundations for Adaptability

Date: May 3, 2011
Language: English
Duration: 01:30:59

Techniques, Development Concepts and Approaches for Adaptability

Date: May 10, 2011
Language: English
Duration: 01:27:15

Approaches for Adaptability

Date: May 11, 2011
Language: English
Duration: 01:35:59

Component-, Service- and Agent-Orientation

Date: May 18, 2011
Language: English
Duration: 01:27:33

Aspects & Developments

Date: June 7, 2011
Language: English
Duration: 01:31:16

Presentations

Adaption during Software Maintenance

Date: May 17, 2011
Language: English
Duration: 00:18:24

Reengineering/Maintenance

Date: May 17, 2011
Language: English
Duration: 00:22:26

Reengineering/Maintenance

Date: May 17, 2011
Language: English
Duration: 00:19:04

Adaptable Software - Assignment 2

Date: June 1, 2011
Language: English
Duration: 00:09:02

Adaptable Software - Assignment 2

Date: June 1, 2011
Language: English
Duration: 00:10:43

Adaptable Software - Assignment 2

Date: June 1, 2011
Language: English
Duration: 00:11:24

Adaptable Software - Assignment 2

Date: June 1, 2011
Language: English
Duration: 00:04:52

Project Assignment 3

Date: June 15, 2011
Language: English
Duration: 00:09:46

Self-Adaptive Software

Foundations of Self-Adaptive Software

Date: June 8, 2011
Language: English
Duration: 01:28:40

Foundations & Approaches for Self-Adaptive Software

Date: June 14, 2011
Language: English
Duration: 01:29:06

Approaches for Self-Adaptive Software

Date: June 15, 2011
Language: English
Duration: 01:11:47

Software Engineering for Self-Adaptive Systems

Date: June 21, 2011
Language: English
Duration: 01:33:34