1 / 18

Especificação de um Mecanismo Autonômico em CSP

Especificação de um Mecanismo Autonômico em CSP. Adalberto R. Sampaio Junior Doutorado – Cin /UFPE. 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) ).

Download Presentation

Especificação de um Mecanismo Autonômico em CSP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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) )

  3. Sistemas simulados S1: não determinístico

  4. Sistemas simulados S1: determinístico Estados válidos: 1, 2, 3, 5

  5. Sistemas simulados S3: determinístico Estados válidos: 1, 2

  6. Sistemas simulados S4: determinístico Estados válidos: 1, 5,3,2

  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

  8. Mecanismo Autonômico • Modelado com base na arquitetura Mape-K proposta pela IBM. • Quatro processos: • Monitor; • Analisador; • Planejador; • Executor; • Uma base de conhecimento

  9. Mecanismo Autonômico • Monitor check(n) = {s | s <- inter({sym.n},SYMPTOMS), member(sym.n,SYMPTOMS)} Monitor = signal?s -> monitor!s -> ifempty(check(s)) then next -> Monitor elsesymptom_detect!head(seq(check(s))) -> Monitor

  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

  11. Mecanismo Autonômico • Planejador Planner = change_plan?cp -> (mapMember(ACTIONS, cp)) & apply!mapLookup(ACTIONS,cp) -> Planner

  12. Mecanismo Autonômico • Executor Executor = apply?cp -> execute!cp -> Executor

  13. Mecanismo Autonômico Autonomic = ( ( Monitor [|{|symptom_detect|}|] Analizer ) [|{|change_plan|}|] Planner ) [|{|apply|}|] Executor

  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 |) -- S4 SYMPTOMS = {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 |) ---------------endknowledge Base---------------

  15. Execução do Sistema de Forma Autonômica Au = S [|{|signal, execute, next|}|] Autonomic • Propriedades verificadas • assertAu :[deadlockfree] • assertAu :[deterministic] • assertAu :[divergencefree] • assertS \{|execute, next|} [T= S1 • assertS \{|execute, next|} [T= S2 • assertS \{|execute, next|} [T= S3 • assertS \{|execute, next|} [T= S4 • TO_HIDE = {|symptom_detect, change_plan, apply, next, execute, monitor|} • assertAu \ TO_HIDE [T= S1 • assertAu \ TO_HIDE [T= S2 • assertAu \ TO_HIDE [T= S3 • assertAu \ TO_HIDE [T= S4

  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) assertAutonomic \ {|signal, symptom_detect, change_plan, apply|} [T= A(3,4) assertAutonomic \ {|signal, symptom_detect, change_plan, apply|} [T= B(4,3)

  17. Refinamento [FD= ---------------Centralized Monitor--------------- -- deterministic -- Monitor check(n) = {s | s <- inter({sym.n},SYMPTOMS), member(sym.n,SYMPTOMS)} Monitor = signal?s -> monitor!s -> ifempty(check(s)) thennext -> Monitor elsesymptom_detect!head(seq(check(s))) -> Monitor ------------------------------------------------- ---------------Distributed Monitor--------------- Non deterministic -- Monitor M(i) = sense?s -> if s == i then (signal.s -> monitor!s -> ifempty (check(s)) thennext -> M(i) elsesymptom_detect!head(seq(check(s))) -> M(i) ) elseM(i) MMM = ||| i : STATES @ M(i) assertMMM \ {|sense|} [T= Monitor assertMMM \ {|sense|} [FD= Monitor -------------------------------------------------

  18. Obrigado!

More Related