• Nenhum resultado encontrado

4 Um Estilo Arquitetural para Sistemas de Internet das Coisas

4.3.3. Suporte Ferramental

Com o objetivo de facilitar a utilização do estilo IoT através da linguagem SysADL, foi realizada a implementação do suporte a estilos arquiteturais na ferramenta SysADL Studio. Para isso, foram necessários ajustes no meta-modelo Ecore1 de SysADL, bem como em sua

gramática Xtext2 e no projeto gráfico do Sirius3. A Figura 45 mostra o ambiente da ferramenta

SysADL Studio.

Figura 45: Ambiente SysADL Studio

1 https://www.eclipse.org/modeling/emf/ 2 https://www.eclipse.org/Xtext/

Nesta Figura podemos observar:

(i) o projeto com o modelo SysADL (Figura 45a),

(ii) a definição dos elementos do estilo arquitetural em um BDD de estilo (Figura 45b), (iii) a paleta com os elementos que podem compor um estilo (Figura 45c), e

(iv) a aba Semantic, que permite adicionar propriedades aos elementos, por exemplo cardinalidade (Figura 45d).

A utilização de estilos arquiteturais na ferramenta SysADL Studio envolve uma sequência de atividades, conforme ilustra a Figura 46.

Figura 46: Sequência de atividades para utilização de estilos arquiteturais na ferramenta SysADL Studio

Após a definição dos elementos do estilo em um BDD de estilos, é possível referenciar estes elementos em uma arquitetura concreta. O primeiro passo é indicar, no Diagrama de Pacotes, que um determinado pacote utiliza o pacote que contém os elementos do estilo, através de um relacionamento “uses”, conforme ilustrado na Figura 47.

O próximo passo é referenciar os elementos do estilo. Primeiro, é necessário indicar o componente que segue o estilo, ou seja, aquele que, incluindo seus subcomponentes, deve obedecer a todas as restrições do estilo. A Figura 48 ilustra a associação do componente WristbandARCH, que representa a arquitetura como um todo, ao estilo IoT. Para realizar a associação com o estilo, o usuário deve clicar no componente desejado (Figura 48a), na aba Semantic clicar na opção “Applied Style” (Figura 48a), selecionar o(s) estilo(s) desejado(s) e adicioná-lo(s) (Figura 48b).

Figura 48: Referência ao estilo

A referência aos elementos do estilo pode ser realizada de duas maneiras, ficando a cargo do arquiteto qual utilizar. A primeira maneira é ilustrada na Figura 49. Ao clicar na opção “Apply Style to Element” da paleta e em seguida no elemento da arquitetura concreta (componente, porta, conector ou atividade), é exibido um assistente onde são listados todos os elementos definidos no pacote do estilo. Ao selecionar um dos elementos listados é realizada a referência.

A segunda maneira é através da representação textual de SysADL. Para isso, é necessário abrir o arquivo com extensão “.sysadl” e, ao declarar um elemento da arquitetura concreta, indicar o elemento do estilo que ele implementa. Por exemplo, para declarar um componente chamado AcceletometerCP e indicar que ele implementa o componente SensorCP o seguinte código seria utilizado: component def AccelerometerCP implements IoTStyle.SensorCP.

Figura 49: Referência aos elementos do estilo

No momento em que um pacote usa um determinado estilo, as restrições declaradas no pacote do estilo devem ser verificadas, a fim de garantir a utilização correta do estilo. Conforme ilustrado na Figura 50, para executar a verificação, o usuário deve clicar com o botão direito do mouse sobre o componente que segue o estilo e selecionar a opção “Verify Constraints”. No Console (Window->Show View->Other->General->Console) será exibido o resultado da verificação, de modo que, se uma determinada restrição for violada, o arquiteto será informado.

4.4

Considerações Finais

Este Capítulo descreveu os elementos que compõem o estilo IoT e demonstrou como concretizar o estilo na linguagem SysADL, especificando a visão estrutural e comportamental do estilo. Este Capítulo também demonstrou como instanciar o estilo IoT na ferramenta SysADL Studio.

O estilo IoT está em conformidade com o modelo conceitual definido na norma ISO/IEC 30141, uma vez que os elementos do estilo são refletidos nas entidades do modelo conceitual e as relações entre as entidades são respeitadas.

Além disso, o estilo IoT proposto atende a quatro dos seis requisitos para modelagem arquitetural de sistemas de IoT, identificados por SANTOS et al. (2019), conforme mostra a Tabela 11.

Tabela 11: Requisitos arquiteturais de IoT vs. Elementos do estilo IoT

Requisitos de Modelagem Arquitetural Elemento do Estilo IoT

Entidades de IoT Componentes SensorCP, ActuatorCP e DeviceCP

Serviços Componentes GatewayCP e portas ServiceOPT/ServiceIPT Ciência de Contexto Componentes SensorCP e DataStoreCP

Atributos de Qualidade Componentes GatewayCP (interoperabilidade e escalabilidade) e restrições C8, C9 e C10 (escalabilidade)

Ambiente de Implantação Não representado por estilos arquiteturais Adaptação Dinâmica Não representado por estilos arquiteturais

As Entidades de IoT são representadas por componentes dos tipos SensorCP, ActuadorCP e DeviceCP.

Serviços são implementados pelos componentes GatewayCP, que podem transmitir como serviços os dados obtidos a partir de por outros componentes, e pelas portas ServiceIPT e ServiceOPT.

A Ciência de Contexto é atendida pelo componente SensorCP, que captura informações de contexto a partir do ambiente, e pelo componente DataStoreCP que armazena os dados de contexto.

Dois Atributos de Qualidade são suportados pelo estilo IoT: interoperabilidade e escalabilidade. Componentes do tipo GatewayCP favorecem a interoperabilidade, uma vez que abstraem a heterogeneidade dos dispositivos, e a escalabilidade, uma vez que podem conectar dispositivos a uma rede de longa distância, suportando a adição e/ou remoção de nós de rede. As restrições C8, C9 e C10 também promovem a escalabilidade, pois evitam o uso de canais compartilhados que podem ficar congestionados em um cenário de grande escala, comumente encontrado na IoT.

Os requisitos de Ambiente de Implementação e Adaptação Dinâmica normalmente não são representados em estilos arquiteturais, pois são requisitos mais complexos e mais difíceis de se trabalhar sob uma perspectiva genérica, que é o propósito dos estilos arquiteturais. Além disso, quanto maior for o conjunto de elementos de um estilo arquitetural, mais limitado o arquiteto se sentirá com relação a tomadas de decisões e mais trabalhoso será a utilização do estilo, o que pode desencorajar seu uso.

O próximo Capítulo apresenta as provas de conceito do estilo IoT, que consistem no projeto arquitetural, em SysADL, de três sistemas de IoT do mundo real.