software para sistemas críticos...os custos inerentes às falhas de sistemas críticos são tão...
TRANSCRIPT
Dependable Technologies for Critical SystemsCopyright Critical Software S.A. 1998-2005 All Rights Reserved.
Software para Sistemas CríticosNuno Silva , Engineering ManagerEncontro Nacional Colégio Informática da Ordem dos Engenheiros, 16-09-2005
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 2
Sumário
Critical Software SA
Software para Sistemas Críticos
Perguntas & Respostas
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 3
Fundada em 1998 como spin-off.Início de actividade no nicho de mercado de confiabilidade de software, crescimento pela diversificação.Excelência em Engenharia de Software: qualidade, confiabilidade, inovação.Focus em soluções “mission and business crítical”
missão“Fornecer soluções, sistemas e tecnologias fiáveis e inovadoraspara sistemas de informação críticos das empresas.”
Critical Software SA
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 4
A Critical Software num slide
Areas of expertise
Solutions
Markets
Serviços de Engenharia de Software &
Consultoria
Tecnologias & Produtos
o Enterprise Applications Integrationo Embedded Systems & Dependabilityo Command & Controlo Redes e Comunicações
Qualidade de Software
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 5
Software para Sistemas Críticos
CaracterísticasSistemas Críticos & ConfiabilidadeDesenvolvimento de Sistemas CríticosVerificação e Validação de Sistemas Críticos
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 6
Software para Sistemas Críticos
Home Page da “IST Results”, European Commission R&D, Março 2005
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 7
Software para Sistemas Críticos na CSW
Digisisc o n s u l t o r e s
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 8
Características I
Têm requisitos rigorososRequisitos temporais agressivosRequisitos funcionais estritos
Normalmente são embebidosDifícil acesso aos dados (monitorização)Poucos e limitados recursos
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 9
Características II
DeterminismoTemporalFuncional
Faz exactamente o que é suposto fazer e na altura que deve fazer
PrevisibilidadePrever com exactidão os tempos de execução Prever com exactidão os comportamentos que apresenta
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 10
Sistemas Críticos
Safety-critical systemsFalhas resultam em perca de vida, ferimentos ou danos ambientais;Sistema de proteção de centrais núcleares/químicas;
Mission-critical systemsFalhas resultam no incumprimento de objectivos da actividade;Sistema de navegação de satélites/naves espaciais;
Business-critical systemsFalhas resultam em elevadas percas económicas;Sistemas transacionais & pagamentos (banca);
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 11
Confiabilidade dos Sistemas
Nos sistemas críticos, a confiabilidade dos mesmos é normalmente a propriedade mais importanteA confiabilidade do sistema reflete o grau de confiança desse sistema. Reflete a confiança do utilizador de que o sistema operará como esperado e que ' não falhará ' em situações normais. Atenção: Não é porque se confia no sistema que este é útil
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 12
Importância da Confiabilidade
Sistemas que não são confiáveis ou inseguros são rejeitados.Os custos de uma falha do sistema podem ser extremamente elevados.Sistemas não confiáveis podem causar percas de informação com consequências graves a nível de custos de recuperação.
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 13
Métodos de desenvolvimento
Os custos inerentes às falhas de sistemas críticos são tão elevados que os métodos de denvolvimento desses sistemas tornam-se também caros e não são rentáveis para outros tipos de sistemas.Exemplos de métodos
Métodos formais para desenvolvimento de softwareAnálise estáticaQuality assurance independente
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 14
Custo versus Confiabilidade
Low Medium High Veryhigh
Ultra-high
Dependability
Cost
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 15
Pontos chave I
Um sistema crítico é um sistema onde uma falha pode levar elevadas percas economicas, danos físicos ou perigo de vida. A Dependability do sistema reflete a confiança do utilizador no sistemaA Availability de um sistema é a probabilidade de que este estará disponível para fornecer serviços quando pedidoA Reliability de um sistema é a probabilidade de que o sistema estará operacional (sem avarias) por um dado período de tempoReliability e Availability são necessários mas não suficientes para a Safety e Security de um sistema
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 16
Pontos chave II
Reliability está relacionada com a probabilidade de uma falha ocorrer durante a utilização nominal do sistema. Um sistema com falhas conhecidas pode ser confiávelSafety é um atributo do sistema que reflecte a capacidade do sistema em operar sem ameaçasSecurity é um atributo do sistema que reflecte a capacidade do mesmo em se proteger de ameaças externas (falhas malévolas)
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 17
Desenvolvimento I
Para dar resposta a pedidos com requisitos de timing Sistemas têm de permitir rápida mudança entre os handlers de estimulos.Como recebem diferentes tipos de pedidos Normalmente um só ciclo sequencial de tratamento não é suficienteSistemas com conjuntos de processos que intercomunicam entre si e com um sistema operativo de tempo real que controla estes processosOs processos executam-se em paralelo nos sistemas de tempo real
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 18
Desenvolvimento II
Sistemas que podem necessitar simulações extensivas de maneira a provar o cumprimento dos requisitos temporaisEstratégias de design com OO são ainda pouco frequentes por causa do overheadProgramação de “baixo nível” éimprescindivel por razões de desempenho
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 19
Desenvolvimento III
Sistemas que podem ser desenvolvidos em linguagens como Ada, C e C++. Podendo usufruir da programação de baixo nível (código eficiente)Falta no entanto algumas facilidades para desenvolvimento de sistemas de tempo real (criar e gerir processos concorrentes, sincronização e controlo, acesso a um relógio de tempo real, modificação de prioridades, etc)
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 20
Desenvolvimento IV
Sistemas operativos específicos (memória e recursos limitados), e.g. RTEMS
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 21
Desenvolvimento V
Componentes de sistemas operativos (de tempo real):
Relógio de tempo-realHandler de interrupçõesEscalonadorGestor de recursosDispatcher
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 22
Verificação e Validação de Sistemas Críticos
ISVV Independent SoftwareVerificação = “Do things right”Validação = “Do the right thing”
Técnicas de Verificação:Análise de Escalonabilidade,Revisão de requisitos e design de software,Inspecções/Análise de Código,Software Failure Modes, Effects and Criticality Analysis (SFMECA)Hardware Software Interaction Analysis (HSIA)Software Fault Tree Analysis (SFTA)
Técnicas de Validação:Ambientes de validação de SoftwareTestes de RobustezStress Testing e Injecção de FalhasModelização e simulação
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 23
Verificação e Validação de Sistemas Críticos
Xception: Líder em tecnologia de Injecção de FalhasTestes de robustez high-end para sistemas críticos Ambiente para automatização de testes de robustez:
Geração de casos de testeExecução automáticaRecolha e análise de Resultados
Utiliza a plataforma hardware/software real (não simulada)Simula falhas de hardware e software em várias plataformas.
© Copyright Critical Software S.A. 1998-2005 All Rights Reserved. 24
Perguntas & Respostas
?
Nuno Silva,Engineering Manager, Embedded & [email protected]