Análise da Fidedignidade do Estudo de Caso Apt 03 22/05/2007 Fase 3.1: Formulação da Contribuição Rodrigo Paes [email protected] Agenda • Objetivo • Sistema de Controle de Tráfego Aéreo – Motivação para uso de leis neste domínio • Fontes de Problemas • Engenharia do Sistema – Casos de Uso – Arquitetura • Análise da Fidedignidade – Ameaças / Planos de Mitigação – DepExp (Dependability Explicit Computing) • Reflexões – Por que leis para dependability? Há algo de errado com as abordagens tradicionais? – E agora? Rodrigo Paes - [email protected] © LES/PUC-Rio Objetivo • Ilustrar com um estudo de caso complexo que a nossa abordagem de leis pode ser utilizada para melhorar a fidedignidade de um sistema multi-agente aberto. “Um software é dito fidedigno quando se pode justificavelmente depender dele assumindo riscos de danos compatíveis com o serviço prestado pelo software”1 1Avizienis, A.; Laprie, J-C.; Randell, B.; “Dependability and Its Threats: A Taxonomy”; in: Jacquart, R.; eds.; Proceedings of the IFIP 18th World Computer Congress: Building the Information Society, Toulouse, France; IFIP Congress Topical Sessions; Dodrecht: Kluwer; 2004; pags 91-120 Rodrigo Paes - [email protected] © LES/PUC-Rio Objetivo • Planejamento 1. Realizar análise do Domínio 2. Identificar casos de uso 3. Identificar ameaças (riscos) 4. Identificar arquitetura do sistema 5. Identificar os objetivos para fazer DepExp 6. Derivar as leis 7. Implementar protótipo 8. Avaliar experimentação Rodrigo Paes - [email protected] © LES/PUC-Rio Sistema de Controle de Tráfego Aéreo • A controller's primary task is to separate certain aircraft to prevent them from coming too close to each other by use of lateral, vertical and longitudinal separation1. • Secondary tasks include ensuring safe, orderly and expeditious flow of traffic and providing information to pilots, such as weather, navigation information and NOTAMs (Notices to Airmen)2. 1,2 Wikipedia, Air Traffic Control, http://en.wikipedia.org/wiki/Air_traffic_control, accessed at 15/05/2007 Rodrigo Paes - [email protected] © LES/PUC-Rio Sistema de Controle de Tráfego Aéreo • Por que utilizar leis neste domínio? “… software issues tend to revolve around the use of commercial off-the-shelf software and its increasing complexity. Of particular concern is the difficulty sometimes encountered of ascertaining the basic code for commercial offthe-shelf software, which makes its validation a challenging task. People involved in the details of the IT system often lack real-world aircraft and airline-operations experience, which can lead to mismatches of requirements knowledge and software design” • Na nossa abordagem – Software tem suas operações monitoradas pelo M-Law – Os experts do domínio podem definir o comportamento esperado utilizando uma linguagem de alto nível – Equipe de TI pode focar na análise das ameaças Stuart Matthews. Future developments and challenges in aviation safety. Flight Safety Digest, 21(11):1--12, Nov. 2002. Rodrigo Paes - [email protected] © LES/PUC-Rio Fontes de Problemas • Falta de conhecimento técnico • Software • Hardware • Falha Humana • Operação no aeroporto • Problemas durante o vôo (terrorismo, bêbados,…) • Condições do tempo • Controladores Rodrigo Paes - [email protected] © LES/PUC-Rio Fontes de Problemas “During 2004 in the United States, pilot error was listed as the primary cause of 78.6% of fatal general aviation accidents, and as the primary cause of 75.5% of general aviation accidents over all”1 • Com o avanço do conhecimento técnico, falhas nos aviões tem se tornado cada vez mais raras. Isto tem levado a exposição das falhas humanas. • Foco de análise: falhas de controladores e pilotos 1AOPA Air Satety Foundation, 2005 NALL REPORT: Accident Trends and Factors for 2004, 2005. Rodrigo Paes - [email protected] © LES/PUC-Rio Engenharia do Sistema: Casos de Uso uc Primary Use Cases System Boundary EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere CDU003- Informar CDU002- Receber condições do tempo informações do tempo ao piloto CDU001- Manter de estações separação lateral, meteorológicas v ertical e longitudinal EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere CDU004- Receber informações de posicionamento e v elocidade das aeronav es a partir de radares EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere CDU005- Informar Monitorador EA 6.5 Unregistered Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere posicionamentoTrial e v elocidade aos pilotos EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere CDU006- Receber plano de v oo dos pilotos EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere CDU007- Permitir a aprov ação de planos de v oo EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere CDU008- Garantir segurança no pouso EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistere Rodrigo Paes - [email protected] © LES/PUC-Rio Engenharia do Sistema: Casos de Uso uc Primary Use Cases egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version System Boundary egistered Trial Version EA 6.5 Unregistered CDU009- Informar Trial Version EA 6.5 Unregistered Trial Version proativ amente a mudança de controlador aos pilotos (hand ov er) Monitorar egistered Trial Version EA 6.5 Unregistered Trial CDU010Version EA 6.5 Unregistered Trial Version ações dos pilotos Informar egistered Trial Version EA 6.5 Unregistered Trial Version EA CDU0116.5 Unregistered Trial Version pilotos das ações a serem tomadas egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version CDU012- Permitir a Monitorador egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version comunicação entre controladoes e pilotos de forma não ambígua egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version CDU013- Garantir egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version segurança na decolagem egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version CDU014- Garantir CDU015- Exibir interface gráfica com a posição dos av iões, v elocidade e as interseções do mapa segurança durante o v oo egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version egistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version Rodrigo Paes - [email protected] © LES/PUC-Rio Arquitetura CTRL TCAS- Traffic Collision Avoidance System CKPT- Cockpit ADMG- Arrival and Departure Manager MSAW- Minimum Safe Altitude Warning SYSCO- System Coordination CPDLC- Controller Pilot Data Link Communication M-LAW Mode S- Mode S Service Layer TCAS CKPT ADMG MSAW SYSCO CPDLC MODE S NWI NWI- Network of Weather Information CTRL – Controller Monitor Rodrigo Paes - [email protected] © LES/PUC-Rio Análise da Fidedignidade • Ameaças 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 Análise da 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 Ações de mitigação • Para mitigar uma ameaça, especificamos procedimentos, ou planos de ação; • Nossa abordagem, permite especificar a regra de conduta, verificar a sua violação e indicar quais os procedimentos devem ser executados. Rodrigo Paes - [email protected] © LES/PUC-Rio Exemplos de ações de mitigação Caso de Lei CDL001 CDL002 Ação de Mitigação Solicitar plano de açao ao TCAS e informar ao piloto Solicitar plano de açao ao MSAW e informar ao piloto CDL003 Emitir alerta ao piloto CDL004 Utilização de protocolos e mensagens padrão CDL005 Emitir alerta ao piloto Solicitar ao MSAW que verifique se existe algum problema na aeronave. O MSAW lista os problemas ao piloto, informa as consequências da ação que ele irá tomar e solicita uma confirmação CDL006 Solicitar ao NWI outra estação meteorologica que possa prover os dados CDL007 CDL008 Alertar administradores do sistema através de email Solicitar ao ADMG que alerte o controlador, informe onde está o erro e explique as consequências. Solicitar confirmação de ação CDL009 Solicitar ao ADMG que alerte o controlador, informe onde está o erro e explique as consequências. Solicitar confirmação de ação CDL010 Rodrigo Paes - [email protected] © LES/PUC-Rio Consequência lógica • Fidedignidade : “…quando se pode justificavelmente depender dele …” • Com as leis … – Especificação do comportamento esperado; – Detecção do erro/ameaça; – Especificação da estratégia para lidar com ele; – Ou seja, fornece a justificativa para a confiança no software. Rodrigo Paes - [email protected] © LES/PUC-Rio DepExp • Quais os meta-dados que interessam? – Uso de GQM Goal G001 Identificar o desempenho dos pilotos em termos de falhas cometidas G002 Identificar o desempenho dos controladores ao recomendar ações fora dos padrões estabelecidos G003 Identificar a confiabilidade dos radares G004 Identificar a confiabilidade das estações meteorológicas G005 Identificar a confiabilidade do canal de comunicação do controlador G006 Identificar tempo médio de resposta dos controladores as solicitações durante o voo G007 Identificar tempo médio de resposta dos controladores as solicitações para pouso G008 Identificar tempo médio de resposta dos controladores as solicitações para decolagem Rodrigo Paes - [email protected] © LES/PUC-Rio DepExp • Usar as próprias ameaças para identificar as questões – Ameaça: • CDL001 - Aeronave se aproxima demais de outra aeronave – Questão: • O piloto se aproximou demais de outra aeronave? • O monitoramento das leis responde as questões • Cada violação atualiza um banco de dados Rodrigo Paes - [email protected] © LES/PUC-Rio Reflexões • Tiro no pé – Por que utilizar leis para lidar com fidedignidade, principalmente quando já existem outras abordagens? • Resposta 1: Você consegue especificar leis com as outras abordagens de dependability? :-D • Resposta 2: As leis oferecem um conjunto de abstrações que especificam o comportamento esperado do sistema e de maneira integrada você consegue especificar as estratégias de mitigação de ameaças. Identificação de erros/ameaças Comportamento esperado Estratégias para lidar com as ameaças/erros Rodrigo Paes - [email protected] © LES/PUC-Rio E agora?? • Sistema já está especificado • Trabalho realizado até o momento – Trabalhos relacionados ao meta-modelo – Aplicação da abordagem de leis para alcançar fidedignidade (dependability) – Estudo de Caso 1: implementando duas estratégias de tolerância a falhas através do XMLaw – Dependability Explicity Computing e Leis – Estudo de caso 2: DepEx com em uma agência de viagens – Estudo de caso principal: controle de tráfego aéro • Putting all together • Finalizar a implementação ?? Rodrigo Paes - [email protected] © LES/PUC-Rio Obrigado! Rodrigo Paes [email protected]