Date post: | 26-Jan-2015 |
Category: |
Technology |
Upload: | jehn |
View: | 103 times |
Download: | 0 times |
Autonomics Computing (with some of Adaptive Systems) and Requirements EngineeringJoão Henrique C. [email protected]
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.