The continuous evolution from software intensive systems to socio-technical ecosystems requires creative approaches where services and, interactions are implemented with awareness of, and dynamic adaptation to, not only the user and computational environment, but also changing policies and unknown requirements. In this endeavour, the capability of the system to adjust its behavior in response to its perception of the environment and the system itself in the form of fully or semi-automatic self-adaptation has become one of the most promising research directions. Consequently, understanding, modeling, acquiring, managing, and controlling dynamic computing systems is critical for implementing smart services and smart interactions effectively.
In this directed studies, we will explore design and evolution of dynamic computing systems. In particular, we will investigate how to monitor, analyze, and control dynamic computing systems. Moreover, we will study techniques for instrumenting existing systems to monitor and control dynamic computing systems.
Scaling API-first – The story of a global engineering organization
Analysis and Control of Computing Systems
1. CSC 591 - Analysis and Control of
Computing Systems
Norha M. Villegas
First year PhD Student
Instructor: Prof. Dr. Hausi Müller
Computer Science Department
2. 2
Rigi Research Group
Agenda
• Dynamic computing systems and control theory
overview
• Course overview
• Application of control theory to the control of dynamic
computing systems
• The application of control theory to the engineering of
software systems
• Challenges ahead
• Summary and final remarks
4. 4
Rigi Research Group
Dynamical Computing Systems
• Are highly dependent on the environment
▫ external context
▫ the computing system itself (internal context)
• Outputs depend on the system’s state
• The execution environment is not fully known in advance
(design-time)
• Some design decisions must be pushed to run-time
• The system requires capabilities to reason about its own state
and environment
• Are subject to continuous evolution
▫ should be under constant development
▫ can never be fully specified
▫ require continuous adjustments and re-configuration
5. 5
Rigi Research Group
Complexity of Dynamic Computing Systems
The simultaneous explosion of
The proliferation of smart and context-
information and integration of
aware applications, user centric-
technology, and the continuous
services and ubiquitous environments
evolution to Ultra Large Scale System
Software systems must
become more versatile,
flexible, resilient, self-
healing, configurable and
optimizing
The necessity of satisfying software The high dependency between
requirements by regulating complex changing business objectives and
and decentralized systems software systems
Bohem: A view of the 20th and 21st century of software engineering (2006); Northrop et al.: Ultra-large-scale systems – The
software challenge of the future (2006)
6. 6
Rigi Research Group
Application of Control Theory
• Control theory is about addressing the dynamic nature of systems
▫ By regulating their dynamic characteristics
• Feedback control uses measurements of a system’s outputs to
address specified goals
• Almost every automatic system implements feedback control
• A feedback loop is the model used to automate the control of
dynamic systems
Feedback loops are valuable for regulating the accomplishment of
business level objectives through the regulation of computing and
software systems’ requirements, under uncertain and dynamic conditions
7. 7
Rigi Research Group
Controlling Dynamic Computing systems
Planning
Plans
Symptoms
Regulating the
accomplishment of
requirements and
Analysis business level Execution
objectives, keeping
the system
equilibrium
Observations
Monitoring
Feedback loops provide generic mechanisms for supporting the adaptation process of
Relevant Context
dynamic systems: monitoring, analysis, planning and execution
9. 9
Rigi Research Group
Learning Objectives
To Explore the design and evolution of dynamic computing systems, as well as, the
application of techniques for instrumenting existing software systems to monitor
and control their dynamic behaviour
To understand the
To analyze existing control-
foundations of control To identify challenges
based reference models,
theory and the implications related to the application of
reference architectures and
for their application to the control engineering to
software techniques
monitoring, analysis, and software engineering of
applicable to the control of
control of dynamic dynamic systems
dynamic software systems
computing systems
10. 10
Rigi Research Group
Course Outline
• Section 1: Feedback control of computing
systems
▫ Introduction
▫ Modeling and system identification
▫ Input-output relationships
▫ System modeling with block diagrams
▫ Controllers, control analysis, and control
design
▫ State-space modelling
• Textbook: Hellerstein, J.L., Diao, Y.,
Parekh, S., Tilbury, D.M.: Feedback control
of computing systems. John Wiley & Sons
(2004)
• Hellerstein’s course – University of
Washington
http://research.microsoft.com/en-
us/um/people/liuj/cse590k2008winter/def
ault.aspx
11. 11
Rigi Research Group
Course Outline
• Section 2: Application of control
engineering to software engineering
▫ Application steps
▫ Describing software systems in terms of
control theory foundations
▫ Modeling the relationship between the
control input and measured output in
software systems
▫ Designing software controllers
▫ Assessment
• Available on ConneX:
https://connex.csc.uvic.ca/portal/site/eac7
abb3-27a0-4a53-be0f-
10525cabe46e?panel=Main
12. 12
Rigi Research Group
Foundations of control theory and feedback loops applied to
computing systems
13. Control System Architecture The goal: achieve a
measured output
A SISO feedback control system according to the
Should be control objectives
designed to (reference input)
achieve the goal
Is dynamically
changed to achieve
the goal
• Reference input: control objective • Control input: signal(s) to affect
• Measured output: compared to the target system looking for a
measured output closer to the
the reference input reference input
• Control error: difference between • Disturbances and noise: affect the
the reference input and the measured output
measured output • Transducers: adapt signals for
comparison
J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury, Feedback Control of Computing Systems. John Wiley & Sons. (2004)
14. 14
Rigi Research Group
Feedback Loops: examples from Nature
Positive Feedback Loop: Global Warming Homeostasis: + and – feedback loops to keep the
equilibrium in the internal environment ☺
Source: http://susty.com/tag/global-climate- http://www.anselm.edu/homepage/jpitocch/
change-feedback-loops/ genbio/organizationnot.html
15. 15
Rigi Research Group
Control Objectives and Model Construction
• Controllers are designed for a specific purpose:
control objective
• Three main control objectives strategies
Strategy Name Description
Regulatory control Ensures that the measured output is as close as
possible to the reference input
Disturbance rejection Controls the effects of disturbances on the
measured output
Optimization Obtains the best value of the measured output
(when the control input is not known in
advance)
16. 16
Rigi Research Group
Control Objectives and Model Construction
• Modeling the input-output relationships of the
target system
• It is crucial for controller design
• Hellerstein’s book focuses on modeling
techniques (mainly linear system theory) and
their application to computing systems (queuing
theory)
17. 17
Rigi Research Group
In a feedback control the desired
output is achieved by specifying the
reference input (directly) instead of
by manipulating the control input
(indirectly)
The challenge: designing controllers to
achieve the desired outputs
18. 18
Rigi Research Group
Properties of Control Systems Relevant for
Computing Systems
Short Small
Stability Accuracy
Settling Overshoot
• Bounded • The output • Quick • Objectives
inputs, converges to convergence achievement
bounded the reference • Before the minimizing
outputs input workload overshoot
• Stable in • Control changes • Caring of
operating objectives are system
regions met degradation
J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury, Feedback Control of Computing Systems. John Wiley & Sons. (2004)
19. 19
Rigi Research Group
Analyzing Control Properties: an unstable control
system Accuracy and small
overshot are not
observed
CPU
utilization
Reference input
0.5
Open loop Controller on time
• An improperly designed controller
• This feedback system is unstable: the controller overreacts to the CPU
utilization
20. 20
Rigi Research Group
Analyzing Control Properties: a stable control
system
Maximum
Short settling Accuracy
overshoot
Stability
Steady error -1
rss-yss
Steady State
Reference input
Steady value 2.0
Initial Reference
input 0.0
Settling time
21. 21
Rigi Research Group
How to apply control engineering to the control of dynamic software systems, where
the target system is not a physical system?
How to apply hybrid approaches (continuous and discrete) to the design of software
controllers?
22. 22
Rigi Research Group
Issues in Controlling Dynamic Software Systems
Controllability Observability Stability
• Related to the properties of • Determination of the • Disturbances do not affect
control systems system’s state from the system equilibrium
measurements of the system
Robustness and Autonomy Generality
efficiency • Self-adaptive • Knowledge bases should
• The controller’s ability to • Self-configuring evolve by incorporating new
achieve the objectives even • Self-* knowledge
in larger environments
• Minimizing cost
Chattering Scheduling and Proactive
• Controlling the adaptation Efficiency reconfiguration
on state boundaries • Control the interactions and • Anticipating changes in the
• System performance effects among multiple environment
loops • Prediction models
Passino, K. and Burgess, K.: Stability analysis of discrete event systems. John Wiley & Sons. (1998)
23. 23
Rigi Research Group
Identified Application Steps
Describing the Modeling the
Defining software software system in relationship between
control objectives terms of control the control input and
theory elements the measured output
Evaluating the Designing the
control system controller in terms of
(assessment) software components
24. 24
Rigi Research Group
Identified Application Dimensions
• Describing the software system in terms of control theory
Software Design and elements . Improving visibility of control in software systems
• Designing controllers in terms of software components
Architectural perspective • Control-based reference models, architectures, and patterns
• Characterization of software components’ properties
Model Definition • Identification of variables and signals: properties to be
measured
(controller design) • Modeling the impact of control inputs on measured outputs
• Simulation mechanisms to identify control parameters
• Dynamic representation and management of control objectives
Instrumentation •
•
Dynamic monitoring mechanisms
Implementation of actuators and effectors
• Controller complexity and trade-offs
25. 25
Rigi Research Group
Engineering of Dynamic Software Systems
• The application control theory to software engineering
requires:
▫ Models and architectures to guide the design of controllers to
achieve dynamic system properties
▫ Explicit definition of feedback loops, their elements, and the
interactions among them
▫ Dynamic management of control objectives
▫ Dynamic monitoring of internal and external context
▫ Dynamic adaptation of systems
Villegas, N.M., Müller, H.A., Tamura, G., Duchien, L., Casallas, R.: A Control Engineered Reference Model for Context-Based
Self-Adaptation (2010)
26. 26
Rigi Research Group
Making Feedback Loops Explicit
• As feedback loops use to be hidden, there currently exists
no explicit methods for analysis, validation, and
verification of control mechanisms in dynamic software
systems.
• The explicitness of the feedback loops, their interactions
and individual elements, renders the software reference
models, architectures and designs, as analyzable,
assessable and comparable software artifacts
27. 27
Rigi Research Group
Application of Feedback loops
• Application of control theory to the engineering of dynamic software
and computing systems
• Feedback loops provide the generic mechanism for self-adaptation
(collect, analyze, decide and act)
SISO feedback control block diagram with explicit functional elements and corresponding
interactions to control dynamic adaptation in a software system
Villegas, N.M., Müller, H.A., Tamura, G., Duchien, L., Casallas, R.: A Control Engineered Reference Model for Context-Based
Self-Adaptation. (2010)
28. 28
Rigi Research Group
The Self-Controller Software Model
Kokar, M.M., Baclawski, K., Eracar, Y.A..: Control Theory-Based Foundations of Self-Controlling Software (1999)
29. 29
Rigi Research Group
Feedback Control Architecture for Adaptive
Systems
• The control explicitness exposes
obligations that fall on activities
of design and development
• Design
▫ Identification of control and
data elements
▫ Control representation
▫ Selection of adaptation and
monitoring strategies
• Analysis/V&V
▫ Validation of models and
actuation plan
▫ Map the plan to available
Feedback control architecture proposed by commands
Mary Shaw. Dagstuhl Seminar (2007)
• Implementation
▫ Map from elements of design
to elements of implementation
Müller, H.A., Pezzè, M., Shaw, M.: Visibility of Control in Adaptive Systems (2008)
30. 30
Rigi Research Group
The Autonomic Element (MAPE-K loop)
Kephart, J. O. and Chess: The vision of autonomic computing. (IBM - 2003)
31. 31
Rigi Research Group
Our Proposed Control-Based Reference Model
• Improving engineering of
dynamic systems by
making explicit:
▫ Dynamic properties as
the control reference
goals
▫ Separation of concerns
among multiple
feedback loops (at least
three)
▫ Context management as
an independent feed-
back loop
32. 32
Rigi Research Group
Definition and
execution of the
adaptation plan
Context Control
Objectives
(from system
control objectives)
Context
management
infrastructure
Gathering and
symptoms inference Deciding about Sensing and
context manager Preprocessing
adaptation
33. 33
Rigi Research Group
System’s context to
support adaptation
monitoring
Provides
context control
objectives
Enables objectives Supports the system
manager to decide adaptation
about changes in (context provisioning)
control objectives
34. 34
Rigi Research Group
Our Reference Architecture for Control-Based Dynamic
Monitoring in SOA Governance
• Derived from our control-
based reference model
• Applicable to the automation
of run-time and change-time
governance
• To assist the design and
implementation of
monitoring infrastructures
able to:
▫ Monitor relevant context
▫ Support the dynamic
adaptation of business
objectives
▫ Self-configure
Norha M. Villegas and Hausi A. Müller: Context-Driven Adaptive Monitoring for Supporting SOA Governance. (2010 )
35. 35
Rigi Research Group
Study Case: Governance Feedback Loops for Supporting
Dynamic SOA Governance
• An initial SLA between
HotelNearbyFacilities and
ShoppingFacilitiesBrokerA
▫ 10 transactions/second in
summer days
▫ 5 transactions/second for the
remainder of the year
• ShoppingFacilitiesBrokerA
composes services from
different providers
• One SLA is defined between
each shopping broker and each
boutique
• On SLA violation, the
infrastructure must support
dynamic SLA negotiation
Norha M. Villegas and Hausi A. Müller: Context-Driven Adaptive Monitoring for Supporting SOA Governance. (2010 )
36. 36
Rigi Research Group
• The concrete architecture for
dynamic monitoring in SOA
governance
▫ Software architecture for
implementing a dynamic
monitoring infrastructure
based on feedback loops
Norha M. Villegas and Hausi A. Müller: Context-
Driven Adaptive Monitoring for Supporting SOA
Governance. (2010)
37. 37
Rigi Research Group
Toward a broad application of control theory to the engineering
of dynamic software systems
38. 38
Rigi Research Group
Control-Based Design and Control Objectives
• Categorizing control-based architectural patterns for
dynamic software systems
• With respect to control objectives
▫ How to identify control objectives in software systems?
▫ How to dynamically get the reference inputs related to
the software control objective?
▫ How to represent software control objectives in such a
way the can be processed and regulated at run-time?
▫ From the perspective of software requirements, how to
elicit and specify control objectives?
39. 39
Rigi Research Group
Model Definition
• The dynamic behaviour of computing and software systems must be
modeled to be controlled
• The relationships between control inputs and measured outputs
• Model variables and signals (variables that change over time)
First-principle
Black-box models
models
Experimental
Mechanical and For computing Model scope design
electrical systems: e.g., (considered (collecting data Parameter Model
systems: e.g., queuing inputs and to estimate estimation evaluation
Newton Laws relationships outputs) model
parameters)
Until now, more applicable to Software Engineering
40. 40
Rigi Research Group
Support for Instrumentation
• Control-based design and architectural patterns
• Domain-specific languages, programming and
specification languages (e.g., UML profiles for control-
based software engineering)
• Software engineering frameworks that incorporate
control engineering principles and techniques (e.g.,
monitors, controllers as filters, transducers)
41. 41
Rigi Research Group
Summary and Final Remarks
• I gained a deep insight of control engineering and its application to
computing and software systems
▫ The exploration and analysis of software systems from a control engineering
perspective, beyond controlling specific variables (e.g., performance, throughput)
▫ Not many documented contributions are available
• We designed, developed, and documented a valuable course that will be
available for the CSC Department. Control engineering provides important
elements for the engineering of software systems
• The contribution is not only for CSC-Uvic, but for the adaptive software
engineering community in general (e.g., ADAM team – Inria Nord Europe).
• Many opportunities have been identified for the improvement of software
engineering for dynamic systems (from academia, research and industry),
through the broad application of control engineering
• Other results
▫ Two papers: 1 submitted to MESOA 2010. 1 will be submitted to SEAMS 2011
▫ Proof of concept: 1 demo for CASCON 2010 (tentative)
42. 42
Rigi Research Group
Thank you!
• Questions?
Norha Villegas
nvillega@cs.uvic.ca
http://webhome.csc.uvic.ca/~nvillega/
Skype: norha.villegas