Upload
norhavillegas
View
1.184
Download
1
Tags:
Embed Size (px)
DESCRIPTION
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.
Citation preview
CSC 591 - Analysis and Control of
Computing SystemsComputing SystemsNorha M. VillegasFirst year PhD StudentInstructor: Prof. Dr. Hausi MüllerComputer Science Department
Agenda
• Dynamic computing systems and control theory overview
• Course overview
• Application of control theory to the control of dynamic
Rigi Research Group
2
• 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
Rigi Research Group
3
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
Rigi Research Group
4
• 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
Complexity of Dynamic Computing Systems
The simultaneous explosion of information and integration of technology, and the continuous
evolution to Ultra Large Scale System
The proliferation of smart and context-aware applications, user centric-
services and ubiquitous environments
Software systems must become more versatile,
Rigi Research Group
5
The necessity of satisfying software requirements by regulating complex
and decentralized systems
The high dependency between changing business objectives and
software systems
become more versatile, flexible, resilient, self-
healing, configurable and optimizing
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)
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
Rigi Research Group
6
• 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
Controlling Dynamic Computing systems
Regulating the accomplishment of requirements and
Planning
Rigi Research Group
7
SymptomsPlans
requirements and business level
objectives, keeping the system
equilibrium
Execution
Monitoring
Analysis
Observations
Relevant ContextFeedback loops provide generic mechanisms for supporting the adaptation process of
dynamic systems: monitoring, analysis, planning and execution
Rigi Research Group
8
Learning Objectives
Rigi Research Group
9
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 behaviourand control their dynamic behaviour
To understand the foundations of control
theory and the implications for their application to the monitoring, analysis, and
control of dynamic computing systems
To analyze existing control-based reference models,
reference architectures and software techniques
applicable to the control of dynamic software systems
To identify challenges related to the application of
control engineering to software engineering of
dynamic systems
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
Rigi Research Group
10
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 Washingtonhttp://research.microsoft.com/en-us/um/people/liuj/cse590k2008winter/default.aspx
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
Rigi Research Group
11
▫ 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/eac7abb3-27a0-4a53-be0f-10525cabe46e?panel=Main
Foundations of control theory and feedback loops applied to
Rigi Research Group
12
Foundations of control theory and feedback loops applied to computing systems
Control System ArchitectureA SISO feedback control system
The goal: achieve a measured output according to the
control objectives (reference input)
Should be designed to
achieve the goal
Is dynamically changed to achieve
• Reference input: control objective
• Measured output: compared to the reference input
• Control error: difference between the reference input and the measured output
• Control input: signal(s) to affect the target system looking for a measured output closer to the reference input
• Disturbances and noise: affect the 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)
changed to achieve the goal
Feedback Loops: examples from Nature
Rigi Research Group
14
Source: http://susty.com/tag/global-climate-change-feedback-loops/
Positive Feedback Loop: Global Warming �
http://www.anselm.edu/homepage/jpitocch/genbio/organizationnot.html
Homeostasis: + and – feedback loops to keep the equilibrium in the internal environment ☺
Control Objectives and Model Construction
• Controllers are designed for a specific purpose: control objective
• Three main control objectives strategies
Rigi Research Group
15
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)
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
Rigi Research Group
16
• Hellerstein’s book focuses on modeling techniques (mainly linear system theory) and their application to computing systems (queuing theory)
Rigi Research Group
17
In a feedback control the desired output is achieved by specifying the reference input (directly) instead of by manipulating the control input (indirectly)(indirectly)
The challenge: designing controllers to achieve the desired outputs
Properties of Control Systems Relevant for
Computing Systems
Stability AccuracyShort
SettlingSmall
Overshoot
Rigi Research Group
18
• Bounded inputs, bounded outputs
• Stable in operating regions
• Bounded inputs, bounded outputs
• Stable in operating regions
• The output converges to the reference input
• Control objectives are met
• The output converges to the reference input
• Control objectives are met
• Quick convergence
• Before the workload changes
• Quick convergence
• Before the workload changes
• Objectives achievement minimizing overshoot
• Caring of system degradation
• Objectives achievement minimizing overshoot
• Caring of system degradation
J. L. Hellerstein, Y. Diao, S. Parekh, and D. M. Tilbury, Feedback Control of Computing Systems. John Wiley & Sons. (2004)
Analyzing Control Properties: an unstable control
system
Rigi Research Group
19
Reference input0.5
CPU
utilization
Accuracy and small overshot are not
observed
• An improperly designed controller
• This feedback system is unstable: the controller overreacts to the CPU utilization
timeOpen loop Controller on
Analyzing Control Properties: a stable control
system
Rigi Research Group
20
Steady error -1rss-yss
Accuracy
Steady State
Stability
Short settlingMaximum overshoot
Initial Reference input 0.0
Reference inputSteady value 2.0
Settling time
Rigi Research Group
21
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?
Issues in Controlling Dynamic Software Systems
Controllability
• Related to the properties of control systems
Observability
• Determination of the system’s state from measurements of the system
Stability
• Disturbances do not affect the system equilibrium
Robustness and efficiency
Autonomy
• Self-adaptive
Generality
• Knowledge bases should
Rigi Research Group
22
efficiency
• The controller’s ability to achieve the objectives even in larger environments
• Minimizing cost
• Self-adaptive• Self-configuring• Self-*
• Knowledge bases should evolve by incorporating new knowledge
Chattering
• Controlling the adaptation on state boundaries
• System performance
Scheduling and Efficiency
• Control the interactions and effects among multiple loops
Proactive reconfiguration
• Anticipating changes in the environment
• Prediction models
Passino, K. and Burgess, K.: Stability analysis of discrete event systems. John Wiley & Sons. (1998)
Identified Application Steps
Defining software control objectives
Describing the software system in
terms of control theory elements
Modeling the relationship between the control input and the measured output
Rigi Research Group
23
Designing the controller in terms of software components
Evaluating the control system (assessment)
Identified Application Dimensions
• Describing the software system in terms of control theory elements . Improving visibility of control in software systems
• Designing controllers in terms of software components• Control-based reference models, architectures, and patterns
• Describing the software system in terms of control theory elements . Improving visibility of control in software systems
• Designing controllers in terms of software components• Control-based reference models, architectures, and patterns
Software Design and Architectural perspective
Rigi Research Group
24
• Characterization of software components’ properties• Identification of variables and signals: properties to be
measured • Modeling the impact of control inputs on measured outputs
• Characterization of software components’ properties• Identification of variables and signals: properties to be
measured • Modeling the impact of control inputs on measured outputs
Model Definition (controller design)
• Simulation mechanisms to identify control parameters• Dynamic representation and management of control objectives• Dynamic monitoring mechanisms• Implementation of actuators and effectors• Controller complexity and trade-offs
• Simulation mechanisms to identify control parameters• Dynamic representation and management of control objectives• Dynamic monitoring mechanisms• Implementation of actuators and effectors• Controller complexity and trade-offs
Instrumentation
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
Rigi Research Group
25
▫ 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)
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.
Rigi Research Group
26
• 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
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)
Rigi Research Group
27
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)
The Self-Controller Software Model
Rigi Research Group
28
Kokar, M.M., Baclawski, K., Eracar, Y.A..: Control Theory-Based Foundations of Self-Controlling Software (1999)
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
Rigi Research Group
29
▫ Control representation▫ Selection of adaptation and
monitoring strategies• Analysis/V&V
▫ Validation of models and actuation plan
▫ Map the plan to available commands
• Implementation▫ Map from elements of design
to elements of implementation
Feedback control architecture proposed by Mary Shaw. Dagstuhl Seminar (2007)
Müller, H.A., Pezzè, M., Shaw, M.: Visibility of Control in Adaptive Systems (2008)
The Autonomic Element (MAPE-K loop)
Rigi Research Group
30
Kephart, J. O. and Chess: The vision of autonomic computing. (IBM - 2003)
Our Proposed Control-Based Reference Model
• Improving engineering of dynamic systems by making explicit:▫ Dynamic properties as
the control reference goals
Rigi Research Group
31
goals
▫ Separation of concerns among multiple feedback loops (at least three)
▫ Context management as an independent feed-back loop
Rigi Research Group
32
Definition and execution of the
Gathering and symptoms inference
Context Control Objectives
(from system control objectives)
Deciding about context manager
adaptation
Sensing and Preprocessing
Context management infrastructure
execution of the adaptation plan
Rigi Research Group
33
Provides context control
objectives
System’s context to support adaptation
monitoring
Enables objectives manager to decide about changes in control objectives
Supports the system adaptation
(context provisioning)
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
Rigi Research Group
34
• 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 )
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
Rigi Research Group
35
remainder of the year
• ShoppingFacilitiesBrokerAcomposes 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 )
• The concrete architecture for dynamic monitoring in SOA governance
▫ Software architecture for implementing a dynamic
Rigi Research Group
36
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)
Toward a broad application of control theory to the engineering
Rigi Research Group
37
Toward a broad application of control theory to the engineering of dynamic software systems
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?
Rigi Research Group
38
▫ 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?
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)
Rigi Research Group
39
First-principle models
Mechanical and electrical
systems: e.g., Newton Laws
For computing systems: e.g.,
queuing relationships
Black-box models
Model scope (considered inputs and outputs)
Experimental design
(collecting data to estimate
model parameters)
Parameter estimation
Model evaluation
Until now, more applicable to Software Engineering
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)
Rigi Research Group
40
based software engineering)
• Software engineering frameworks that incorporate control engineering principles and techniques (e.g., monitors, controllers as filters, transducers)
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
Rigi Research Group
41
• 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)
Thank you!
•Questions?
Rigi Research Group
42
Norha Villegas
http://webhome.csc.uvic.ca/~nvillega/
Skype: norha.villegas