Transparency in Self-Adaptive Systems - DC

Transparency in
Self-Adaptive Systems
WDAS Workshop
LADC 2013, Rio de Janeiro, Brazil
Renato Cerqueira
IBM Research Brazil
Department of Informatics - PUC-Rio
Provocative question
Dependability in self-adaptive systems:
How to justify trust in the face of “unknown
unknowns”?
2
Short answer
• There is no option, we have to do it
– Dependability is one of the main goals of self-adaptive
systems
• dependable: able to be trusted to do what you need or
expect
• Trust is not granted - It must be conquered
3
How to build trust in self-adaptive systems
• transform “unknown unknowns” into “known knowns”
Unknown
Unknowns
Known
Unknowns
Known
Knowns
• How to improve awareness? Transparency
– Self-adaptive systems cannot be black-box
– What is the system behavior in the face of unpredictable
situations?
– Can we understand or follow the system behavior?
4
Idealized
Enterprise
Idealized system architecture
Architecture
Example: Object Management Architecture (OMA)
from the Object Management Group (OMG)
AI DI
CF OS
DI CF
OS
OS
CORBA ORB
OS
AI = Application Interfaces
CF = Common Facilities
CF
OS
DI = Domain Interfaces
OS = Object Services
Friday, December 4, 2009
source: Steve Vinoski, keynote speech at Middleware 2009
5
Enterprise Integration
The reality...
Reality
Friday, December 4, 2009
source: Steve Vinoski, keynote speech at Middleware 2009
6
Autonomic Computing
• term introduced by IBM in 2001by analogy
with the autonomic nervous system
• the increasing complexity of the computing
systems motivates models and technologies
to build self-managed systems
• key characteristics
– autonomic
– adaptive
– aware
• enabling technologies
– closed control loop
– supporting middleware
platforms
• 2012: Cognitive Computing
Autonomic manager
Analyze
Monitor
Plan
Knowledge
Managed element
Execute
of this information, the auton
relieve humans of the responsibi
aging the managed element.
Fully autonomic computing i
designers gradually add increas
autonomic managers to existing
Ultimately, the distinction betw
manager and the managed ele
merely conceptual rather than
may melt away—leaving fully
nomic elements with well-defi
interfaces, but also with few c
internal structure.
Each autonomic element wil
managing its own internal stat
for managing its interactions w
that consists largely of signals
other elements and the external
internal behavior and its relati
elements will be driven by goa
has embedded in it, by other
authority over it, or by subco
ments with its tacit or explicit co
7 from
may require assistance
Computational Reflection to provide Transparency
• definition: the ability of a computer program to
examine (introspection) and modify (intercession) its
own structure and behavior at runtime
• provides the essential mechanisms for autonomic
systems to monitor, inspect and change the system
behavior
• system divided into a base-level and a meta-level
– there is a causal relation
between the two levels
• provides the basis for
transparency in self-adaptive
systems
8
Some challenges ahead
• process and supporting tools to develop and maintain
(evolve) self-adaptive systems
–
–
–
–
–
suitable programming abstractions
model evolution / models@runtime
debugging / traceability
version control
configuration management
• user interaction
– what to do when the
autonomic behavior fails?
• progress evaluation
• call-center systems x cognitive systems x epistemic systems
9
Multiple users and models
connect_to
network
interact_with
run
computer
abstract
interact_with
application
user
application
abstract
instance_of
network model
interpret
application model
operating system
model
abstract
translate
application
implementation architecture
abstract
interact_with
application
implementation
application
developer
adhere_to
adhere_to
uses
adhere_to
language model
interpret
middleware model
translate
middleware
implementation architecture
interact_with
middleware
implementation
middleware
developer
10
Jazz Project
11
Questions?
12