autonomics computing (with some of adaptive systems) and requirements engineering

39
Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering João Henrique C. Pimentel [email protected]

Upload: jehn

Post on 26-Jan-2015

104 views

Category:

Technology


0 download

DESCRIPTION

This presentantion gives an overview on Autonomic Computing. Next, show the state-of-the-art on Requirements Engineering for Autonomic Computing based on 4 papers

TRANSCRIPT

Page 1: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Autonomics Computing (with some of Adaptive Systems) and Requirements EngineeringJoão Henrique C. [email protected]

Page 2: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Agenda•Overview on Autonomic Computing•State-of-the-art

▫Towards Requirements-Driven Autonomic Systems Design

▫Towards Goal-Oriented Development of Self-Adaptive Systems

▫The Four Level of Requirements Engineering for and in Dynamic Adaptive Systems

▫An Automated Approach to Monitoring and Diagnosing Requirements

Page 3: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Autonomic Computing Systems

•Self-configuring•Self-optimizing•Self-healing•Self-protecting

•Behaviour is switched at runtime

Page 4: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Autonomic Computing Systems– by IBM1 Needs to “know itself”2 Must configure and reconfigure itself

under varying and unpredictable conditions

3 It always looks for ways to optimize its workings.

4 Must perform something akin to healing5 Must be an expert in self-protection

Page 5: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Autonomic Computing Systems– by IBM6 Knows its environment and the context

surrounding its activity, and acts accordingly

7 Can not exist in a hermetic environment8 Will anticipate the optimized resources

needed while keeping its complexity hidden

Page 6: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

•IBM

Page 7: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

The Autonomic Nervous Systemis the part of the peripheral nervous system that

acts as a control system, maintaining homeostasis in the body. These maintenance activities are primarily performed without conscious control or sensation. The ANS has far reaching effects, including: heart rate, digestion, respiration rate, salivation, perspiration, diameter of the pupils, micturition (the discharge of urine), and sexual arousal. Whereas most of its actions are involuntary, some ANS functions work in tandem with the conscious mind, such as breathing.

[wikipedia: http://en.wikipedia.org/wiki/Autonomic_nervous_system]

Page 8: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example of an autonomic system•Iron Man suit

Page 9: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

IBM Levels of Maturity

Page 10: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Why get autonomic?

The growing complexity of the IT infrastructure threatens to undermine the very benefits information technology aims to provide [IBM]

Page 11: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Autonomic Elements (AE)

Page 12: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Autonomic Elements (AE)

•Are the building blocks of Autonomic Computing

•Consists of an autonomic manager and a set of managed elements

We can consider AE as software agents and ACS as multi-agent systems [Nami]

Page 13: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

How to make a system autonomic?Make it:

1 Monitor the environment2 Select a behaviour3 Change to selected behaviour

Page 14: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

How to support so many behaviours?1 Design it to support all possible

behavioursor 2 Delegate tasks to external software

componentsor 3 Use an evolutionary approach

Page 15: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

How to do RE for ACS?

The requirements approach that seems to be best suited for AC is Goal Oriented Requirements Engineering

Page 16: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

State-of-the-art on AC RE

•Now will be presented 4 papers that describes advances on RE that are related to AC

Page 17: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Towards Requirements-Driven Autonomic Systems Design. Lapouchnian, A., Liaskos, S., Mylopoulos, J., Yu, Y.

•Suggests using requirements goal models as a foundation for designing the possible behaviours space

•Uses an Meeting Scheduling application as example

Page 18: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example – Goal Model

Page 19: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example – Design Models

Page 20: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Autonomic Elements

•Each AE is responsible for one goal▫This includes managing the Autonomic

Elements that are responsible for its sub-goals

Page 21: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Towards Goal-Oriented Development of Self-Adaptive Systems. Morandini, M., Penserini, L., Perini, A.

•Another way of doing ACS from Goal Models

•Extends Tropos•Uses Jadex, a reasoning engine where

intelligent agents are programmed with XML and Java

Page 22: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example – Goal Model

Page 23: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example – Model Extended

Based on BDI languages (belief-desire-intention)

Page 24: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example – Model even more Extended

Possible system errors and recovery activities

Page 25: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example•Once the model is ready:

▫Map the model to Jadex (agent definition language)

▫Run it

Page 26: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

The Four Level of Requirements Engineering for and in Dynamic Adaptive Systems. Berry, D., Cheng, B., Zhang, J.

•For and in = RE is also made by the system itself

Page 27: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Levels

Level 4Level 3

Level 2Level 1

The level indices do not indicate an order of occurence

decides about

decides about

decides about

Page 28: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Level 1

•Made by humans•Resembles traditional RE

▫Elicitation and analysis on domain▫Make a set of all possible features▫Make a set of all target programs to be

adopted▫Specify its funcionalities

Page 29: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Level 2

•Made by the system•Once it receives a unpredicted input:

▫Determines how it is different from other inputs

▫Determine which target program to adopt▫Modify behaviour adopting the target

program

•In other words: “Hey, I’ve got a different input, how should I behave now?”

Page 30: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Level 3

•Made by humans•Consists in specifying all the system

should know and make to do Level 2

Page 31: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Level 4

•Made by humans•Is the research in adaptation mechanisms

Page 32: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

An Automated Approach to Monitoring and Diagnosing Requirements. Wang, Y., Yu, Y., McIlraith, S., Mylopoulos, J.

•Describes a framework for monitoring and diagnosing of requirements

•Based on AI▫Theories of action and diagnosis

•Use SAT solvers for diagnosing

Page 33: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Framework Overview

Page 34: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example – Squirrel Mail

Page 35: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Example – Squirrel Mail

(¬webmail started(10) and occ(a7, 11))

Page 36: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Further information on autonomics•SEAMS: Software Engineering for

Adaptive and Self-Managing Systems▫http://www.hpi.uni-potsdam.de/giese/event

s/2008/seams2008/•ICAC: IEEE International Conference on

Autonomic Computing▫http://www.autonomic-conference.org/

•DEAS: Workshop on Design and Evolution of Autonomic Application Software

Page 37: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Basic references:Towards Requirements-Driven Autonomic Systems

Design. Lapouchnian, A., Liaskos, S., Mylopoulos, J., Yu, Y.

Towards Goal-Oriented Development of Self-Adaptive Systems. Morandini, M., Penserini, L., Perini, A.

The Four Level of Requirements Engineering for and in Dynamic Adaptive Systems. Berry, D., Cheng, B., Zhang, J.

An Automated Approach to Monitoring and Diagnosing Requirements. Wang, Y., Yu, Y., McIlraith, S., Mylopoulos, J.

Page 38: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

Used references:

[Nami]: A Survey of Autonomic Computing Systems. Mohammad Reza Nami, Koen Bertels.

[IBM]: Autonomic Computing: IBM’s Perspective on the State of Information Technology

Page 39: Autonomics Computing (with some of Adaptive Systems) and Requirements Engineering

More recommended references

Autonomic Computing: An Overview. Parashar, M., Hariri, S.

Autonomic Computing (CMU/SEI-2006-TN-006). Müller, H., O’Brien, L., Klein, M., Wood, B.

Evolutionary Computing and Autonomic Computing: Shared Problems, Shared Solutions? Eiben, A.