3 ESTADO DA ARTE
3.3 Modelagem de falhas e especificação de requisitos
A modelagem de requisitos não funcionais é considerada uma etapa muito importante para o projeto de sistemas de tempo real mais confiáveis. Diferentes abordagens têm sido utilizadas para a modelagem destes requisitos, sendo que mais recentemente a modelagem orientada a aspectos caracteriza-se como uma das técnicas emergentes, amplamente usada para modelar diferentes problemas em aplicações industriais.
Pesquisas recentes mostram que a modelagem baseada nos conceitos de transversa- lidade inerentes à modelagem orientada a aspectos (AOM) pode adicionar robustez no projeto de sistemas de controle complexos, como os que compõem os sistemas ciber fí- sicos. Neste contexto, o trabalho apresentado por (ALI; BRIAND; HEMMATI, 2012) destaca que a AOM pode ser usada para modelar e agregar robustez em sistemas comple- xos combinando o uso de aspectos na forma de máquinas de estado. O trabalho apresenta a metodologia RUMM (Robustness Modeling Methodology) que usa aspectos para mo- delar o comportamento do sistema, apresentando e discutindo os benefícios, como por exemplo, a redução de tempo e esforços de modelagem de software para estes sistemas. Segundo os autores a modelagem de sistemas complexos requer uma descrição comporta- mental detalhada a fim de tornar a modelagem mais completa possível. O uso de máquinas de estado permite a especificação de modelos comportamentais do software, mas quando este software faz uso de informações de sensores que dependem do funcionamento pleno de um ambiente físico, a descrição passa a ter características transversais que afetam dife- rentes partes do sistema (desempenho, consumo de energia, falhas), assim a modelagem orientada a aspectos contribui para a formação de máquinas de estado mais complexas. Como resultado a metodologia é representada como uma extensão UML (UML profile) permitindo a modelagem de máquinas de estado com aspectos. Modelar e testar siste- mas industriais complexos com base em modelos de alto nível são benefícios que a AOM agrega nas fases de projeto de software.
Em (WASICEK; DERLER; LEE, 2014) é apresentada uma revisão sobre as formas e possibilidades de aplicação da AOM para descrever ataques em sistemas ciber físicos na área automotiva. É destacado que os conceitos da AOM podem ser usados para re- presentar conceitos de segurança (safety) que são integrados a modelos que caracterizam determinados ataques ao sistema, para assim prover maior confiabilidade em sistemas de controle automotivos. Os autores sugerem o uso da AOM de forma sistemática para for-
mar modelos comportamentais dos ataques, onde estes, são modelados de acordo com as características transversais que formam os aspectos relacionados aos ataques. Neste trabalho a modelagem baseada em atores é integrada com aspectos e aplicada usando a ferramenta Ptolemy II (PTOLEMAEUS, 2014), que usa modelos de computação (Models of Computation - MoCs) para representar a comunicação e permitir a interação dos atores que compõem o sistema ciber físico. No Ptolemy II os MoCs são constituídos por im- plementações especificas que caracterizam funcionalidades do sistema, as quais podem ser reusadas. Como estudo de caso foi conceitualmente modelado um sistema de controle adaptativo de velocidade de cruzeiro (adaptive cruise control) onde este é modelado es- pecificando quatro modelos de ataques que representam distúrbios (veículos a frente que reduzem a velocidade, por exemplo) que geram alteração na velocidade de um veículo durante um determinado trajeto. Nesta pesquisa é importante ressaltar que os autores enfatizam a importância da modelagem de ataques ou distúrbios no funcionamento do sistema de controle, cada vez mais cedo no projeto. Porém não abordadas soluções espe- cificas considerando os protocolos de comunicação veiculares, questões de desempenho e métodos de testes para a injeção de distúrbios, questões estas que são consideradas na presente tese.
A pesquisa apresentada em (NGUYEN; KLEIN; LE TRAON, 2014) destaca a utili- zação de metodologias para o desenvolvimento de sistemas seguros usando a modelagem dirigida a segurança (Model-Driven Security - MDS), como uma abordagem especiali- zada integrada à modelagem dirigida a modelos (Model-Driven Engineering - MDE). A MDS fornece meios para melhorar a produtividade e qualidade no processo de desen- volvimento de software, fazendo uso de modelos como o principal artefato. Os autores propõem uma MDS exploratória de acordo com um conjunto de padrões de segurança modelados usando orientação a aspectos, os quais servem de guia para os desenvolvedo- res nas etapas de especificação de requisitos. É destacado que estes padrões de segurança são independentes de domínio e comprovados ao longo do tempo por conhecimento e ex- periências práticas de desenvolvedores. Como resultado, é proposto um framework (de- nominado SoSPa) que permite a seleção destes padrões de segurança, especificados como modelos de aspectos reusáveis, que podem ser automaticamente incluídos na modelagem do sistema que esta sendo projetado. A contribuição do trabalho enfatiza a importância da segurança como elemento nativo no processo de desenvolvimento, aliado aos esfor- ços da representação e reuso de componentes baseados em modelos, os quais abstraem a complexidade inerente as diferentes implementações.
Outras pesquisas mostram os esforços em manter a confiabilidade tratando de falhas em sistemas de controle automotivos, principalmente no que tange os requisitos tempo- rais de aplicações críticas. Em (PIPER et al., 2015) é apresentada uma metodologia para monitorar e proteger tarefas de controle críticas em sistemas automotivos sob interferên- cias que causam falhas, com o objetivo de prover garantias temporais de execução. Nesta
metodologia também é discutida uma técnica de monitoramento de tarefas, que verifica os atrasos que podem prejudicar a execução das tarefas. O trabalho tem como base o padrão de segurança baseado na gestão de riscos, a ISO 26262 (ISO-26262, 2011). O objetivo é destacar e comparar características de monitoramento existentes em ferramentas usadas na área, como o AUTOSAR, que também permite a análise de tarefas, mas não considera o monitoramento de tarefas menos críticas, que em diversas situações pode propagar er- ros, os quais geram atrasos de comunicação e podem afetar as restrições temporais das tarefas mais críticas.
Outro trabalho recente que aborda a modelagem orientada a aspectos é apresentado por (AKKAYA et al., 2016) que mostra como o uso da orientação a aspectos em conjunto com o projeto baseado em modelos MBD (Model Based Design) caracteriza uma forma sistemática de especializar domínios de conhecimento com a separação de características transversais dentro de um modelo de sistema. Conceitos baseados em modelagem ori- entada a atores (usando também a ferramenta PtolemyII) são apresentados para ilustrar como gerenciar a complexidade dos sistemas. Porém a pesquisa não especifica áreas de aplicações e não faz estudos de casos pontuais da sua aplicabilidade. Especificamente sobre a modelagem de falhas os autores destacam que a orientação a aspectos em con- junto com a orientação a atores contribui para modelar o comportamento de falhas que possuem impacto transversal, afetando diferentes requisitos não funcionais como desem- penho e consumo de energia.
Assim como a MDE e a AOM, outras abordagens vem sendo estudadas com o obje- tivo de representar o processo de modelagem e análise de confiabilidade. Em (MO et al., 2017), os autores destacam a aplicação de modelos para verificar e analisar a confiabili- dade nas fases iniciais de projeto, antes dos testes e aplicações reais. É proposto um novo modelo estocástico representado por uma abordagem linear de tempo discreto, conside- rando transmissões de pacotes de dados entre controlador-atuador e sensor-controlador. Os comportamentos históricos de degradações da rede são modelados por cadeias de Mar- kov de multi-estados com incertezas, destacando que as falhas de todos os períodos são independentes umas das outras. Os autores focaram em sistemas de controle digitais em rede, considerando um estudo de caso de aplicação industrial e avaliação estatística base- ada no método Monte Carlo.
Em (LU et al., 2018) os autores apresentam uma abordagem para detecção de falhas, baseadas em um modelo prévio do sistema e extração de dados do modelo com base em redes neurais profundas (DNN) e memórias de longo prazo. Com esta abordagem os autores destacam que é possível representar uma distribuição complicada e intrínseca de dados, que é adequada para manipular os dados de falhas precoces mascaradas por ruídos pesados, tendo ainda o uso da memória de longo prazo para auxiliar na descoberta de dependências entre dados temporais do sistema de controle. O modelo é avaliado e comparado com outros modelos de DNN, com base em um data set de falhas registradas
de um sistema de rolamentos de um equipamento industrial, mostrando contribuições em relação aos outros trabalhos.
Neste contexto, abordagens que corroboram com as pesquisas anteriormente citadas são aquelas que focam na engenharia de requisitos. Degradações causadas por falhas po- dem ser especificadas também como requisitos não funcionais, em diversas aplicações industriais. Pesquisas recentes destacam técnicas de modelagem e especificação de requi- sitos em sistemas automotivos, direcionando a necessidade cada vez maior de considerar testes e efeitos de degradação para verificar a conformidade destes sistemas críticos. A pesquisa de (ANICULAESEI et al., 2018) apresenta um estudo de caso de aplicação de um modelo de geração automatizada de requisitos baseados em casos de teste, direci- onados a um protótipo de sistema de controle automotivo para velocidade de cruzeiro. Os autores aplicaram uma linguagem natural para eliminar as imprecisões na formulação dos requisitos do sistema, utilizando critérios e armadilhas (pontos de discussão ou rea- valiação) para definir o quanto o requisito satisfaz aos testes do sistema. Os resultados definem um modelo abstrato do sistema em estudo, formalizando e reduzindo o tempo da especificação dos requisitos, por meio de uma ferramenta automatizada desenvolvida durante a pequisa. Os autores ainda destacam que a forma com que os requisitos foram definidos no inicio do projeto são fundamentais para a compreensão dos objetivos que o sistema de atingir. Verificar se os requisitos e as funções agregadas podem aumentar a confiabilidade depende de novas avaliações e análises, para isso, em (ADEDJOUMA; YAKYMETS, 2019) os autores apresentam um framework chamado “Sophia”, composto por um conjunto de ferramentas baseadas em modelos de referência, que avaliam os re- quisitos de dependabilidade de sistemas ciber físicos. Entre tais ferramentas destacam-se o uso de modelos UML e SysML como entradas do framework e também análises basea- das em causa e efeito, como o FMEA (Failures Modes and Effects Analysis - FMEA). O frameworkpermite executar análises de segurança e confiabilidade, avaliação de riscos e gerenciamento de requisitos de segurança usando técnicas semi-formais e formais.
Dando ênfase a ferramentas, modelagem e especificação de requisitos em sistemas embarcados, em (STARON, 2019) são apresentadas as principais técnicas e padrões da engenharia de requisitos que são aplicadas para o desenvolvimento de sistemas embar- cados no contexto automotivo. Os autores apresentam uma visão geral das principais abordagens para tratamento de requisitos nessa área, são elas:
• o modelo V, recomendado pela norma ISO 26262, descrevendo as principais ca- racterísticas dos sistemas usados na área automotiva, principalmente focados em questões de segurança e confiabilidade;
• especificação textual de requisitos, usando tabelas, templates, checklists de verifica- ção, frameworks, com destaque ao AUTOSAR (AUTOSAR, 2019), uma arquitetura de referência para o desenvolvimento de software na área automotiva;
• especificação de diagramas de casos de uso, que descrevem a interação entre os principais atores do sistema automotivo, destacando o uso da modelagem UML para estas representações formais. O principal motivo da adoção destes modelos de alto nível deve-se a facilidade de representação e discussão entre diferentes projetistas, com relação as principais propriedades do sistema;
• especificação de requisitos baseados em modelos, usando modelos formais e ma- temáticos, baseado em UML ou Simulink, com representações da dinâmica destes sistemas (ex: ABS, Suspensão Ativa, Controle de Tração). Amplamente adotado por engenheiros na indústria por apresentar representações evoluídas, que já pas- saram por grande estudo e esforço de projeto, sendo usados como referência para algoritmos de controle.
• requisitos como modelos, especificamente com a adoção perfis evoluídos e adapta- dos da UML, como por exemplo SysML (modelagem de aplicações em engenharia de sistemas), para a descrição formal dos requisitos e sua interação com as diferen- tes partes da aplicação fim.
3.3.1 Problemas e oportunidades de pesquisa encontradas
Os trabalhos estudados destacam o uso da modelagem orientada a aspectos como importante expertise para metodologias de desenvolvimento de sistemas mais seguros, considerando também a possibilidade e tendência de uso desta modelagem nas fases de especificação de requisitos de projeto. Em (ALI; BRIAND; HEMMATI, 2012), (WASI- CEK; DERLER; LEE, 2014) e (NGUYEN; KLEIN; LE TRAON, 2014), os autores apre- sentam técnicas que usam a AOM como uma abordagem que permite o desenvolvimento de sistemas mais seguros, unindo estas aos conceitos de MDE, permitindo produtividade por meio do reuso de componentes. Os trabalhos destacam a robustez agregada, a se- gurança da informação, o reuso de padrões, porém algumas propostas são centradas em nível arquitetural, não sendo especificada para a modelagem de aspectos relacionados ao meio físico de comunicação ou inerente ao processo de comunicação específico de um sistema de controle. A proposta de (WASICEK; DERLER; LEE, 2014) realiza estudo de caso na área automotiva e modela ataques maliciosos ao sistema de controle por meio de interferências externas, não considerando uma falha física no sistema ou a possível fonte de falhas que afetam o protocolo de comunicação, o qual degrada de também o desempe- nho, deixando assim lacunas para a modelagem de falhas seguindo este mesmo modelo e também usando a orientação a aspectos na especificação de requisitos.
Na pesquisa de (PIPER et al., 2015) os autores destacam a importância do tratamento e dos problemas gerados pela violação de requisitos temporais em protocolos usados em redes veiculares, mas não consideram a modelagem destas violações como falhas nas fa- ses de projeto dos sistemas de controle embarcados, tipicamente abordando uma forma
de mitigar o impacto das falhas perante o monitoramento de ocorrências eventuais. Já em (AKKAYA et al., 2016) os direcionamentos dados pelos autores indicam como a com- binação de técnicas de modelagem baseadas em modelos e orientação a aspectos podem contribuir para a modelagem de falhas, devido aos seus efeitos transversais no desempe- nho dos protocolos de comunicação.
Falhas e degradações em sistemas de controle de rede são destacadas em (MO et al., 2017), onde os apresentam um modelo para análise de confiabilidade, considerando apli- cações de controle industrial, mas sem destacar pontos específicos do tipo de comunicação utilizada. Um importante ponto a destacar em (MO et al., 2017) é a ênfase na possibili- dade e no desafio de modelar falhas ou anomalias em fases iniciais do projeto, no qual os autores destacam ser um dos importantes desafios de futuras pesquisas. Em (LU et al., 2018) os autores destacam que é crucial a análise e detecção de falhas o mais cedo possível para reduzir o tempo de inatividade e manutenção em aplicações industriais, destacando os desafio de se obter informações das falhas, por exemplo, como extrair informações de incipientes sinais de falhas, detectar possíveis anomalias com base na correlação de dados sequenciais e gerar possíveis análises e notificações.
Além da ênfase em diagnostico das degradações, outras pesquisas abordam as possi- bilidades de utilizar modelos de referência para especificar e avaliar requisitos relaciona- dos a confiabilidade dos sistemas. Em (ANICULAESEI et al., 2018), (ADEDJOUMA; YAKYMETS, 2019) e (STARON, 2019) são tratadas técnicas para modelagem e verifica- ção de requisitos de dependabilidade, com frameworks que apoiam a avaliação e análise de confiabilidade, porém as pesquisas são generalistas, onde os próprios autores destacam a necessidade de adaptação a cenários específicos, deixando lacunas na especificação de requisitos relacionados a falhas físicas que afetam sistemas de controle distribuídos.
Apesar dos esforços realizados nessas pesquisas, foi identificado que há a carência de métodos de modelagem e diagnóstico de falhas que afetam o desempenho de sistemas de controle distribuídos, não especificando metodologias de teste e análise focadas nos protocolos de comunicação veiculares. Apesar de alguns trabalhos considerarem dados reais e outros usarem representações formais de sistemas de controle, há a carência de trabalhos com estudos de casos práticos com dados de injeção de falhas reais ou com análise de dados históricos de anomalias no processo de controle. Sendo assim, estes caracterizam os principais pontos e lacunas que podem ser exploradas para agregar maior robustez e confiabilidade aos sistemas de controle no contexto das redes intra-veiculares. 3.3.2 Problemas encontrados e oportunidades em relação ao framework RT-FRIDA
Após um estudo aprofundado do framework RT-FRIDA e de trabalhos relacionados, foi identificado que o framework não trata de uma forma específica requisitos relacionados a falhas que afetam a comunicação de sistemas embarcados de tempo real, os quais podem caracterizar um novo nível para a classificação proposta por (FREITAS, 2007). Diferentes
tipos de falhas podem afetar as restrições temporais de tarefas críticas com efeito trans- versal, podendo afetar vários requisitos ao mesmo tempo, como tempo (afetando deadline e jitter), desempenho (aumentando o tráfego na rede e o tempo de resposta) e distribuição (impossibilitando a alocação de tarefas nos tempos definidos). Assim, falhas que afetam protocolos de comunicação usados em redes veiculares podem ser especificadas como re- quisitos não funcionais e modeladas de acordo com os conceitos de orientação a aspectos. Desta forma, a extensão do framework RT-FRIDA para prover suporte a modelagem de falhas de comunicação em sistemas de tempo real caracteriza também uma contribuição da presente pesquisa.