Resumo do Estudo de Caso Apt 04 26/06/2007 Fase 3.2: Ilustração da Contribuição Rodrigo Paes [email protected] Objetivo: Ilustrar Governança com Fidedignidade Metodologia adotada • Análise do Domínio • Casos de Uso • Arquitetura • Análise e especificação dos aspectos de Governança • Análise e especificação dos aspectos de fidedignidade Rodrigo Paes - [email protected] © LES/PUC-Rio Análise do Domínio • Função principal – A principal função do controle de tráfego aéreo (CTA) é controlar e monitorar o tráfego aéreo de um aeroporto de origem até um aeroporto de destino • Fontes de problemas – Software – Hardware – Comportamento (brigas, álcool) – Falha Humana – Condições do tempo Rodrigo Paes - [email protected] © LES/PUC-Rio Análise do Domínio • Fases – ( 1 ) Planejamento do Vôo – ( (1) 2 )Controle Acionamento de Pistados Motores e Push-back – ( 3 ) Início de Táxi – ( 4 ) Decolagem – ( (2) 5 )Decolagem Saída da Terminal – ( (3) 6 )Vôo Vôo em Cruzeiro – ( 7 ) Início de Descida – ( (4) 8 )Pouso Entrada na Terminal – ( 9 ) Aproximação Final – ( 10 ) Pouso e Táxi Rodrigo Paes - [email protected] © LES/PUC-Rio Análise do Domínio interseção Alertas meteorológicos aerovias setor controladores radar Rodrigo Paes - [email protected] © LES/PUC-Rio Casos de Uso • • • • • • • • • • • • • • • CDU001_Manter_Separação_Lateral_Vertical_Longitudinal CDU002_Receber_Informações_Estações_Metereológicas CDU003_Informar_Condições_Tempo_Ao_Piloto CDU004_Receber_Informações_Posicionamento_Velocidade CDU005_Informar_Posicionamento_Velocidade CDU006_Receber_Plano_Vôo CDU007_Permitir_Aprovacao_Planos_Voo CDU008_Garantir_Segurança_Aterrissagem CDU009_Informar_Proativamente_Mudança_Controlador CDU010_Monitorar_Ações_Piloto CDU011_Informar_Pilotos_Ações CDU012_Prover_Comunicação_Não_Ambígua CDU013_Garantir_Segurança_Decolagem CDU014_Garantir_Segurança_Vôo CDU015_Exibir_Interface_Gráfica Rodrigo Paes - [email protected] © LES/PUC-Rio Arquitetura • TODO: integrar com DepEx Rodrigo Paes - [email protected] © LES/PUC-Rio Governança Passo 1: identificar as cenas de interação Passo 2: identificar os protocolos de interação de cada cena Passo 2.1: identificar os agentes que participam da interação Passo 2.2: identificar constraints Passo 3: identificar as normas Passo 4: identificar os clocks Passo 5: identificar as actions Passo 5.1: devem ser identificadas somente actions relacionadas a governança, ou seja, as actions relacionadas a fidedignidade devem ser postergadas Rodrigo Paes - [email protected] © LES/PUC-Rio Governança - cenas groundControl{ //nome da cena // Mensagens flightPlan{pilot, controller,propose(flightPlan($content))} reject{controller, pilot, reject-proposal} accept{controller, pilot, accept-proposal} intent{pilot, controller, request(go-position)} position{controller, pilot, inform(pos, $instructions)} // Estados especiais s1{initial} s3{failure} s6{success} // Transições t1{s1->s2, t2{s2->s3, t3{s2->s4, t4{s4->s5, t5{s5->s6, } flightPlan} reject} accept} intent} position} Rodrigo Paes - [email protected] © LES/PUC-Rio Governança - cenas take-off{ //nome da cena // Mensagens request{pilot, controller, request(take-off)} refuse{controller, pilot, refuse } agree{controller, pilot, agree } // Estados especiais s1{initial} s3{failure} s4{success} // Transições t1{s1->s2, request} t2{s2->s3, refuse} t3{s2->s4, agree} } Rodrigo Paes - [email protected] © LES/PUC-Rio Governança - cenas flight{ //nome da cena // Mensagens progressR{radar, controller, inform(strip, $flightProgressStrip)} progressA{pilot, controller, inform(strip, $flightProgressStrip)} switch{controller, pilot, inform(switch, $newController)} landing{pilot, controller, inform(landIntention)} // Estados especiais s1{initial} s3{success} // Transições t1{s1->s2, t2{s1->s2, t3{s2->s2, t4{s2->s2, t5{s2->s2, t6{s2->s3, } progressR} progressA} progressR} progressA} switch} landing} Rodrigo Paes - [email protected] © LES/PUC-Rio Governança - cenas landing{ ask-permission{pilot, controller, request(landingPermission)} wait{controller, pilot, inform(wait)} agree{controller, pilot, agree(permission)} s1{initial} s4{success} t1{s1->s2, ask-permission} t2{s2->s3, wait} t3{s3->s4, agree} t4{s2->s4, agree} } Rodrigo Paes - [email protected] © LES/PUC-Rio Governança • TODO: especificação dos outros elementos – Actions, norms, constraints, clocks ... Rodrigo Paes - [email protected] © LES/PUC-Rio Fidedignidade • Abordagem – Identificação das ameaças – Mapeamento para os elementos do XMLaw – Utilização de detectores de falhas Rodrigo Paes - [email protected] © LES/PUC-Rio Fidedignidade Caso de Lei Caso de Uso CDL001 CDU001 Aeronave se aproxima demais de outra aeronave CDL002 CDU014 Aeronave voa em uma altitude diferente da planejada CDL003 CDU013 Piloto não ativa o "flap" no momento da decolagem CDL004 CDU012 Ocorre falha no entendimento da comunicação entre o piloto e a torre de controle CDL005 CDU013 O piloto não ativa o sistema descongelador CDL006 CDU014 Piloto desativa inapropriadamente um instrumento CDL007 CDU002 Falha na comunicação com a estação meteorológica CDL008 CDU004 Falha na comunicação com os radares Ameaça Rodrigo Paes - [email protected] © LES/PUC-Rio Fidedignidade Caso de Lei Caso de Uso CDL009 CDU007 Controlador aprova plano de voo fora das especificações de segurança CDL010 CDU008 Controlador concede permissão de voo que acarretará em uma distância mínima menor que o especificado CDL011 CDU009 Controlador perde o canal de comunicação CDU008 Para que uma aeronave possa operar sem restrições em uma determinada RWY, o ACN da acft deverá ser menor ou igual que o PCN da pista (ACN <= PCN). A ameaça consiste em a aeronave solicitar pouso com ACN>PCN CDU008 O piloto não executa a operação padrão de circuito de tráfego ao pousar. A altura padrão para as aeronaves realizarem o circuito de tráfego é: • 1500ft (pés) para aeronaves a jato; • 1000ft (pés) para aeronaves a hélice. Todas as curvas são feitas para a esquerda CDU014 Exceto em procedimentos de pouso e decolagem, as aeronaves não poderão voar sobre cidades, povoados, lugares habitados ou grupo de pessoas ao ar livre a uma altura inferior a 1000 pés (300M) acima do obstáculo mais alto existente num raio de 600M em torno da acft; A ameaça consiste no piloto descumprir estas restrições. CDU014 Exceto em procedimentos de pouso e decolagem, as aeronaves não poderão voar em lugares desabitados em altura inferior a 500 pés (150M) sobre o solo ou água. A ameaça consiste no piloto voar a uma altura inferior a 500 pés. CDL012 CDL013 CDL014 CDL015 Ameaça Rodrigo Paes - [email protected] © LES/PUC-Rio Fidedignidade – Detectores de Falhas • Idéia – Um agente especializado em reconhecer falhas comuns • Ex: time-outs – Evita “poluir” a lei com aspectos de baixo nível – Usar o agente na especificação das leis Rodrigo Paes - [email protected] © LES/PUC-Rio TODOs • Finalizar aspectos de governança • Integrar com DepEx • Utilizar o Failure Detector • Escrever Rodrigo Paes - [email protected] © LES/PUC-Rio Obrigado! Rodrigo Paes [email protected]