Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado –...

18
Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE

Transcript of Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado –...

Page 1: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

Especificação de um Mecanismo Autonômico

em CSPAdalberto R. Sampaio Junior

Doutorado – Cin/UFPE

Page 2: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

2

Ambiente de execução do sistema

S = state?i -> signal!i -> ( next -> S [] execute?x -> Sidx(x) )Sidx(i) = state.i -> signal!i -> execute?x -> Sidx(x) )

Page 3: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

3

Sistemas simulados

S1: não determinístico

Page 4: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

4

Sistemas simulados

S1: determinísticoEstados válidos: 1, 2, 3, 5

Page 5: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

5

Sistemas simulados

S3: determinísticoEstados válidos: 1, 2

Page 6: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

6

Sistemas simulados

S4: determinísticoEstados válidos: 1, 5,3,2

Page 7: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

7

Verificação de Traces

• Foi verificado se o ambiente e execução S poderia executar os sistemas S1, S2, S3, S4.• Traces• S \{|execute, next|} [T= S1• S \{|execute, next|} [T= S2• S \{|execute, next|} [T= S3• S \{|execute, next|} [T= S4

Page 8: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

8

Mecanismo Autonômico

• Modelado com base na arquitetura Mape-K proposta pela IBM.• Quatro processos:• Monitor;• Analisador;• Planejador;• Executor;

• Uma base de conhecimento

Page 9: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

9

Mecanismo Autonômico

• Monitor

check(n) = {s | s <- inter({sym.n},SYMPTOMS), member(sym.n,SYMPTOMS)}Monitor = signal?s -> monitor!s -> if empty(check(s)) then

next -> Monitor else symptom_detect!head(seq(check(s))) -> Monitor

Page 10: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

10

Mecanismo Autonômico

• Analisador

request_change(n) = mapLookup(CHANGES,n)Analizer = symptom_detect?s -> if member(s, SYMPTOMS) then

change_plan!request_change(s) -> Analizer else Analizer

Page 11: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

11

Mecanismo Autonômico

• Planejador

Planner = change_plan?cp -> (mapMember(ACTIONS, cp)) & apply!mapLookup(ACTIONS,cp) -> Planner

Page 12: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

12

Mecanismo Autonômico

• Executor

Executor = apply?cp -> execute!cp -> Executor

Page 13: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

13

Mecanismo Autonômico

Autonomic = ( ( Monitor [|{|symptom_detect|}|] Analizer ) [|{|change_plan|}|] Planner) [|{|apply|}|] Executor

Page 14: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

14

Mecanismo Autonômico

• Base de conhecimento---------------Knowledge Base----------------- S2--SYMPTOMS = {sym.2, sym.3}--CHANGES = (| sym.2 => change.1, sym.3 => change.2 |)--ACTIONS = (| change.1 => 3, change.2 => 5 |)

-- S3--SYMPTOMS = {sym.2}--CHANGES = (| sym.2 => change.1 |)--ACTIONS = (| change.1 => 1 |)

-- S4SYMPTOMS = {sym.1, sym.2, sym.3, sym.5}CHANGES = (| sym.1 => change.1, sym.2 => change.2, sym.3 => change.3, sym.5 => change.4 |)ACTIONS = (| change.1 => 5, change.2 => 1, change.3 => 2, change.4 => 3 |)---------------end knowledge Base---------------

Page 15: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

15

Execução do Sistema de Forma AutonômicaAu = S [|{|signal, execute, next|}|] Autonomic• Propriedades verificadas

• assert Au :[deadlock free]• assert Au :[deterministic]• assert Au :[divergence free]• assert S \{|execute, next|} [T= S1• assert S \{|execute, next|} [T= S2• assert S \{|execute, next|} [T= S3• assert S \{|execute, next|} [T= S4• TO_HIDE = {|symptom_detect, change_plan, apply, next, execute, monitor|}• assert Au \ TO_HIDE [T= S1• assert Au \ TO_HIDE [T= S2• assert Au \ TO_HIDE [T= S3• assert Au \ TO_HIDE [T= S4

Page 16: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

16

Execução do Sistema de Forma Autonômica--

-- monitor.[n]

-- execute.[m]

A(n,m) = monitor.n -> execute.m -> A(n,m)

B(m,n) = execute.m -> monitor.n -> B(m,n)

assert Autonomic \ {|signal, symptom_detect, change_plan, apply|} [T= A(3,4)

assert Autonomic \ {|signal, symptom_detect, change_plan, apply|} [T= B(4,3)

Page 17: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

17

Refinamento [FD=

---------------Centralized Monitor----------------- deterministic-- Monitorcheck(n) = {s | s <- inter({sym.n},SYMPTOMS), member(sym.n,SYMPTOMS)}Monitor = signal?s -> monitor!s -> if empty(check(s)) then next -> Monitor else symptom_detect!head(seq(check(s))) -> Monitor-------------------------------------------------

---------------Distributed Monitor---------------Non deterministic-- Monitor M(i) = sense?s -> if s == i then (signal.s -> monitor!s -> if empty (check(s)) then next -> M(i) else symptom_detect!head(seq(check(s))) -> M(i) ) else M(i)MMM = ||| i : STATES @ M(i)

assert MMM \ {|sense|} [T= Monitorassert MMM \ {|sense|} [FD= Monitor-------------------------------------------------

Page 18: Especificação de um Mecanismo Autonômico em CSP Adalberto R. Sampaio Junior Doutorado – Cin/UFPE.

18

Obrigado!