análise da fidedignidade do estudo de caso apt 03 22/05/2007 fase 3.1: formulação da...
TRANSCRIPT
Análise da Fidedignidade do Estudo de Caso
Apt 0322/05/2007
Fase 3.1: Formulação da Contribuição
Rodrigo Paes
Rodrigo Paes - [email protected] © LES/PUC-Rio
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 off-
the-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 Usouc Primary Use Cases
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
System Boundary
Monitorador
CDU001- Manter separação lateral,
v ertical e longitudinal
CDU002- Receber informações do tempo
de estações meteorológicas
CDU003- Informar condições do tempo
ao piloto
CDU004- Receber informações de
posicionamento e v elocidade das aeronav es a
partir de radares
CDU005- Informar posicionamento e
v elocidade aos pilotos
CDU006- Receber plano de v oo dos
pilotos
CDU007- Permitir a aprov ação de planos
de v oo
CDU008- Garantir segurança no pouso
Rodrigo Paes - [email protected] © LES/PUC-Rio
Engenharia do Sistema: Casos de Uso
uc Primary Use Cases
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version EA 6.5 Unregistered Trial Version
System Boundary
Monitorador
CDU009- Informar proativ amente a mudança de controlador aos pilotos
(hand ov er) CDU010- Monitorar ações dos pilotos
CDU011- Informar pilotos das ações a
serem tomadas
CDU012- Permitir a comunicação entre
controladoes e pilotos de forma não ambígua
CDU013- Garantir segurança na
decolagem
CDU014- Garantir segurança durante o
v ooCDU015- Exibir interface
gráfica com a posição dos av iões, v elocidade e as
interseções do mapa
Rodrigo Paes - [email protected] © LES/PUC-Rio
Arquitetura
TCAS CKPT ADMG MSAW
SYSCO CPDLC MODE S NWI
M-LAW
CTRL
Service Layer
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
Mode S- Mode S
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 Ameaça
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
Rodrigo Paes - [email protected] © LES/PUC-Rio
Análise da Fidedignidade
Caso de Lei
Caso de Uso Ameaça
CDL009 CDU007 Controlador aprova plano de voo fora das especificações de segurança
CDL010 CDU008Controlador 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
CDL012 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
CDL013 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
CDL014 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.
CDL015 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.
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 Ação de Mitigação
CDL001Solicitar plano de açao ao TCAS e informar ao piloto
CDL002Solicitar 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
CDL006
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
CDL007
Solicitar ao NWI outra estação meteorologica que possa prover os dados
CDL008Alertar administradores do sistema através de email
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
Solicitar ao ADMG que alerte o controlador, informe onde está o erro e explique as consequências. Solicitar confirmação de ação
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
G002Identificar 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
G006Identificar tempo médio de resposta dos controladores as solicitações durante o voo
G007Identificar tempo médio de resposta dos controladores as solicitações para pouso
G008Identificar 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.
Comportamentoesperado
Identificação de erros/ameaças
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 ??