16. SQL natif
16.1. Utiliser une SQLQuery
O Mandala utilizou em sua estrutura tecnologias que, embora algumas não sejam novidades em soluções comerciais ou acadêmicas, o uso delas em conjunto ainda demonstra andar a passos curtos. Com isso, há certa dificuldade em encontrar na literatura trabalhos que adotem de forma conjunta os mesmos conceitos e paradigmas utilizados no Mandala.
A fim de verificar a utilização de ferramentas ou plataformas que busquem integrar sistemas com base em SoS, foi utilizada a String de pesquisa a seguir em três das mais co- nhecidas bases de dados digitais: ((system of systems) or (systems of systems) or (system- of-systems) or (systems-of-systems)) and ((interoperability) or (integration)).
Como os artigos relativos ao tema vinham sendo monitorados e por existir uma revisão sistemática datada de 2016 ((VARGAS; GOTTARDI; BRAGA, 2016), foi aplicado o filtro para trabalhos existentes entre os anos de 2015 e 2017. Além disso, também foi aplicado um filtro para que as palavras estivessem somente no título do trabalho, obtendo-se o seguinte resultado, em termo de quantidade de trabalhos retornados:
• Springer - 11
• IEEExplore - 12
• ACM Digital Library - 21
Analisando apenas o título e, em alguns casos, o resumo, onde surgia a dúvida sobre a real finalidade do trabalho, chegou-se à conclusão que nenhum desses trabalhos faz, de forma concreta, o que o Mandala pretende realizar.
Diante deste fato, uma das alternativas de apresentar os trabalhos relacionados é fatiar as funcionalidades que o Mandala desenvolve ou associar trabalhos que utilizem tecnologias semelhantes para o mesmo contexto.
Sendo assim, esta seção apresenta informações sobre trabalhos que também utilizam algum dos aspectos trabalhados no Mandala, embora poucos apresentem ideias com o
mesmo objetivo ou com as mesmas características.
5.1
Linha de atuação: Interoperabilidade e SoS
Embora a pesquisa não tenha retornado muitos trabalhos com ideia aproximada ao que o Mandala se propõe, há um trabalho datado de 2012 que é muito interessante e aborda dois pontos explorados no Mandala (interoperabilidade e SoS) é o Linked DataS- pace (CURRY, 2012). O Linked DataSpace possui dois módulos em sua composição: (i) o DataSpace, que serve para gerenciar os dados heterogêneos gerados pelas mais diversas fontes; e, (ii) O LinkedSpace, que tem como função o compartilhamento e o reuso dos dados. O Linked DataSpace busca atingir interoperabilidade com base na criação de um espaço de informação global, onde dados heterogêneos estão armazenados oriundos de vários sistemas e, com base em técnicas de Web Semântica, há uma estruturação desses dados e um compartilhamento na Web ocorre de acordo com a conveniência do cliente.
Em uma situação onde se quer coletar dados de vários setores para realizar um geren- ciamento de energia, por exemplo, os sistemas de cada setor informam seus dados brutos, que serão armazenados no DataSpace, e, com base em técnicas semânticas específicas, várias visões são formadas para que, de acordo com a demanda, estes dados sejam com- partilhados, pelo LinkedSpace, da forma mais adequada ao requisitante. É uma ferramenta que promete criar sistema de sistemas, porém, diferente do Mandala, o foco é em dados e não segue um fluxo de dados e nem foca em funcionalidades.
Um outro trabalho proposto, nesta linha de atuação, que é bem recente e é um dos poucos encontrados na literatura que possui características semelhantes ao Mandala, é o apresentado por (AFOUTNI et al., 2017). Este trabalho também sugere a interoperabilidade entre sistemas de informação usando como base os conceitos de SoiS. Tal qual o Mandala, a sua estrutura interna também indica a utilização de agentes de software para realizar a comunicação entre os sistemas constituintes e a plataforma de integração. Quanto à in- tegração semântica, o trabalho sinaliza a utilização da interoperabilidade federativa, cujo mapeamento entre diferentes informações provenientes dos diferentes sistemas é estabele- cida de forma dinâmica. O MEMORAe é uma ferramenta colaborativa responsável pelo gerenciamento dos dados e ontologias utilizada no trabalho acima referenciado.
A grande diferença, no entanto, do trabalho supracitado para o Mandala é que, embora tenham sido apresentados os conceitos de interoperabilidade e de SoIS e um protótipo realizando a comunicação entre os agentes, ele ainda é um projeto embrionário, bem
inicial, onde ainda não foi realizado nenhum teste prático de integração entre sistemas de informação. Desta forma, é impossível analisar se a ferramenta conseguirá realizar a integração entre sistemas de informação, assim como o Mandala já realiza. Também não é possível determinar se as características do SoIS, como a orientação a processos de negócios e a manutenção das independências operacional e gerencial dos sistemas constituintes, serão seguidas. O Mandala, por sua vez, mesmo que não realize ainda todas as atividades a qual se propõe de forma plena, já é um produto em funcionamento.
5.2
Linha de atuação: Modelagem de missões
Um SoS é determinado em função de sua(s) missão(ões) global(is), assim como os sistemas constituintes, que possuem missões individuais.
Da mesma forma que sistemas tradicionais utilizam a UML1, por exemplo, para mo-
delar as suas atividades, os SoS, embora sejam sistemas com características diferentes dos sistemas tradicionais, também utilizam linguagens para modelar os seus objetivos ou missões.
Por isso, nesta seção será citado o mKAOS(SILVA; BATISTA; OQUENDO, 2015), uma linguagem para definição de missões em SoS, que tem como base a KAOS, uma linguagem que permite a descrição completa de modelos de sistemas, não se limitando apenas a parte do software.
O mKAOS estende a linguagem KAOS e realiza o processo de descrição do SoS utili- zando duas abordagens, a top-down e a bottom-up. Na abordagem top-down, o projeto é guiado pelos comportamentos emergentes do SoS, ao ponto que na abordagem bottom-up, quem guiam o projeto são os sistemas constituintes.
O Mandala faz uso de um plugin que é acoplado à IDE Eclipse, chamado de BPMN Modeller, que realiza a modelagem da missão global do SoS, embora essa não seja a principal função da ferramenta. Também é possível definir as tarefas associadas a cada sistema constituinte. É fato que este plugin realiza a modelagem de forma bem mais tímida que o mKAOS, uma vez que várias visões do modelo podem ser vistas, além das abordagens já citadas.
Acontece que, por objetivar integrar sistemas com base em uma classe especial do SoS chamado SoIS, os SoS, além de modelados, precisam seguir um fluxo de atividades,
o que não é previsto na linguagem mKAOS. Após a modelagem da missão global do SoS, um fluxo orientando a sequência de execuções das tarefas da missão é automaticamente gerada.
5.3
Linha de atuação: Uso de agentes de
software no
contexto de SoS
O uso de agentes de software em qualquer contexto da Engenharia de Software pode ser um importante aliado, tanto no aspecto de interoperabilidade (uma vez que agentes permitem trabalhar em ambiente distribuído, com linguagem de comunicação própria, abstraindo a linguagem de programação associada ao sistema) quanto no de inteligência (fazendo uso de proatividade).
Conforme apresentado no início deste capítulo, a literatura acerca do tema "intero- perabilidade para SoS"é bastante escassa e encontrar trabalhos que executem o mesmo objetivo ou utilize das mesmas tecnologias é bem difícil.
No entanto, tal qual o Mandala, (HACHEM et al., 2016) utiliza em seu trabalho uma abordagem de sistema multiagentes no contexto de um SoS. o SoSSec (System of Systems Security) estende o JADE (conhecido framework para gerenciamento de agentes de soft- ware) para realizar análise de vulnerabilidades em SoS, procurando identificar possíveis aberturas para ataque em cascata.
O Mandala utiliza o JADE para realizar o gerenciamento dos agentes de software, assim como o trabalho supramencionado, no entanto, o foco da plataforma é totalmente diferente. O uso de agentes é realizado para prover a interoperabilidade entre os sistemas distribuídos.