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

Preview:

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

Citation preview

Autonomics Computing (with some of Adaptive Systems) and Requirements EngineeringJoão Henrique C. Pimenteljhcp@cin.ufpe.br

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

Autonomic Computing Systems

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

•Behaviour is switched at runtime

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

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

•IBM

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]

Example of an autonomic system•Iron Man suit

IBM Levels of Maturity

Why get autonomic?

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

Autonomic Elements (AE)

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]

How to make a system autonomic?Make it:

1 Monitor the environment2 Select a behaviour3 Change to selected behaviour

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

How to do RE for ACS?

The requirements approach that seems to be best suited for AC is Goal Oriented 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

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

Example – Goal Model

Example – Design Models

Autonomic Elements

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

Elements that are responsible for its sub-goals

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

Example – Goal Model

Example – Model Extended

Based on BDI languages (belief-desire-intention)

Example – Model even more Extended

Possible system errors and recovery activities

Example•Once the model is ready:

▫Map the model to Jadex (agent definition language)

▫Run it

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

Levels

Level 4Level 3

Level 2Level 1

The level indices do not indicate an order of occurence

decides about

decides about

decides about

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

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?”

Level 3

•Made by humans•Consists in specifying all the system

should know and make to do Level 2

Level 4

•Made by humans•Is the research in adaptation mechanisms

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

Framework Overview

Example – Squirrel Mail

Example – Squirrel Mail

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

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

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.

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

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.

Recommended