actor-based runtime model of adaptable feedback control...
TRANSCRIPT
Actor-based Runtime Model of Adaptable Feedback Control Loops
Université Nice Sophia AntipolisI3S - CNRS UMR 7271
France
Filip Křikava Philippe Collet
7th International Workshop on [email protected] (MRT 2012)
October, 2nd, 2012 - Innsbruck/AUSTRIA
Robert B. France
Colorado State UniversityComputer Science Department
USA
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
Example: Restart Apache server every time its memory usage exceeds 1GB
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
effector
controller
filter
sensor • Collecting relevant context information
• Action executing to get a system into a desired state
• Data preprocessing e.g. data filter, rule inference engines, etc.
• Reasoning about system state and planing the appropriate actions to be executed
Example: Restart Apache server every time its memory usage exceeds 1GB
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
effector
controller
filter
sensor • Collecting relevant context information
• Action executing to get a system into a desired state
• Data preprocessing e.g. data filter, rule inference engines, etc.
• Reasoning about system state and planing the appropriate actions to be executed
Target Environment
Operating System
Service
Example: Restart Apache server every time its memory usage exceeds 1GB
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
effector
controller
filter
sensor • Collecting relevant context information
• Action executing to get a system into a desired state
• Data preprocessing e.g. data filter, rule inference engines, etc.
• Reasoning about system state and planing the appropriate actions to be executed
Target Environment
Operating System
Service
Example: Restart Apache server every time its memory usage exceeds 1GB
/etc/init.d/apachectl restart
ps -o pmem= $(cat /var/run/httpd.pid)
Operating System
Service
control layer
system
layer
cont
rol
apacheUsage : ProcMemUsage
apacheRestart : ProcRestart
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
effector
controller
filter
sensor • Collecting relevant context information
• Action executing to get a system into a desired state
• Data preprocessing e.g. data filter, rule inference engines, etc.
• Reasoning about system state and planing the appropriate actions to be executed
Target Environment
Operating System
Service
Example: Restart Apache server every time its memory usage exceeds 1GB
/etc/init.d/apachectl restart
ps -o pmem= $(cat /var/run/httpd.pid)
Operating System
Service
control layer
system
layer
cont
rol
apacheUsage : ProcMemUsage
apacheRestart : ProcRestart
controller : ApacheController
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
effector
controller
filter
sensor • Collecting relevant context information
• Action executing to get a system into a desired state
• Data preprocessing e.g. data filter, rule inference engines, etc.
• Reasoning about system state and planing the appropriate actions to be executed
Target Environment
Operating System
Service
Example: Restart Apache server every time its memory usage exceeds 1GB
/etc/init.d/apachectl restart
ps -o pmem= $(cat /var/run/httpd.pid)
Operating System
Service
control layer
system
layer
cont
rol
apacheUsage : ProcMemUsage
apacheRestart : ProcRestart
controller : ApacheController
trigger: TimedScheduler
push
pull
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
effector
controller
filter
sensor • Collecting relevant context information
• Action executing to get a system into a desired state
• Data preprocessing e.g. data filter, rule inference engines, etc.
• Reasoning about system state and planing the appropriate actions to be executed
Target Environment
Operating System
Service
Example: Restart Apache server every time its memory usage exceeds 1GB
/etc/init.d/apachectl restart
ps -o pmem= $(cat /var/run/httpd.pid)
Operating System
Service
control layer
system
layer
cont
rol
apacheUsage : ProcMemUsage
apacheRestart : ProcRestart
controller : ApacheController
trigger: TimedScheduler
push
pull
avg: MovingAverage
pull
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
effector
controller
filter
sensor • Collecting relevant context information
• Action executing to get a system into a desired state
• Data preprocessing e.g. data filter, rule inference engines, etc.
• Reasoning about system state and planing the appropriate actions to be executed
Target Environment
Operating System
Service
Example: Restart Apache server every time its memory usage exceeds 1GB
/etc/init.d/apachectl restart
ps -o pmem= $(cat /var/run/httpd.pid)
Operating System
Service
control layer
system
layer
cont
rol
apacheUsage : ProcMemUsage
apacheRestart : ProcRestart
controller : ApacheController
trigger: TimedScheduler
push
pull
control layer
system
layer
controller : AdaptiveMonController
setPeriod pushmet
a-co
ntro
l
avg: MovingAverage
pull
mardi 2 octobre 12
The Big PictureCapture Feedback Control Loops in networks of reflective actors
effector
controller
filter
sensor • Collecting relevant context information
• Action executing to get a system into a desired state
• Data preprocessing e.g. data filter, rule inference engines, etc.
• Reasoning about system state and planing the appropriate actions to be executed
Target Environment
Operating System
Service
ApacheControlComposite
procTable : ProcTable startActor
apacheLifecycle : CompositeLifecycleController
trigger: TimedScheduler
push
pull
apacheProcFilter: ProcFilter
pull control layer
system
layer
cont
rol
stopActor
MainComposite
Example: Restart Apache server every time its memory usage exceeds 1GB
/etc/init.d/apachectl restart
ps -o pmem= $(cat /var/run/httpd.pid)
Operating System
Service
control layer
system
layer
cont
rol
apacheUsage : ProcMemUsage
apacheRestart : ProcRestart
controller : ApacheController
trigger: TimedScheduler
push
pull
control layer
system
layer
controller : AdaptiveMonController
setPeriod pushmet
a-co
ntro
l
avg: MovingAverage
pull
mardi 2 octobre 12
• Towards [email protected] • Alternative form of [email protected]• Explicit and concrete FCLs using reflective actor model• Higher-level of abstraction• Actors potentially reusable in different scenarios• Multiple coordinated and hierarchically layered FCLs• Support some non-functional requirements of [email protected]
• thread-safety• distribution• scalability
• Towards Rapid Prototyping using an MDE toolchain• Provide researchers and engineers with a tooled approach to
experiment with self-adaptive systems
3
Summary
mardi 2 octobre 12
Thank you!
4
Filip Kř[email protected]
The work reported in this paper is partly funded by the ANR SALTY project under contract ANR-09-SEGI-012.
http://nyx.unice.fr/projects/actress
mardi 2 octobre 12