• Nenhum resultado encontrado

4.3 DESENVOLVIMENTO DA EXTENSÃO ISTAR4SAFETY

4.3.3 Sintaxe Concreta de iStar4Safety

A sintaxe concreta define elementos gráficos ou textuais usados para a criação dos elemen- tos do modelo através de editores de modelagem ou mesmo manualmente (BRAMBILLA; CABOT; WIMMER, 2012).

A definição da sintaxe concreta de iStar4Safety foi escolhida visando a simplicidade de modelagem, ou seja, construir extensões com a menor quantidade possível de novos cons- trutores e representações à fim de não prejudicar o uso da linguagem e propor represen- tações gráficas simples que possibilitem a modelagem sem ferramenta, quando necessário (GONÇALVES et al., 2018c). Ao mesmo tempo, proporcionar a modelagem satisfatória de requisitos iniciais de Sistemas Críticos de Segurança à fim de possibilitar que os conceitos do documento da Análise Preliminar de Segurança sejam modelados.

Portanto, optou-se por utilizar o mecanismo de extensão de peso-leve, usado tam- bém em extensões da linguagem UML. O estereótipo textual, que trata-se do nome do construtor entre os símbolos « », é a opção peso-leve mais utilizada para representar nós especializados, conforme pode ser visto no trabalho de Gonçalves et al. (2018a).

Para a criação dos construtores gráficos, foram utilizadas as mesmas representações dos nós pais, associadas à estereótipos com o nome do construtor especializado. Essa prática é também usada em UML para representar a especialização de nós (GONÇALVES et al., 2018a) representando assim um novo conceito através do nó especializado.

Outra diferença entre os construtores da linguagem nativa e da extensão iStar4Safety está na seleção das cores: os elementos de segurança são representados pela cor rosa e o elemento perigo pela cor vermelha.

Portanto, como resultado de todo o processo de definição de construtores gráficos, as seguintes representações foram escolhidas e sua representação gráfica pode ser vista na figura 23.

• Objetivo de Segurança: O elemento (A) da figura 23 representa uma especialização do elemento objetivo, conforme pode ser visualizado no metamodelo. Portanto, a representação do pai, ou seja, objetivo, é mantida com a adição de um estereótipo

«Objetivo de Segurança» («SafetyGoal»). A cor do construtor é rosa;

• Perigo: O elemento (B) da figura 23 representa uma especialização do elemento

objetivo, conforme pode ser visualizado no metamodelo. Portanto, a representação

do pai, ou seja, objetivo, é mantida com a adição de um estereótipo «Perigo» («Hazard»). A cor do construtor é vermelha;

• Tarefa de Segurança: O elemento (C) da figura 23 representa uma especialização do elemento tarefa, conforme pode ser visualizado no metamodelo. Portanto, a representação do pai, ou seja, tarefa, é mantida com a adição de um estereótipo

«Tarefa de segurança» («SafetyTask»). A cor do construtor é rosa;

• Recurso de Segurança: O elemento (D) da figura 23 representa uma especialização do elemento recurso, conforme pode ser visualizado no metamodelo. Portanto, a representação do pai, ou seja, recurso, é mantida com a adição de um estereótipo

«Recurso de Segurança» («SafetyResource»). A cor do construtor é rosa; e

• Link Obstrui: O elemento (E) da figura 23, representa o link obstrui (obstructs) que foi adicionado tendo em vista a necessidade de relacionar os construtores perigo e objetivo de segurança, permitindo assim a representação de perigo como um elemento não-intencional, em uma linguagem que é de natureza intencional.

Figura 23 – Construtores gráficos adicionados pela extensão iStar4Safety Fonte: (Autora, 2018).

Somado a isso, durante todo o processo de criação da sintaxe gráfica, foram realizadas buscas no catálogo de extensões de iStar, atividade proposta por Gonçalves et al. (2018b). Essa busca verificou se os princípios de claridade semiótica, proposto por Moody, Heymans e Matulevičius (2010) e baseado na teoria de símbolos de Goodman (1968), estavam sendo atendidos. O resultado foi satisfatório e esse subprocesso considerado concluído.

Por fim, apresenta-se nos próximos tópicos um maior detalhamento sobre cada cons- trutor criado para iStar4Safety:

4.3.3.1 Objetivo de Segurança

Objetivos de segurança representam objetivos críticos ao sistema sendo modelado. É de fundamental importância para a segurança do sistema que tais objetivos possam ser ana- lisados e tratados. Portanto, os atores desejam a satisfação do objetivo de segurança pois sua não-realização pode causar um acidente.

Um objetivo de segurança pode ser refinado em mais objetivos de segurança. Isso acontece caso seja necessário especializar o construtor, e pode ser feito através de refinamentos E ou OU. Para um exemplo dessa situação em relação à bomba de infusão, considere o objetivo de segurança: "Receber dosagem correta de insulina". É sabido que, uma dosagem errada pode ter dois contextos: não receber uma dosagem maior que o desejado, ou seja "Não sofrer overdose", e também não receber uma dosagem menor que o desejado, ou seja, "Não sofrer underdose". Logo, em iStar4Safety, esse refinamento é representado conforme modelado na figura 24.

Figura 24 – Exemplo de refinamento de objetivo de segurança em mais objetivos de se- gurança.

Fonte: (Autora, 2018).

4.3.3.2 Link Obstrui

O link obstrui é um relacionamento n-ário, podendo relacionar o pai à um ou mais filhos. O link obstrui indica que o perigo é um obstáculo à satisfação de um objetivo

de segurança. Essa relação não indica qual o nível de obstrução provocada pelo perigo.

A relação possível entre o link obstrui e os demais construtores é apresentada na tabela 6

Tabela 6 – Relação links x Construtos de iStar e iStar4Safety

Ponta da seta apontando para

Objetivo Qualidade Tarefa Recurso Perigo

Objetivo Refinamento Contribuição Refinamento n/a n/a

Qualidade Qualificação Contribuição Qualificação Qualificação Qualificação

Tarefa Refinamento Contribuição Refinamento n/a Refinamento

Recurso n/a Contribuição NeededBy n/a Refinamento

Links começando de

Perigo Obstrui Contribution n/a n/a Refinamento

4.3.3.3 Perigo

Perigos são obstáculos à realização de um objetivo de segurança. Logo, caso um

perigo obstrua um objetivo de segurança, cria-se uma situação de potencial acidente.

Um objetivo de segurança pode ser obstruído por um ou mais perigos. Diz-se que o perigo obstrui o objetivo de segurança, já que o perigo é um obstáculo à realização do objetivo de segurança. A figura 25 representa os perigos que obstruem o objetivo

de segurança "Não sofrer overdose". Assim, caso aconteça um "fluxo livre de insulina",

uma "configuração maior de insulina", "aplicações excessivas de bolus"ou "falha no sistema de entrega", o objetivo de segurança "Não sofrer overdose"pode ser obstruído, podendo causar o acidente relacionado à superdosagem de insulina.

Figura 25 – Exemplo de relacionamento entre objetivos de segurança e perigos. FFonte: (Autora, 2018).

O construtor perigo também é usado para representar as causas dos perigos e con-

dições ambientais. Conforme já mencionado, causas ambientais são um tipo de causa

de perigos. Causas de perigos são também perigos. Portanto os perigos-filho serão as causas do perigo-pai. No exemplo da figura 26, o objetivo de segurança "Não sofrer infecção"pode ser obstruído pelo perigo "Bomba exposta à substância nova". Esse pe-

rigo por sua vez tem como causas a "bomba compartilhada"ou "bomba não esterilizada

Figura 26 – Exemplo de perigo e refinamento de perigos em causas de perigo. Fonte: (Autora, 2018).

4.3.3.4 Tarefa de Segurança

O construtor tarefa de segurança é um dos construtores que podem formar uma estra- tégia de segurança. É usado para representar ações concretas que serão tomadas à fim de mitigar o perigo. Os perigos-folha serão tratados, visto que o tratamento aplicado aos filhos, consequentemente tratará o pai.

A figura 27 representa o refinamento OU de um perigo em tarefas de segurança. Nesse exemplo, o perigo-folha "Bomba sem proteção de descarga elétrica"pode ser tra- tado por ao menos uma das duas ações concretas, tarefas de segurança, apresentadas. Como a tarefa de segurança "Receber suporte especializado"é concretizada pelo ator "Fornecedor da bomba", deve existir uma relação de dependência entre os dois atores, que no caso é: o "paciente"depende do "fornecedor da bomba"para "Receber suporte espe- cializado". A outra tarefa de segurança, "Interromper uso da bomba"é realizado pelo próprio paciente, portanto não possui dependências com outros atores.

Figura 27 – Exemplo de refinamento de perigos em tarefas de segurança. Fonte: (Autora, 2018).

Já a figura 28 representa a possibilidade de um recurso de segurança ser necessário para a realização da tarefa de segurança. Observe que uma solução de mitigação para o perigo "Reservatório quebrado"será a tarefa de segurança "Trocar Reservatório"que precisa do ativo "Reservatório"disponível para ser concretizada.

Figura 28 – Exemplo de refinamento de perigos em tarefas de segurança e recursos de segurança

Fonte: (Autora, 2018).

Explica-se mais o construtor recurso de segurança na próxima seção.

4.3.3.5 Recurso de Segurança

O construtor recurso de segurança irá modelar algum ativo que tem a característica de ser crítico para a mitigação de perigo no Sistema Crítico de Segurança modelado. Como

já apresentado o construtor pode ser associado à uma tarefa de segurança.

É importante ressaltar que, devido a um ativo ser um objeto concreto, normalmente uma instância de algo, caso seja definido como seguro, o recurso será desse tipo em todo o modelo. Ou seja, uma vez declarado como recurso de segurança, o recurso será desse tipo em todo o modelo, exceto na posição de dependum, visto que a modelagem SD não é contemplada pela extensão.