24
Dependable Technologies for Critical Systems Copyright Critical Software S.A. 1998-2005 All Rights Reserved. Software para Sistemas Críticos Nuno Silva , Engineering Manager Encontro Nacional Colégio Informática da Ordem dos Engenheiros, 16-09-2005

Software para Sistemas Críticos...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

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

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]