142
Raquel Figueiredo Martins Conceção de Arquiteturas de Soluções da Cloud para a Indústria: Caso de Demonstração UH4SP outubro de 2018

Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: [email protected] Telefone: 938 121 397 Número

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

Raquel Figueiredo Martins

Conceção de Arquiteturas de Soluções da

Cloud para a Indústria: Caso de

Demonstração UH4SP

outubro de 2018

Page 2: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número
Page 3: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

Raquel Figueiredo Martins

Conceção de Arquiteturas de Soluções da

Cloud para a Indústria: Caso de

Demonstração UH4SP

Dissertação de Mestrado

Mestrado Integrado em Engenharia e Gestão de

Sistemas de Informação

Trabalho efetuado sob a orientação de:

Professor Doutor Ricardo J. Machado

outubro de 2018

Page 4: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

DECLARAÇÃO

Nome: Raquel Figueiredo Martins

Endereço eletrónico: [email protected]

Telefone: 938 121 397

Número do cartão de cidadão: 13952246

Título da dissertação de mestrado: Conceção de Arquiteturas de Soluções da

Cloud para a Indústria: Caso de Demonstração UH4SP

Orientador: Professor Doutor Ricardo J. Machado

Ano de conclusão: 2018

Designação do Mestrado: Mestrado Integrado em Engenharia e Gestão de

Sistemas de Informação

É AUTORIZADA A REPRODUÇÃO INTEGRAL DESTA TESE/ TRABALHO, APENAS PARA

EFEITOS DE INVESTIGAÇÃO, MEDIANTE DECLARAÇÃO ESCRITA DO INTERESSADO,

QUE A TAL SE COMPROMETE.

Universidade do Minho, ___ / ___ / _____

Assinatura:

_________________________________________________________

Page 5: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

iii

AGRADECIMENTOS

Esta dissertação seria mais difícil de concretizar sem o apoio de pessoas, que de certa

forma me marcaram neste percurso. Gostava de agradecer:

Aos meus pais e irmãos, que sempre me incutiram valores, apoiaram e proporcionaram

as melhores condições possíveis.

Ao Pedro Lourenço, pela persistência, carinho e apoio incondicional.

À minha família e amigos pela motivação e todo o apoio.

Ao meu orientador, Prof. Ricardo Machado, pela disponibilidade, pela motivação e por

me apoiar no desenvolvimento deste projeto.

Ao meu coordenador no CCG/ ZGDV – Centro de Computação Gráfica, Nuno Santos,

pela disponibilidade, pelo auxílio nas alturas de insegurança e pela aprendizagem ao longo do

trajeto.

Aos meus colegas CCGianos, principalmente, à Margarida Beir, Márcia Carvalho,

Mónica Melo, Jaime Pereira, Marco Pereira e Daniel Pimenta, pela prestabilidade,

companheirismo e boa disposição.

A todos vós, aos que me acompanharam nesta jornada, que contribuíram para o meu

enriquecimento pessoal e profissional, muito obrigada.

Page 6: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

iv

RESUMO

Nos últimos tempos tem vindo a assistir-se a um crescimento na adoção do

paradigma cloud computing pelas empresas no que toca à oferta de software, o que

obriga as empresas a executar refactoring às suas soluções. Variadas vezes verifica-se que

nesta tarefa especificidades da cloud não são consideradas na fase de conceção, mas

apenas em fases mais tardias, como implementação ou manutenção. De igual forma, o

paradigma cloud e iniciativas recentes que o utilizam, como Indústria 4.0, são

caracterizados por necessidades de integração de dados e sistemas, que também devem

ser endereçados na fase de conceção.

A utilização de arquiteturas lógicas de software pauta-se por estruturar o

comportamento funcional de soluções informáticas, mas onde o contexto cloud veio

alterar como estas devem ser concebidas, nomeadamente na inclusão de mecanismos de

disponibilidade, escalabilidade/ elasticidade, segurança, implementação, entre outros.

A presente dissertação propõe-se a realizar investigação no desenvolvimento de

uma arquitetura lógica suportada no modelo de referência Cloud Computing Reference

Architecture (CCRA) do National Institute of Standards and Technology (NIST), de modo a

garantir a conformidade de uma arquitetura mais específica num ambiente de cloud

computing, de um caso de demonstração real. Sendo a arquitetura cloud computing

baseada em arquiteturas orientadas a serviços, é endereçada a implementação da

notação Service-oriented Architecture Modeling Language (SoaML). Estas arquiteturas

têm ganho importância em domínios como a indústria, onde se tem assistido a um avanço

gigante a nível de implementação e complexidade tecnológica. Assim, o modelo de

referência Reference Architectural Model Industrie 4.0 (RAMI 4.0), será, igualmente,

abordado, tendo em consideração a pertinência deste.

Palavras-Chave: Arquitetura, Cloud Computing, Cloud Computing Reference

Architecture, Indústria 4.0, Reference Architectural Model Industrie 4.0.

Page 7: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

v

ABSTRACT

A significant increase in the adoption of the cloud computing paradigm by software

providing companies has been noted. This forces businesses to perform refactoring on their

solutions. It has also been found that, in this task, cloud specifics are not taken into

consideration in the early stages, but only in later stages, such as deployment or maintenance.

Likewise, the cloud paradigm and recent initiatives that utilize it, such as industry 4.0, are

marked by data and system integration needs, that must also be addressed in the design stage.

The use of logical software architectures is based on structuring the functional behaviour

of computer solutions, but where the cloud context has changed how they should be

conceived is, namely, in the inclusion of mechanisms of availability, scalability/ elasticity,

security, deployment, etc.

This dissertation proposes to carry out an investigation regarding the development of a

logical architecture that is supported by the model of Cloud Computing Reference

Architecture of National Institute of Standards and Technology (NIST). This will guarantee that

a more specific architecture conforms with a cloud computing environment, in a realistic

demonstration. Considering that the cloud computing architecture is based in an architecture

oriented towards services, the implementation of the Service-oriented Architecture Modeling

Language (SoaML) notation is addressed. These architectures have gained importance in areas

such as industry, where there has been an enormous advance in implementation and

technological complexity. Thus, the reference model Reference Architectural Model Industrie

4.0 (RAMI 4.0) will also be addressed, taking into account its pertinence.

KEYWORDS: Arquitetura, Cloud Computing, Cloud Computing Reference Architecture,

Indústria 4.0, Reference Architectural Model Industrie 4.0.

Page 8: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número
Page 9: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

vii

ÍNDICE

Agradecimentos ................................................................................................................. iii

Resumo .............................................................................................................................. iv

Abstract ............................................................................................................................... v

Índice................................................................................................................................. vii

Lista de Figuras .................................................................................................................. ix

Lista de Tabelas .................................................................................................................. xi

Lista de Abreviaturas, Siglas e Acrónimos ........................................................................ xiii

1. Introdução ................................................................................................................... 1

1.1 Enquadramento .................................................................................................... 1

1.2 Motivação ............................................................................................................. 4

1.3 Objetivos .............................................................................................................. 5

1.4 Abordagem Metodológica ................................................................................... 5

1.5 Estrutura do Documento ...................................................................................... 8

2. Arquiteturas Cloud na Indústria 4.0 ............................................................................ 9

2.1 Introdução ............................................................................................................ 9

2.2 Cloud Computing .................................................................................................. 9

2.3 Indústria 4.0 ....................................................................................................... 16

2.4 Arquiteturas de Software ................................................................................... 24

2.5 Conclusão ........................................................................................................... 29

3. Caso de Demonstração: Abordagem ao Problema ................................................... 31

3.1 Introdução .......................................................................................................... 31

3.2 Apresentação do Caso de Demonstração .......................................................... 32

3.3 Levantamento e Modelação dos Requisitos de Software.................................. 34

3.4 Derivação da Arquitetura Lógica ........................................................................ 40

3.5 Conclusão ........................................................................................................... 49

4. Caso de Demonstração: Aplicação de Modelos de Referência ................................. 51

4.1 Introdução .......................................................................................................... 51

Page 10: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

viii

4.2 Conformidade da Arquitetura para Contextos Cloud Computing...................... 52

4.3 Especificação dos Serviços ................................................................................. 64

4.4 Discussão da Aplicabilidade da Arquitetura de Serviços Cloud m

em Ambientes Industriais e no Contexto da Indústria 4.0 ................................................... 70

4.5 Conclusão ........................................................................................................... 78

5. Conclusões ................................................................................................................. 79

5.1 Síntese Final ........................................................................................................ 79

5.2 Trabalho Futuro .................................................................................................. 82

Bibliografia ........................................................................................................................ 84

Anexos I – Publicação Científica – Specifying Software Services for g

Fog Computing Architectures using Recursive Model Transformations ................................. 90

Anexo II – Publicação Científica – Decomposing monolithic to s

microservices architectures: a modeling approach ................................................................. 91

Anexo III – Diagramas de Casos de Uso ............................................................................ 92

Anexo IV – Método Four Step Rule Set ........................................................................... 107

Anexo V – Mapeamento entre os Componentes do Sistema ........................................ 117

Anexo VI – Arquitetura Cloud Computing ...................................................................... 122

Anexo VII – Diagramas de Sequência (Tipo B) ................................................................ 123

Page 11: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

ix

LISTA DE FIGURAS

Figura 1 - Metodologia Design Science Research ............................................................... 6

Figura 2 - Sistema de cloud computing ............................................................................ 11

Figura 3 - Arquitetura NIST do modelo Cloud Computing ................................................ 16

Figura 4 - Visão geral da indústria 4.0 .............................................................................. 21

Figura 5 - RAMI 4.0 ........................................................................................................... 22

Figura 6 - Processo de desenvolvimento do capítulo 3 .................................................... 32

Figura 7 - Visão geral do UH4SP ....................................................................................... 33

Figura 8 - Representação geral dos níveis ........................................................................ 35

Figura 9 - Caso de uso geral do projeto UH4SP (nível 0) .................................................. 37

Figura 10 - Caso de uso: {U1} Manage accounts (nível 1) ................................................ 38

Figura 11 - Refinamento do caso de uso {U1.1} Configure users account (nível 2) ......... 39

Figura 12 - Arquitetura lógica UH4SP ............................................................................... 45

Figura 13 - Diagrama de sequência do cenário de autenticação, m

em notação UML ...................................................................................................................... 47

Figura 14 - Diagrama de sequência do cenário de gestão de utilizadores, m

em notação UML ...................................................................................................................... 48

Figura 15 - Processo de desenvolvimento do capítulo 4 .................................................. 52

Figura 16 - Referencial NIST CCRA .................................................................................... 54

Figura 17 - Mapeamento dos componentes UH4SP num ambiente cloud computing ... 58

Figura 18 - Representação dos packages da arquitetura cloud computing ..................... 59

Figura 19 - Diagrama de sequência: Configuração de um serviço cloud,

em notação UML ...................................................................................................................... 63

Figura 20 - Refinamento dos componentes lógicos de serviços ...................................... 64

Figura 21 - Package {P5} "Integrator" (apenas com associações diretas) ........................ 65

Figura 22 - Caso de uso refinado resultante de [2] .......................................................... 66

Figura 23 - Participant" com portas, interfaces e capacidades s

(métodos e propriedades) ........................................................................................................ 68

Page 12: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

x

Figura 24 - "Service Architecture" .................................................................................... 69

Figura 25 - "Service Interface" .......................................................................................... 69

Figura 26 - Eixo “Layers” do referencial RAMI 4.0 e exemplificação m

num caso real (como o UH4SP) ................................................................................................ 71

Figura 27 - Diagrama de sequência do serviço colaborativo, em notação UML .............. 75

Figura 28 - Diagrama de sequência respetivo à entrada do camião em fábrica .............. 77

Page 13: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

xi

LISTA DE TABELAS

Tabela 1 - 1ª etapa do método 4SRS ................................................................................ 40

Tabela 2 - 2ª etapa do método 4SRS (a) ........................................................................... 41

Tabela 3 - 2ª etapa do método 4SRS (b) ........................................................................... 43

Tabela 4 - 3ª e 4ª etapa do método 4SRS ......................................................................... 44

Tabela 5 - Mapeamento entre os componentes do sistema ........................................... 55

Tabela 6 - Objetivos e resultados obtidos (capítulo 3) ..................................................... 79

Tabela 7 - Objetivos e resultados obtidos (capítulo 4) ..................................................... 80

Page 14: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número
Page 15: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

xiii

LISTA DE ABREVIATURAS, SIGLAS E ACRÓNIMOS

UH4SP Unified Hub for Smart Plants

UML Unified Modeling Language

4SRS 4-Step Rule Set

SOA Service-oriented Architecture

IoT Internet of Things

SoaML Service-oriented Architecture Modeling Language

ISO International Organization for Standardization

IEEE Institute of Electrical and Electronics Engineers

CPS Cyber-physical Systems

NIST National Institute of Standards and Technology

CCRA Cloud Computing Reference Architecture

TI Tecnologias de Informação

RAMI Reference Architectural Model Industrie

Page 16: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número
Page 17: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

1

1. INTRODUÇÃO

Este capítulo engloba uma contextualização ao tema desta dissertação, onde são

apresentados o enquadramento e a descrição do problema subjacente, seguindo com os

objetivos esperados, a abordagem metodológica e por último, a estrutura do presente

documento.

1.1 Enquadramento

Ao longo dos últimos anos, as tecnologias de informação têm vindo a desenvolver-se

de tal maneira que determinam o modo como as organizações evoluem e os processos de

negócio se desenvolvem.

O mercado está cada vez mais voltado para a eficiência tecnológica. A dimensão, a

diversidade e a complexidade dos sistemas de software requerem novas abordagens de

engenharia para a construção dos mesmos [1]. Uma dessas abordagens é o uso de

arquiteturas, que recomendam que a arquitetura e a infraestrutura de TI sejam alinhadas com

a organização e o controlo de processos de negócio. Estas arquiteturas são projetadas de

acordo com uma visão estratégica expressada numa arquitetura empresarial [2], de maneira

a definir e controlar as interfaces e a integração de todos os componentes do sistema [3].

Desta forma, é possível reutilizar sistematicamente conhecimento e componentes ao

desenvolver uma arquitetura de referência concreta [1].

O paradigma cloud computing surge da necessidade de utilizar os recursos para atingir

excelência operacional [3]. A inclusão de plataformas de cloud computing pretende

racionalizar os custos, investir e otimizar, procurando satisfazer de imediato as necessidades

computacionais de cada aplicação ou serviço. Este conceito disponibiliza um modelo de

serviços outsourced ao consumidor para que possa manipular informações pela internet, de

acordo com as suas necessidades atuais. Contudo, o outsourcing de tecnologias de informação

traz vários desafios. Assim, as incertezas sobre a migração para cloud computing podem ter

um impacto negativo na adoção desta tecnologia [4].

Page 18: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

2

A adoção desta tecnologia oferece vantagens competitivas para melhorar a agilidade,

o custo, a qualidade e a rapidez dos sistemas. Uma característica crítica de um sistema de

software nestes contextos é a interoperabilidade, que permite a interação entre os diferentes

sistemas [5].

A interoperabilidade e a normalização têm um enorme impacto na adoção e uso da

cloud. A normalização suporta aplicações de negócios desenvolvidas de forma complexa, de

maneira a ser interoperável e garantir a integração de dados e aplicações entre clouds. Os

utilizadores têm uma ampla gama de opções, não há bloqueio de fornecedores, portabilidade,

capacidade de usar os serviços de vários fornecedores e, de forma transparente, utilizar os

recursos de um centro de dados existente numa organização.

Também ajuda os fornecedores a disponibilizar serviços adicionais de nível superior

como a orquestração, além dos serviços normais da cloud necessários pelos utilizadores. A

normalização abre o caminho para a realização de verdadeiros potenciais de cloud computing

[6].

Com o advento das tecnologias emergentes que constituem os sistemas, como objetos

inteligentes e a Internet of Things, facilitaram o nascer da era dos serviços vivos e da

digitalização global, também denominada por Indústria 4.0 [5].

A Indústria 4.0 concebe a oportunidade, sem precedentes, para o sucesso

transformacional, exigindo um futuro de produção ágil e acessível alimentado por

facilitadores de tecnologia, que vão de encontro a paradigmas como a Internet of Things,

Cloud Computing, dispositivos móveis, entre outros. A visão inteligente da Indústria 4.0

alcança uma visão holística das operações de fabricação. Claramente, isso só pode acontecer

ao integrar dados de várias fontes diferentes com rapidez e flexibilidade, promovendo o

conceito cloud computing. [7].

Durante a fase de conceção muitos projetos têm dificuldades em conceber

arquiteturas devidamente preparadas para ambientes cloud, devido a falhas na identificação

de comportamentos de software aquando da sua instalação, a má definição de requisitos e a

utilização de tecnologias não adequadas que permitam o desenvolvimento e disponibilização

de serviços cloud. Outras falhas que possam surgir são a especificação de serviços consoante

as características, baixo potencial de crescimento face à complexidade do nível de maturação

Page 19: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

3

das soluções implementadas, entre outros. Deste modo, essas falhas são identificadas apenas

em fases mais avançadas de implementação no projeto essas falhas são identificadas, sendo

que os custos de redefinição arquiteturais e da reescrita de código são muito altos. Uma forma

utilizada para prevenir essas práticas refere-se à utilização de modelos de referência, aquando

a conceção de arquiteturas.

Assim, considera-se que a utilização de modelos de referência como o NIST Cloud

Computing Reference Architecture (NIST CCRA) – para a adoção da cloud – e como o Reference

Architectural Model Industrie 4.0 (RAMI 4.0) – para a implementação de soluções industriais

– são benéficos para a normalização do desenvolvimento e conceção arquitetural.

O tema desta dissertação surge assim no sentido de introduzir as boas práticas de

desenvolvimento de aplicações na cloud e na indústria 4.0, aquando a conceção de

arquiteturas. A presente dissertação será baseada num caso de demonstração, realizado num

contexto organizacional real no CCG/ ZGDV – Centro de Computação Gráfica, nomeadamente

na equipa do grupo IT Engineering Process Maturity and Quality (EPMQ). O projeto Unified

Hub for Smart Plants (UH4SP) visa desenvolver um sistema de soluções de pesagem industrial

e software para automatização dos processos operacionais de indústrias com estas

necessidades, que se diferencia nesta área.

A dissertação tem como principal objetivo desenvolver uma arquitetura lógica,

suportada pela execução do método Four Step Rule Set (4SRS) e posteriormente pelo modelo

de referência NIST Cloud Computing Reference Architecture (NIST CCRA), de modo a assegurar

a conformidade de uma arquitetura mais específica num ambiente de cloud computing, bem

como a especificação dos respetivos serviços, aplicados num contexto industrial. O modelo de

referência Reference Architectural Model Industrie 4.0 (RAMI 4.0), será, igualmente,

abordado, tendo em consideração a pertinência deste no âmbito em que se insere o caso de

demonstração.

A empresa líder do projeto UH4SP, a Cachapuz Bilanciai Group, direciona-se para a

indústria de materiais de construção, mais particularmente o setor do cimento. É líder e

pioneira em Portugal na conceção e fabrico de equipamentos de pesagem e uma referência

europeia no desenho e implementação de soluções avançadas de software para a otimização

Page 20: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

4

dos processos logísticos no setor da pesagem industrial1. As restantes entidades consorciadas

são constituídas pelo Centro de Computação Gráfica (CCG), Eurotux Informática S.A. e

Universidade do Minho.

É um projeto financiado pelo programa “Portugal 2020”, que prima pela promoção do

investimento das empresas que visa reforçar a investigação, o desenvolvimento tecnológico

e a inovação.

1.2 Motivação

Um modelo de referência desempenha um papel importante nos sistemas de uma

área de aplicação, que descreve a estrutura dos modelos no caso de uso, tornando-se no

ponto de partida para as ferramentas desenvolvidas a partir dele [8]. Utilizando um modelo

de referência é possível, numa primeira instância, compreender e analisar o conhecimento

até então disponível sobre a área, garantindo assim, que as melhores práticas ou abordagens

serão incorporadas no decorrer da presente dissertação, obtendo os melhores resultados

possíveis.

Partindo deste pressuposto, pretende-se demonstrar a utilidade de tal abordagem

num cenário real através da realização de um mapeamento dos resultados previamente

obtidos com aqueles que deveriam ser os esperados, de acordo com os modelos de referência,

de modo a validar e demonstrar que o trabalho efetuado se encontra de acordo com as

diretrizes definidas como fundamentais para este âmbito.

Será utilizado o NIST CCRA, como modelo de referência para arquiteturas cloud

computing, dada a escassez de casos de aplicação deste em cenários reais industriais. Esta

lacuna, acarreta um novo desafio de investigação, já que o modelo aparenta ser bastante

reconhecido entre membros da comunidade científica. Será, também, abordado o RAMI 4.0,

tendo em consideração o âmbito em que se insere o caso de demonstração.

1Retirado de: cachapuz.com/pt/

Page 21: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

5

Assim sendo, é com base neste contexto que se insere a presente dissertação que

pretende atender a este desafio atual, focando principalmente na abordagem baseada na

conceção de arquiteturas cloud computing num ambiente industrial.

1.3 Objetivos

Esta dissertação surgiu no sentido de introduzir as boas práticas de desenvolvimento

de aplicações para a cloud e para a indústria 4.0, aquando a conceção de arquiteturas,

utilizando um caso real.

O objetivo passa por propor abordagens baseadas na conceção de arquiteturas lógicas,

num ambiente cloud. O método Four Step Rule Set (4SRS) vai ser alvo de análise nesta

dissertação, dado que permite derivar arquiteturas baseadas em modelos de requisitos,

nomeadamente Unified Modeling Language (UML). Após a conclusão desta etapa, será

definida uma abordagem para conceber uma arquitetura lógica aplicando o modelo de

referência NIST CCRA, de maneira a avaliar a conformidade da mesma num ambiente de cloud

computing e a especificação dos respetivos serviços, utilizando a notação SoaML. Igualmente,

devido ao facto do modelo de referência RAMI 4.0 ser um modelo ainda relativamente

recente e, encontrar-se num estado de maturação baixo, o objetivo da sua aplicação nesta

dissertação passa por propor uma aplicabilidade das camadas e conceitos deste em software

ao nível lógico, mas com entrada muito substancial ao nível da aplicação tecnológica.

1.4 Abordagem Metodológica

O objetivo desta dissertação passa pela análise sobre a conceção de sistemas,

nomeadamente o desenvolvimento de um artefacto. Neste sentido, o artefacto será a

proposta de uma arquitetura lógica na ótica da validação de uma arquitetura cloud, num

ambiente industrial real. Como tal, para esta investigação é necessário seguir uma abordagem

metodológica, que, tendo em conta os objetivos propostos, será utilizado o método

apresentado pela Design Science Research (DSR).

É de salientar que tal escolha deve-se ao facto de ser uma metodologia concisa e clara,

não só por se adequar à área de sistemas de informação, mas também por ser uma abordagem

flexível, onde não é necessário começar pela primeira etapa, mas sim pela que o autor

Page 22: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

6

pretende e por último, pela possibilidade de retroceder aos passos anteriores. Esta

abordagem, apresentada na figura 1, é constituída por seis etapas que constituirão a

estratégia delineada a seguir neste projeto de investigação [9].

O primeiro momento, Identificação do Problema e Motivação, consiste na definição

do problema da investigação a conduzir e na justificação do valor da solução. Como a definição

do problema será utilizada para fornecer a solução, poderá ser útil segmentar o problema, de

modo a revelar a sua complexidade. A justificação do valor da solução auxilia na compreensão

do problema na perspetiva do autor e a clarificar dúvidas que possam existir [9]. No caso da

presente dissertação, a identificação proveio da necessidade da organização, que é

desenvolver uma plataforma baseada em vários domínios tecnológicos como o paradigma

cloud computing e a indústria 4.0. Assim sendo, surgiu a necessidade de se construir uma

arquitetura lógica cuja aplicabilidade nestes dois contextos fosse assegurada.

O problema é identificado com base nos conhecimentos do que é exequível, seguindo-

se para a segunda etapa, a Definição de Objetivos para uma Solução. Os objetivos podem ser

quantitativos ou qualitativos, sendo reconhecidos a partir da especificação do problema [9].

No âmbito desta dissertação reconhecem-se os objetivos qualitativos, dado que o intuito é

propor uma nova abordagem da arquitetura lógica, baseada em modelos de referência, num

ambiente industrial. No entanto, para a concretização da seguinte fase é necessário que o

autor fomente conceitos relacionados com a temática em estudo, através de uma revisão de

literatura.

Identificação do

Problema e

Motivação

Definição de

Objetivos para uma

Solução

Conceção e

Desenvolvimento

Demonstração Avaliação Comunicação

Iteração do processo

Figura 1 - Metodologia Design Science Research (adaptado [9])

Page 23: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

7

A próxima fase, Conceção e Desenvolvimento, abrange a criação do artefacto, que

tanto pode ser uma construção, um modelo, um método ou uma instanciação. Com base nos

conhecimentos adquiridos anteriormente, esta etapa constitui o propósito do artefacto, a sua

arquitetura e por último, a sua criação. Neste caso, como apoio inicial, as necessidades do

negócio serão traduzidas nos requisitos do mesmo e com base neste ponto será demonstrado

o método 4SRS que irá suportar a construção do artefacto, mais particularmente, a conceção

da arquitetura lógica [9]. Após a conclusão destas atividades irá resultar o principal objetivo,

a arquitetura cloud computing e a especificação dos respetivos serviços, aplicados num

contexto industrial. Para a conceção e desenvolvimento do artefacto, a modelação do mesmo

baseou-se na aplicabilidade de modelos de referência como o NIST CCRA de maneira a reforçar

e a assegurar a conformidade da arquitetura num contexto cloud, assim como a utilização da

notação SoaML, de maneira a especificar os serviços e, posteriormente, a incorporação de

técnicas do RAMI 4.0.

Na quarta etapa, Demonstração, o artefacto é utilizado para resolver uma ou mais

instâncias do problema, tanto a nível de simulações, casos de estudo, testes ou outras

atividades relacionadas. Neste ponto, é essencial compreender a utilização do artefacto, de

modo a solucionar o problema em questão [9]. Aqui, o artefacto obtido anteriormente será

reforçado com a aplicabilidade no contexto industrial e respondendo às necessidades

tecnológicas e do negócio onde se insere. Esta etapa é realizada utilizando um projeto de

investigação real, o projeto UH4SP.

Na fase da Avaliação é fulcral que o artefacto suporte a solução para o problema. Esta

atividade prende-se na comparação dos objetivos da solução com os resultados obtidos,

demonstrados na fase anterior. Dependendo da natureza do local do problema e do artefacto,

a avaliação pode assumir várias formas, tais como, a comparação do objetivo do artefacto

com os objetivos delineados na segunda etapa, resultados de pesquisas, simulações, entre

outros [9]. No final desta atividade, o autor decide se repete a terceira etapa, de modo a tentar

melhorar a eficácia do artefacto ou se prossegue para a fase seguinte. A natureza do local de

pesquisa determina se tal iteração é viável ou não. Neste caso, a arquitetura é validada tendo

em consideração dois fatores em simultâneo: os requisitos do sistema e as necessidades de

cloud computing. No entanto, para garantir ao leitor o comportamento esperado da

arquitetura serão elaborados diagramas de sequência.

Page 24: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

8

Por fim, a etapa Comunicação, representa a importância do artefacto, a sua utilidade,

o rigor da conceção e a sua eficácia para investigadores e outros públicos relevantes. É uma

fase que requer conhecimento da cultura disciplinar e que revela também a importância do

problema [9].

1.5 Estrutura do Documento

De maneira a clarificar os desafios endereçados neste projeto, o presente documento

foi estruturado em cinco capítulos, uma bibliografia e anexos, da seguinte maneira:

O presente capítulo, apresenta a contextualização do tema a ser estudado, incluindo

a sua motivação e o problema subjacente, os objetivos esperados, a abordagem

metodológica, assim como a estrutura do documento, de forma sintetizada.

Relativamente à Revisão de Literatura, apresentada no segundo capítulo, aborda

todos os conceitos necessários para a elaboração da mesma: Arquitetura, Cloud Computing,

Cloud Computing Reference Architecture, Indústria 4.0, Reference Architectural Model

Industrie 4.0, finalizando com uma opinião crítica sobre cada uma das áreas.

O Caso de Demonstração: Abordagem ao Problema, referente ao terceiro capítulo,

incide na sua apresentação e descreve passo a passo as fases a serem executadas para

desenvolver uma arquitetura lógica, bem como o seu resultado.

O capítulo seguinte, Caso de demonstração: Aplicação de Modelos de Referência,

inclui a explicação da aplicação de cada modelo de referência no caso de demonstração.

O último capítulo reúne as conclusões do trabalho elaborado com as respetivas

discussões, apresentando-se também perspetivas de trabalho futuro.

Surge também a bibliografia, que contém todas as referências bibliográficas

consultadas no decorrer da dissertação.

Para terminar apresentam-se os anexos, que não deixam de ser relevantes para

reforçar o conteúdo e para a compreensão do presente relatório.

Page 25: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

9

2. ARQUITETURAS CLOUD NA INDÚSTRIA 4.0

Neste capítulo, serão abordados todos os conceitos e áreas envolventes que permitam

o desenvolvimento desta dissertação.

2.1 Introdução

Assumindo um destaque cada vez maior no seio da comunidade académica e

científica, a compreensão e clarificação dos conceitos cloud computing, indústria 4.0 e

arquiteturas revela-se um desafio para quem sobre eles se debruça, levando ao surgimento

de várias definições, que apesar de distintas se complementam entre si.

Assim, neste capítulo serão apresentadas várias perspetivas encontradas no decorrer

da literatura que permitirão fomentar os conceitos necessários, recorrendo a fontes

fidedignas como o Scopus, IEEE Electronic Library, Science Direct, Web of Science, Google

Scholar, e RepositoriUM.

Após um breve enquadramento segue-se a segunda secção que apresenta as

definições ligadas ao conceito cloud computing, apresentando-se as características, os

modelos de serviços e de implementação, finalizando-se com o referencial NIST. Prossegue-

se com a terceira secção que aborda o conceito da indústria 4.0, a sua origem, as áreas

relacionadas com o paradigma e termina com a explicação do referencial RAMI 4.0. A secção

seguinte foca-se nos conceitos e nas abordagens relacionadas ao ponto fulcral desta

dissertação, a arquitetura. Para findar, a última secção foca-se na comparação dos conceitos

estudados para os objetivos delineados no presente projeto.

2.2 Cloud Computing

Apesar da grande diversidade de definições ligadas ao conceito de cloud computing

ainda não existe nenhuma definição concreta que permita caracterizar de forma coesa este

paradigma. Esta grande diversidade de conceitos deve-se ao facto de não ser uma tecnologia

nova mas sim um modelo de operações que agrupa tecnologias já existentes, de forma a

executar diferentes negócios [10].

Page 26: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

10

2.2.1 Conceito

Os estudos em torno do conceito cloud computing começam a surgir na década de 60,

sendo nessa altura considerado uma forma de computação organizada como uma utilidade

pública. O termo cloud foi utilizado em vários contextos na década de 1990. No entanto, foi

em 2006 que o termo realmente começou a ganhar popularidade, após Eric Schmidt ter usado

a palavra para descrever o modelo comercial de fornecer serviços na Internet [11][12].

Com o aparecimento da internet para as instalações da computação ubíqua, a internet

mudou o mundo da computação de forma drástica. Como tal, existem fatores primordiais que

contribuem para o aumento e interesse na adoção de cloud computing, como a diminuição

rápida do custo do hardware e pelo aumento do poder de computação e da capacidade de

armazenamento, bem como o aparecimento da arquitetura multi-core2 e de

supercomputadores modernos [13][14].

O objetivo deste modelo de computação é fazer um melhor uso dos recursos

distribuídos e agrupá-los para alcançar um maior rendimento e ser capaz de resolver

problemas de computação de grande escala.

Os serviços deste paradigma têm sido designados de software como serviço (SaaS),

então utiliza-se esse termo. O hardware e software da central de dados é o que se chamará

de cloud [15][16][17].

Outra perspetiva do termo defende que a cloud é um tipo de sistema paralelo e

distribuído que consiste num conjunto de computadores ligados e virtualizados que são

aprovisionados dinamicamente e apresentam-se como um ou mais recursos de computação

unificada. Este serviço baseia-se em contratos de nível de serviço estabelecidos através de um

acordo com o fornecedor de serviços e consumidores [10]. Pode constatar-se que esta

afirmação defende que a cloud engloba um vasto conjunto de recursos que hoje em dia, é

possível ter uma cloud “artesanal”, mesmo que seja de pequenas dimensões, não

necessitando de contratos de nível de serviço.

2 Multi-core é uma técnica de implementação de microprocessadores, principalmente para computação de alto desempenho[55].

Page 27: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

11

Existem várias definições ligadas ao fenómeno cloud computing mas a maioria dos

artigos científicos referente ao tema utiliza a definição descrita pelo NIST que a defende como

um modelo que permite o acesso a uma rede inteligente a um conjunto de recursos

computacionais reconfiguráveis como redes de comunicações, servidores, armazenamento,

aplicações e serviços que podem ser rapidamente equipados e atualizados com um esforço

mínimo de gestão ou de interação com o fornecedor de serviços [18]. Perante esta afirmação

pode concluir-se que a temática em estudo é um grande conjunto de recursos facilmente

utilizáveis e acessíveis, como por exemplo, o hardware, plataformas de desenvolvimento e

serviços, entre outros.

A figura 2 apresenta uma visão geral que constitui este paradigma.

2.2.2 Características

Com base no modelo da figura 2, este conceito é constituído por características

essenciais que permitem ao consumidor fornecer recursos computacionais – como

armazenamento em rede, utilização de software, entre outros –, de forma automática, sem

necessidade de recorrer a cada fornecedor de serviços – On-demand self-service –, através de

Essential Characteristics

Resource pooling

On-demand self-service

Broad network access

Rapid elasticity

Measured service

Service Models

Software as a Service (SaaS)

Platform as a Service (PaaS)

Infrasrtucture as a Service (IaaS)

Deployment models

Public cloudPublic cloud Private cloudPrivate cloud Hybrid cloudHybrid cloud Community cloudCommunity cloud

Figura 2 - Sistema de cloud computing (adaptado de [18])

Page 28: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

12

plataformas heterogéneas, como por exemplo a internet –Broad network access. Os recursos

computacionais do fornecedor são reunidos para responder a diversos consumidores, usando

um modelo multi-tenant, com vários recursos físicos e virtuais conforme o pedido do

consumidor. A motivação para configurar esse paradigma computacional baseado no

agrupamento reside em dois fatores importantes, a economia de escala e a especialização. O

resultado deste modelo é que os recursos da computação física se tornam “invisíveis” para os

consumidores que, normalmente, não têm controlo ou conhecimento sobre a localização,

formação e originalidade desses recursos – Resource pooling. Para o consumidor as

capacidades disponibilizadas para aprovisionamento podem ser ilimitadas e adequadas a

qualquer quantidade e a qualquer momento – Rapid elasticity. Os sistemas em cloud

controlam e otimizam, de forma automática, a utilização dos recursos utilizando mecanismos

adequados para medir, baseados em pay-per-use3 ou charge-per-use4, a um certo nível de

abstração que seja apropriado ao tipo de serviço, como por exemplo, armazenamento,

processamento, largura de banda e contas de utilizador ativas. Os recursos utilizados podem

ser monitorizados, controlados e reportados, fornecendo transparência para ambos,

fornecedor e consumidor do serviço utilizado – Measured service [18].

2.2.3 Modelos de Serviços

A infraestrutura da cloud assegura as características do modelo de cloud computing, e

é designada por duas camadas, a física e a de abstração. A camada física contém os recursos

de hardware necessários que suportam os serviços fornecidos na cloud, que costuma incluir

componentes do servidor, armazenamento e rede. A camada de abstração consiste no

software implementado na camada física, o que evidencia as características essenciais da

cloud [18].

Surgiram novos modelos de serviços resultantes do paradigma cloud computing, que

se descrevem de seguida [19][18][20].

3 Pay-per-use – Tipo de estrutura de pagamento em que um cliente tem acesso a recursos

potencialmente limitados, mas paga apenas pelo que realmente usa. 4 Charge-per-use – Tipo de estrutura que permite reutilizar a largura de banda e, portanto, definir outras

políticas que não sejam de taxa fixa.

Page 29: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

13

O software como um serviço (Software as a Service – SaaS) fornece ao consumidor

aplicações de software que são executadas numa infraestrutura da cloud. O acesso às

aplicações é feito através de vários tipos de dispositivos eletrónicos, com acesso à rede.

Exemplos de SaaS incluem Google Mail, Google Docs, SAP Business by Design, entre outros.

A plataforma como um serviço (Platform as a Service – PaaS) é uma plataforma de

desenvolvimento que suporta o ciclo de vida do software completo que permite ao

consumidor implementar as suas próprias aplicações na infraestrutura da cloud, utilizando

linguagens de programação, bibliotecas, serviços e ferramentas suportadas pelo fornecedor.

Um exemplo de PaaS é o Google App Engine, Windows Azure.

A infraestrutura como serviço (Infrastructure as a Service – IaaS) faculta ao consumidor

capacidade de processamento, armazenamento, redes, entre outros recursos de computação

fundamentais, onde o consumidor pode implementar e executar qualquer software que

incluem sistemas operativos. Um exemplo de IaaS é o EC2 da Amazon, Amazon S3, SQL Azure.

2.2.4 Modelos de Implementação

Há muitos problemas a serem considerados ao mover uma aplicação corporativa para

o ambiente da cloud. Podem existir fornecedores de serviços interessados em reduzir o custo

da operação enquanto outros podem preferir alta confiabilidade e segurança.

Consequentemente existem diferentes tipos de clouds [12] [18].

Designa-se de cloud privada (private cloud) quando a infraestrutura da cloud é utilizada

exclusivamente por uma organização. A propriedade, gestão e operação pode ser da

organização, um terceiro ou uma combinação entre ambos. Tanto pode ser implementado

dentro das instalações como fora.

A cloud de comunidade – community cloud – é usada quando a infraestrutura é

utilizada apenas por uma comunidade específica de consumidores de organizações com as

mesmas preocupações, tais como, políticas, requisitos de segurança, entre outros. A

propriedade, gestão e operação pode pertencer a uma ou mais organizações da comunidade,

um terceiro ou uma combinação entre eles, podendo ser implementado dentro ou fora das

instalações.

Page 30: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

14

Sabe-se que é uma cloud pública – public cloud – sempre que a infraestrutura da cloud

está disponível ao público em geral. A propriedade, gestão e operação pode ser de uma

organização comercial, académica, governamental ou uma combinação entre eles. É

implementado nas instalações do fornecedor da cloud.

Por fim, caracteriza-se de cloud híbrida – hybrid cloud – quando a infraestrutura da

cloud é composta por duas ou mais clouds distintas que permanecem entidades únicas, mas

são ligadas por tecnologias que permitem a portabilidade de dados e aplicações. Basicamente,

é a combinação de clouds privadas, clouds de comunidade ou clouds públicas.

Dado que existem muitos modelos de cloud computing, são necessárias normas para

modelos específicos e não apenas um conjunto. É necessário priorizar e concentrar-se no

conjunto básico de padrões para começar a expandir para outras áreas.

Quando as aplicações são migradas de uma cloud para outra, é importante garantir

que os requisitos não funcionais sejam satisfeitos também no novo ambiente migrado. Esse

processo requer padrões para definir e trocar informação de meta sobre a aplicação entre os

fornecedores de serviços da cloud para verificar a conformidade dos requisitos não funcionais

referentes à segurança, disponibilidade, confiabilidade, desempenho, escalabilidade, entre

outros, que exigem conformidade [6].

2.2.5 Arquitetura de Referência de Cloud Computing

Com o intuito de estender o conceito de cloud computing, o NIST criou o modelo de

referência CCRA, uma arquitetura de referência que se concentra no entendimento dos

requisitos, das características e tenta facilitar a compreensão da estrutura e das operações

complexas deste paradigma. Este modelo derivou da análise dos modelos de referência de

cloud computing existentes, propostos por organizações que trabalham na área da cloud,

fornecedores e agências federais. A sua utilização é consensual no âmbito desta área de

investigação e será utilizado neste estudo como base de compreensão do conceito cloud

computing.

Este modelo de referência não é direcionado a nenhum fornecedor específico de

produtos, serviços ou implementação de referência. É constituído por um conjunto de atores,

Page 31: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

15

atividades e funções que podem ser utilizados no processo de desenvolvimento de

arquiteturas de cloud computing.

Dada a relevância dos conceitos da arquitetura NIST, de seguida são descritos de forma

sucinta.

O Cloud Consumer é o principal stakeholder neste modelo. Descreve uma pessoa ou

organização que mantém uma relação comercial e utiliza serviços de cloud providers.

Enquanto o Cloud Provider representa uma pessoa, organização ou entidade responsável por

disponibilizar serviços para cloud consumers.

Os Cloud Providers executam diferentes tarefas para diferentes serviços (SaaS, PaaS,

IaaS). Estas atividades são discutidas em maior detalhe a partir das perspetivas de Service

Deployment, Service Orchestration, Cloud Service Management, Security e Privacy.

O Cloud Service Provider está associado ao fornecimento de serviços, à gestão da

alocação e controlo de recursos e às camadas de recursos físicos que compõem a cloud.

As Service Layers são descritas de forma a mostrar que é possível otimizar cada camada

de serviço até à Camada de Abstração e Controlo de Recursos – Resource Abstraction and

Control Layer – além de construir camada após a camada. Além disso, eles também são

responsáveis pela gestão geral da cloud, conforme mostrado na seção Cloud Service

Management – CSM. O CSM possui três componentes:

• Business Support consiste em todos os serviços relacionados a negócios com os

clientes e processo de suporte;

• Provisioning/ Configuration lida com todos os aspetos do aprovisionamento,

mudança de recursos, monitorização e medição;

• Portability/ Interoperability suporta a migração de serviços e dados entre clouds.

Os aspetos de segurança – Security – e privacidade – Privacy – da cloud abrangem todas

as camadas da cloud.

O Cloud Carrier funciona como intermediário que fornece conectividade e transporte

de serviços na cloud entre cloud providers e cloud consumers.

De seguida, o Cloud Broker apresenta-se como uma entidade que gere a utilização, o

desempenho, a entrega de serviços na cloud e negoceia relações entre cloud providers e cloud

Page 32: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

16

consumers. Os principais serviços fornecidos pela entidade aprimoram um determinado

serviço melhorando algumas capacidades específicas – Service Intermediatio –, combinam e

integram variados serviços num ou mais serviços novos – Service Aggregation – e permitem

escolhas flexíveis e oportunistas, tendo em conta que os serviços que são agregados não

podem ser corrigidos – Service Arbitrage.

Por fim, o Cloud Auditor é capaz de realizar uma avaliação independente de serviços

na cloud, operações do sistema de informações, desempenho e segurança da implementação

na cloud [21].

A figura apresentada ilustra a visão holística da arquitetura NIST, onde são

identificadas as interações e funções dos principais atores: Cloud Consumer, Cloud Provider,

Cloud Broker, Cloud Auditor e Cloud Carrier.

2.3 Indústria 4.0

A indústria global enfrenta constantemente a competitividade entre as organizações

o que as obriga a adotar e desenvolver novas estratégias e métodos de produção.

CloudConsumer

CloudAuditor

SecurityAudit

Privacy ImpactAudit

PerformanceAudit

Cloud Provider

Service Orchestration

Service Layer

Resource Abstraction andControl Layer

Physical Resource Layer

Hardware

Facility

Cloud ServiceManagement

BusinessSupport

Provisioning/ Configuration

Portability/ Interoperability

Secu

rity

Pri

vacy

CloudBroker

ServiceIntermediation

Service Aggregation

ServiceArbitrage

Cloud Carrier

IaaS

PaaS

SaaS

Figura 3 - Arquitetura NIST do modelo Cloud Computing [21]

Page 33: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

17

Com a introdução de tecnologias da internet na indústria esta secção pretende dar

uma visão geral acerca da Indústria 4.0, quais as ideias básicas que estão por trás desse

conceito, as suas implicações e ainda o que resulta da sua implementação nas organizações.

2.3.1 Origem do Conceito

Desde o início da industrialização, os avanços tecnológicos levaram a mudanças de

paradigma que atualmente são denominadas por revoluções industriais.

A revolução das tecnologias de informação despoletou uma transformação radical no

mundo em que vivemos e trabalhamos, com um impacto comparável ao da primeira

revolução industrial que surgiu com a introdução de instalações de produção mecânica, a

partir da segunda metade do século XVIII, entrando e sendo intensificado ao longo de todo o

século XIX. A partir da década de 70 do século XIX, o fornecimento de eletricidade e a divisão

do trabalho levaram à segunda revolução industrial. De seguida, a terceira revolução

industrial, também conhecida como Revolução Digital, ocorreu no início da década de 70 do

século XX, quando a tecnologia eletrónica avançada e a tecnologia da informação

desenvolveram ainda mais a automação e o controlo dos processos de produção. Com base

numa digitalização avançada nas fábricas, a integração das tecnologias Internet of Things (IoT)

com a Internet of Services (IoS) no ambiente industrial despertou nas organizações e nos

governos uma jornada evolutiva direcionada à quarta revolução industrial, designada de

Indústria 4.0 [22][23][24].

Este conceito é amplamente utilizado pela Europa, em particular no domínio do

fabrico na Alemanha.

Apesar dos principais impulsionadores da ideia, o “Industrie 4.0 Working Group” e

“Plattform Industrie 4.0” descreverem a visão, as tecnologias básicas e os cenários

envolventes, ainda não existe uma definição concreta do termo. Este, que se tornou

publicamente conhecido em 2011, quando uma iniciativa chamada “Industrie 4.0”, uma

associação de representantes de negócios e política, promoveram a ideia como uma

abordagem para fortalecer a competitividade da indústria de fabrico alemã [22][23][25][26].

A indústria 4.0 está focada na criação de produtos, procedimentos e processos

inteligentes. As fábricas inteligentes possuem um enorme potencial, pois permitem que os

Page 34: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

18

requisitos individuais dos clientes sejam atendidos significando que mesmo os produtos

únicos podem ser fabricados lucrativamente. Nelas, os processos dinâmicos de negócios e

engenharia permitem mudanças de última hora na produção e oferecem a capacidade de

responder de forma flexível a interrupções e falhas.

Os seres humanos, máquinas e recursos comunicam entre si tão naturalmente como

numa rede social. Os CPSs, criam uma cópia virtual do mundo físico e tomam decisões

descentralizadas. Os produtos conhecem detalhes de como eles foram fabricados e qual o seu

destino. As suas interfaces com mobilidade, logística e redes tornarão a fábrica inteligente o

elemento chave das infraestruturas do futuro, resultando na transformação das cadeias de

valor convencionais e no surgimento de novos modelos comerciais [23][25].

2.3.2 CPS (Cyber-Physical System)

Com a última revolução industrial surgem componentes emergentes que são

fundamentais na indústria. Os CPSs são redes de máquinas que são organizadas de forma

semelhante às redes sociais. Criam uma rede inteligente de máquinas, propriedades, sistema

de tecnologias, produtos inteligentes e indivíduos em toda a cadeia de valor e o ciclo de vida

completo do produto, fundindo o mundo físico com o virtual. Sensores e elementos de

controlo permitem que as máquinas sejam ligadas a plantas, frotas, redes e seres humanos. É

útil para vários fins, como engenharia, configuração, serviço, diagnóstico, operação e serviço

de produtos, dispositivos de campo, máquinas ou plantas [27][23][26].

2.3.3 IoT (Internet of Things)

Com o desencadeamento da internet, surgem também novos cenários como a Internet

of Things, advindos do paradigma Indústria 4.0, que permitem a comunicação entre humanos,

bem como máquinas em CPS, nas redes de grande escala.

Antes de surgir o conceito Internet of Things, já se detinha uma visão de tecnologias

com a capacidade de interligar máquinas e facilitar o trabalho das pessoas através da partilha

de informações.

O conceito inovador, e que rapidamente se tornou muito popular nesta área, anda a

ganhar terreno no campo das telecomunicações sem fio. Apesar de não ser apenas sugerida

Page 35: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

19

para o domínio industrial, esta importa-se com a conexão em rede das tecnologias envolvidas,

que poderão estar equipadas com inteligência ubíqua [28][29]. Esta conexão inteligente entre

as redes existentes e a computação consciente do contexto utilizando recursos de rede, é uma

parte indispensável da IoT, dado que esta tecnologia aumentará a ubiquidade da internet

integrando todos os objetos para a interação através de sistemas incorporados, resultando

numa rede altamente distribuída de dispositivos que comunicam entre si e seres humanos

[28] A ideia básica deste conceito é um sistema onde os itens físicos são enriquecidos com

dispositivos eletrónicos incorporados, como tags Radio-Frequency IDentification (RFID)5,

sensores, entre outros. Estes dispositivos estão conectados à internet e através da rede de

computadores, serão capazes de interagir uns com os outros para alcançar objetivos em

comum. No entanto, apesar de a RFID representar um pilar importante para fomentar a

Internet of Things, não é a única habilitada a tal. A Near Field Communication (NFC)6, Wireless

Sensors and Actuators Networks (WSAN)7 e Machine to Machine (M2M)8 assumem um lugar

na vanguarda das tecnologias que conduzem esta visão. Graças aos avanços rápidos nas

tecnologias subjacentes, este paradigma está a abrir enormes oportunidades para um grande

número de aplicações inovadoras que prometem melhorar a nossa qualidade de vida. Não

deve ser esquecido que as palavras “Internet” e “Coisas”, quando juntas, assumem um

significado que introduz um nível de inovação no atual mundo das tecnologias de informação.

Reconhece-se que a essência do paradigma IoT depende de objetos inteligentes e

redes inteligentes [23][24][30][28].

Uma visão adicional correlacionada com a IoT é a chamada Web of Things, que de

acordo com os padrões da Web são reutilizados para se conectar e integrar nos objetos da

vida diária da Web que contém um dispositivo incorporado ou um computador [28].

De facto, é indubitável que a principal força da ideia da IoT é o alto impacto que terá

sobre vários aspetos da vida quotidiana, bem como o comportamento de potenciais

utilizadores. Reconhece-se que a essência deste paradigma depende de objetos e redes

inteligentes. Da perspetiva industrial, as consequências mais aparentes também serão visíveis

5 Tag RFID – Dispositivo de comunicação eletrónico através de sinais de rádio. 6 NFC – Tecnologia para comunicação sem fios entre dispositivos próximos. 7 WSAN – Grupo de sensores que reúne informação sobre o ambiente e os atuadores. 8 M2M – Tecnologias que permitem comunicação com dispositivos com a mesma habilidade.

Page 36: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

20

em áreas como automação e fabrico, logística, gestão de processos/ negócios, transporte

inteligente de pessoas e bens [30][31]. Para que a tecnologia desapareça da consciência do

utilizador, a IoT exige uma compreensão partilhada da situação dos seus utilizadores e

aparelhos, arquiteturas de software e redes de comunicação penetrantes para processar e

transmitir a informação contextual para onde é relevante. Com estes conceitos fundamentais,

a conectividade inteligente e a computação consciente do contexto poderão ser realizadas

[32].

Como tal, pode afirmar-se que após a integração desta tecnologia, seja em que

momento for, em qualquer lugar, teremos conectividade para qualquer coisa. Embora não

seja exclusivamente sugerido para redes industriais, a IoT preocupa-se com a interconexão de

todos os tipos de dispositivos incorporados e promete inaugurar a automação em todos os

campos das redes industriais [28][29].

2.3.4 Fábricas Inteligentes

As fábricas inteligentes, equipadas com sensores, atuadores e sistemas autónomos

representam um ambiente de fabrico consciente, utilizando tecnologias de ponta e auxiliando

pessoas e máquinas na execução das suas tarefas. Com a introdução de máquinas sensíveis

ao contexto em que operam, podem revitalizar o setor industrial, facilitando a

competitividade e as exportações globais, proporcionando empregos sustentáveis,

melhorando radicalmente o desempenho e facilitando a inovação de fabrico [30][31][33].

No domínio industrial, os CPSs envolvem máquinas inteligentes, sistemas de

armazenamento e instalações de produção capazes de trocar informações, de forma

autónoma, desencadear ações e controlar-se independentemente. Isso facilita melhorias

fundamentais para os processos industriais envolvidos no fabrico, engenharia, uso de

materiais e cadeia de suprimentos e gestão do ciclo de vida. As fábricas inteligentes que já

começaram a aparecer empregam uma abordagem completamente nova à produção [28].

O intuito da implementação deste conceito é a elaboração de um pacote global ideal,

aproveitando o potencial tecnológico e económico existente através de um processo de

inovação sistemática com base nas habilidades, desempenho e know-how da força de

trabalho. A indústria 4.0 irá focar-se na integração horizontal, através de uma nova geração

de redes globais de cadeia de valor, na integração digital de engenharia topo de gama em toda

Page 37: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

21

Figura 4 - Visão geral da indústria 4.0, retirado de [26]

a cadeia de valor e impacto de tecnologias exponenciais e na integração vertical de sistemas

de produção inteligentes [25][26].

A figura 4 ilustra como as redes inteligentes formam o alicerce das fábricas inteligentes

e como estes sustentam a indústria 4.0:

A indústria 4.0 concentra-se na automação, permuta de dados e tecnologias de

fabricação contemporâneas para realizar a visão de uma fábrica inteligente. Não apenas

enfatiza a integração vertical dentro de uma configuração de fábrica, mas também estabelece

a base para a integração de engenharia horizontal de ponta a ponta ao longo da cadeia de

valor que vai além do chão de fábrica.

2.3.5 Modelo de Arquitetura de Referência da Indústria 4.0

Quando as inovações tecnológicas começam a ser adotadas em larga escala, discutidas

e pesquisadas nos diversos meios é natural que haja procura por uma normalização com

adoções de boas práticas e normas.

De maneira a promover a transformação digital, um grupo de colaboradores de

diferentes empresas europeias e instituições de Pesquisa & Desenvolvimento, especialmente

a Plattform Industrie 4.0, desenvolveu um modelo de arquitetura de referência para a

Page 38: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

22

indústria 4.0, designado de Reference Architectural Model Industrie 4.0 (RAMI 4.0). O RAMI

4.0 é uma adaptação e expansão do Smart Grid Architecture Model (SGAM), que se baseou na

junção e na representação de diferentes aspetos da indústria num modelo comum, ou seja,

na integração vertical dentro de uma configuração de fábrica (incluindo produtos numa

extremidade e a cloud no outro extremoo), na integração horizontal (nas fábricas e entre as

plantas industriais) e, por fim, na engenharia end-to-end, ao longo da cadeia de valor, de

forma a atender aos requisitos da indústria 4.0 [8][34][35].

O RAMI 4.0, demonstrado na figura 5, consiste num modelo tridimensional de recursos

fundamentais da indústria 4.0.

A arquitetura de referência constituída por três eixos, foca-se essencialmente na

automação industrial. As seis camadas do eixo vertical definem a estrutura da representação

TI de um componente da indústria 4.0. É de salientar que um componente da indústria 4.0

pode ser uma máquina, um sistema de produção, uma estação ou uma montagem dentro de

uma máquina que exiba certos recursos associados à conetividade, comunicação e

representação virtual [35]. As camadas são usadas para representar as várias perspetivas, tais

como, mapas de dados, descrições funcionais, comportamento de comunicação, hardware/

ativos ou processos de negócio que correspondem às camadas de Negócios – Business –,

Figura 5 - RAMI 4.0, adaptado de [8]

Page 39: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

23

Funcional – Functional –, Informação – Information –, Comunicação – Communication–,

Integração – Integration – e Bens – Asset [8].

O eixo Ciclo de Vida e Fluxo de Valor – Life Cycle & Value Stream – representa o ciclo

de vida das entidades, como produtos, máquinas, fábricas que se baseia num projeto de

norma IEC 628909, para gestão do ciclo de vida de diretrizes. Uma característica importante

deste modelo de referência é a identificação de um objeto como tipo – Type – ou instância –

Instance. Um objeto pode ser um produto, ativo, software, máquina ou até mesmo uma

fábrica. São objetos que têm a capacidade de comunicar independentemente usando

componentes compatíveis com a indústria 4.0 [35].

O eixo horizontal denominado de níveis de hierarquia – Hierarchy Levels – representa

os aspetos fundamentais para a organização. Baseia-se no padrão internacional IEC 6226410,

para integração do sistema de controlo empresarial, apresenta quatro camadas denominadas:

“Enterprise” (Empresa), “Work Centers” (Unidade de Trabalho), “Station” (Estação) e “Control

Device” (Dispositivo de Controlo). Foram adicionadas três camadas para apoiar a fábrica

inteligente, designadamente: “Field Device” (Dispositivo de Campo) que permite o controlo

de máquinas ou sistemas de forma inteligente, como os sensores inteligentes; “Produto/

Processo” (Workpieces) que diz respeito à homogeneidade de produto a ser fabricado e as

instalações de produção com as suas interdependências; finalizando com a camada “Conexão

Externa” (Connected World), em que a fábrica pode ir além dos seus limites e alcançar

parceiros externos por meio de redes de serviços colaborativos [8].

Em suma, as relações dos eixos deste modelo estão localizadas dentro do eixo “Layers”

e podem permanecer em várias posições no “Ciclo de Vida e Fluxo de Valor” e ocupar vários

“Hierarchy Levels”. É um referencial que destaca a organização, as funções e a interatividade

dos elementos envolvidos na arquitetura, mas os detalhes da sua implementação ainda não

estão evidenciados, não mostrando também os detalhes sobre a comunicação entre máquinas

e “coisas” para orientar os produtos no processo de fabricação de acordo com as operações

necessárias [8].

9 IEC 62890 – Norma utilizada na medição, controlo e automação de processos industriais. 10 IEC 62264 – Norma internacional para integração de sistemas de controlo corporativo.

Page 40: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

24

2.4 Arquiteturas de Software

Esta secção apresenta conceitos fundamentais sobre arquiteturas e o método 4SRS,

técnica esta que permite transformar modelos de requisitos do utilizador em arquiteturas de

software.

2.4.1 Contextualização

Devido à exacerbada complexidade das implementações dos sistemas de informação,

surgiu a necessidade de usar alguma construção lógica, por outras palavras, uma arquitetura,

de modo a definir e controlar as interfaces e a integração de todos os componentes do

sistema. Para evitar a desintegração do negócio, o conceito de arquitetura tornou-se

indispensável para estabelecer alguma ordem e controlo no investimento de recursos de

sistemas de informação [36].

Atualmente, na prática comercial, é fundamental que uma abordagem integrada para

negócios e TI, em que as estruturas organizacionais, os processos de negócio, aplicações de

tecnologias de informação e infraestruturas técnicas estão alinhados [37].

Todos os sistemas de computação são compostos por três partes fundamentais: o

software (programas ou bibliotecas), os dados, que tanto são temporários (na memória) como

constantes (no disco ou ROM) e o hardware (processamento, memória, discos, placas de

rede).

Quando se tenta entender um sistema, interessa saber o que cada componente

individual faz, como funcionam e como interagem com o ambiente à sua volta, mais

particularmente, a sua arquitetura [38].

Tradicionalmente, um componente é uma unidade de software que é

independentemente substituível e atualizável. As bibliotecas são componentes que estão

vinculados a um programa normalmente invocadas através de chamadas de funções na

memória [39].

Page 41: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

25

2.4.2 Conceito

A noção de arquitetura reflete-se na descrição dos componentes e das relações entre

eles para que possam satisfazer todos os requisitos de um sistema, com o meio ambiente e o

que origina a sua evolução [37] [40]. Entre a lógica e a representação do conhecimento, as

arquiteturas combinam várias lógicas num sistema lógico mais complexo. A arquitetura lógica

suporta os requisitos funcionais, aqueles que o sistema deve fornecer em termos de serviços

aos seus utilizadores. Pode ser descritiva ou prescritiva. É descritiva quando se refere à

arquitetura do sistema existente e é prescritiva quando a especificação da arquitetura para o

sistema de software está a ser construída [40]. No entanto, quando os requisitos não são

devidamente “extraídos” e há entradas insuficientes para uma abordagem do produto para a

obtenção de requisitos, uma perspetiva de nível de processo é uma maneira alternativa de

alcançar os requisitos básicos pretendidos para o design lógico[41] [42].

2.4.3 Método Four Step Rule Set

Um dos métodos utilizados para contornar esse problema é a adaptação da técnica do

Four Step Rule Set (4SRS) que deriva modelos arquiteturais lógicos numa perspetiva ao nível

do processo. É uma técnica orientada a modelos que permite transformar casos de uso em

objetos, baseando-se no mapeamento de diagramas de casos de uso, em diagramas de

objetos UML [43][44]. A natural interação do método com a utilização de modelos

esquemáticos ajuda a garantir que a arquitetura lógica obtida reflete os requisitos do

utilizador. O método 4SRS gera arquiteturas lógicas, representando os requisitos do sistema,

a partir dos modelos de requisitos do utilizador, de maneira a empregar sucessivas

transformações de modelo, de modo a obter uma arquitetura lógica que satisfaça tais

requisitos. Estas arquiteturas lógicas criadas são apresentadas utilizando a notação dos

diagramas UML de objetos e de componentes[45][46].

A abordagem utilizada no 4SRS encontra-se dividida pelos seguintes passos

[45][46][47][48][49]:

1. Criação do componente – Component creation: neste passo, cada caso de uso

é transformado em três tipos de objeto: uma interface (i), um dado (d) e um

controlo (c). A partir daí cada um destes tipos recebe a referência do respetivo

caso de uso anexado com o sufixo (i, d, c) que nos indica a categoria do objeto;

Page 42: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

26

2. Eliminação do componente – Component elimination: baseado na descrição

textual de cada caso de uso, deve ser decidido qual dos três objetos devem ser

mantidos para representar completamente em termos computacionais o caso

de uso, tendo em conta todo o sistema e não considerando cada caso de uso

isoladamente. Este passo também suporta a eliminação da redundância nos

requisitos do utilizador, bem como na descoberta de requisitos em falta. Este

é considerado o passo mais importante da técnica do 4SRS, uma vez que as

entidades ao nível do sistema são decididas aqui. Para lidar com a

complexidade do passo, este foi decomposto em oito micros passos [45]

2i Identificação do caso de uso – Use case identification;

2ii Eliminação local – Local elimination;

2iii Nomeação do componente – Component naming;

2iv Descrição do componente – Component description;

2v Representação do componente – Component representation;

2vi Eliminação global – Global elimination;

2vii Renomeação do componente – Component renaming;

2viii Especificação do componente – Component specification.

3. Agregação e empacotamento de componentes – Component Packing and

Aggregation: nesta fase, os objetos que sobrevivem (aqueles que foram mantidos após a

execução do segundo passo), originam agregações ou pacotes de objetos semanticamente

consistentes. Por outras palavras, tendo em conta que existem objetos que podem ter

responsabilidades idênticas no contexto do sistema e que, por isso, possam ser agrupados;

4. Associação do componente – Component association: o último passo da técnica

de 4SRS suporta a introdução de associações no modelo de objeto, completamente baseado na

informação existente no modelo de caso de uso e gerado no micro passo 2i. Em suma, os objetos

agregados obtidos são ligados de modo a especificar as associações entre os objetos/

componentes existentes.

Page 43: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

27

2.4.4 Tipos de arquiteturas

Nesta secção serão apresentadas as abordagens mais relevantes para o

desenvolvimento do presente projeto.

Arquitetura de Software

Uma arquitetura de software é um conjunto de modelos que contém as principais

decisões de design do sistema de software sob a forma de componentes – focos de

computação de sistemas e gestão de dados –, conectores – focos de interação de

componentes – e configurações – arranjos específicos de componentes e conectores

destinados a resolver problemas específicos. São necessárias várias visualizações para

enfatizar e compreender diferentes aspetos da arquitetura; os estilos são uma forma de

codificação convincente e importante que pode ser usada de forma descritiva e prescritiva;

princípios de engenharia e propriedades materiais são de extrema importância no

desenvolvimento e suporte de uma arquitetura particular e estilo arquitetónico [50][51].

Arquitetura de Microserviços

A abordagem de microserviços, também conhecida como arquitetura de

microserviços, é um termo relativamente novo em padrões de arquitetura de software. Um

microserviço é um serviço independente que desempenha funções únicas e colabora com

outros serviços similares, usando uma interface bem definida. A arquitetura de microserviços

permite a entrega/ implementação contínua de aplicações grandes e complexas11. Cada

serviço é executado no seu próprio processo e implementado de forma independente. Pode

ser escrito em diferentes linguagens de programação, usar modelos de dados próprios, entre

outros. O paradigma microserviços foi proposto para superar as deficiências de uma

arquitetura monolítica [52].

Arquitetura Monolítica

Para sistemas de dimensão reduzida, a designada arquitetura monolítica pode ser a mais

adequada e tornar-se altamente disponível e escalável, utilizando mecanismos simples de

balanceamento de carga. Internamente a aplicação pode ter vários serviços, componentes,

entre outros, sendo implementada como uma solução unificada. O seu fácil desenvolvimento

11 Retirado de microservices.io/

Page 44: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

28

é a principal vantagem, mas também pode ser difícil de entender e modificar. Neste tipo de

aplicações monolíticas, os serviços são desenvolvidos numa base de código única e é

partilhada por vários elementos da equipa. Quando a equipa de desenvolvimento quer

adicionar ou alterar serviços, deve garantir que a outra parte dos serviços continua a

funcionar. A complexidade aumenta à medida que mais serviços são adicionados, limitando a

capacidade das organizações de inovar com novas versões e recursos. À medida que o

tamanho do sistema aumenta, problemas como dificuldades na compreensão do código,

aumento do tempo de implementação, escalabilidade para cargas intensivas em dados

começariam a aparecer. Uma implementação monolítica representa um único ponto de falha,

ou seja, se a aplicação fracassar, o conjunto de serviços desaparece. Os microserviços auxiliam

neste aspeto, fornecendo pequenos serviços fáceis de entender que podem ser

implementados e escalados independentemente [52][53].

Service-oriented Architecture (SOA)

A SOA é uma abordagem para descrever e compreender as organizações, as

comunidades e os sistemas que maximizam a agilidade, a escala e a interoperabilidade. Tem

como principal objetivo maneiras de criar, publicar e integrar lógica aplicacional e recursos

como serviços. O conceito cloud não necessita de tecnologia embora seja recomendável criar

princípios orientados a serviços. A adoção dos princípios desta especificação transforma os

sistemas complexos e monolíticos num ambiente mais simples e bem definido. Assim sendo,

as arquiteturas orientadas a serviços revelam um interesse primordial, não só em criar e alocar

aplicações e serviços em sistemas cloud, mas também, em facultar serviços e recursos de alto

nível que complementem a melhoria dos recursos na base da cloud [19]. A característica deste

paradigma é a flexibilidade, ou seja, as plataformas de computação e linguagens podem variar,

os serviços podem ser acedidos com uma rede de comunicações através de interfaces simples

e bem definidas, sem ter que se preocupar com os efeitos colaterais resultantes das

dependências entre serviços, sendo estes fatores os que permitem que as aplicações utilizem

os serviços de maneira eficiente e efetiva [54][55][56].

Para modelar os processos de negócio e serviços, esta arquitetura adota a linguagem

de modelação Service-oriented Architecture Modeling Language (SoaML), tendo como

objetivo auxiliar as atividades de modelação e conceção de serviços, de maneira a definir uma

abordagem de desenvolvimento orientado a modelos. Esta especificação define extensões

Page 45: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

29

para UML suportar a gama de requisitos de modelação de arquiteturas orientadas a serviços,

incluindo a especificação dos sistemas de serviços, a especificação de interfaces de serviços e

a especificação dos sistemas de serviço.

De acordo com a especificação, esta notação foi concebida para suportar tanto uma

perspetiva de TI como de negócios, em SOA. As experiências com a linguagem SoaML, num

contexto de implementação do método no caso da aplicação industrial, sugeriram uma

segmentação mais clara entre o nível de TI e de negócios em nível de conceitos são

necessários.

Deve referir-se que algumas das construções de linguagem definidas em SoaML

ajustam-se tanto ao nível de TI como no nível de negócio. Em particular, isto aplica-se aos

“Participants” que são usados para definir os “Service Consumers” e “Services Providers” de

um sistema. Ao nível do negócio os “Participants” geralmente representam unidades de

organização ou funções, enquanto no nível de TI, os “Participants” representam tipicamente

sistemas TI ou componentes de software. Quando um “Participant” atua como um “Service

Consumer” que contém “request ports”. Estes termos serão elucidados no capítulo 4, na

secção 4.3.

Assim sendo, SoaML pode referir-se a qualquer construção comportamental UML que

pode ser utilizado para descrever o comportamento.

2.5 Conclusão

Como referido anteriormente o objetivo deste capítulo era adquirir o conhecimento

necessário para o desenvolvimento da presente dissertação, que será baseada num caso de

demonstração real no âmbito da conceção de uma arquitetura lógica suportada no referencial

NIST CCRA com uma ênfase substancial do referencial RAMI 4.0.

A ordem cronológica foi um dos principais fatores para a seleção dos documentos

dando maior relevância aos mais antigos por apresentarem informação mais sólida e

pertinente. Não descurando os documentos mais atuais, apesar de se basearem nos menos

recentes, estes também são de pertinente avaliação pois dispõem conteúdo contemporâneo.

No entanto, nem sempre se conseguiu o acesso a determinados livros ou artigos científicos

devido ao acesso restrito, o que limitou a revisão de literatura.

Page 46: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

30

Pode concluir-se que este capítulo foi crucial para o desenvolvimento deste trabalho,

podendo afirmar-se que o modelo cloud computing é o método adequado para fornecer uma

solução potencial no domínio industrial, apresentando serviços de elevada qualidade a baixo

custo. Ao mesmo tempo que este evolui como uma plataforma de computação fundamental

para a partilha de recursos que incluem as infraestruturas, softwares, aplicações e processos

de negócio, surge também o conceito da indústria 4.0, com o propósito de tornar um

ecossistema industrial, com base nas suas tecnologias, altamente inteligente.

Cada sistema é único e a arquitetura é uma ferramenta indispensável para uma

organização, tanto para controlar a sua complexidade como os seus processos, sendo que, as

organizações e as tecnologias devem estar alinhadas. Porventura, serão aplicados os modelos

de referência mais utilizados como o NIST CCRA, de modo a suportar a arquitetura no

ambiente cloud computing, e o RAMI 4.0, um referencial ainda recente no âmbito da indústria

4.0, de modo a fornecer os melhores resultados possíveis.

Page 47: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

31

3. CASO DE DEMONSTRAÇÃO: ABORDAGEM AO PROBLEMA

3.1 Introdução

A internet (e nomeadamente o paradigma cloud computing) tem vindo a permitir às

empresas industriais um acesso a dados produtivos cruciais na gestão dos processos e do

negócio. Deter uma visão corporativa e agregada da informação operacional de forma

integrada com as informações do negócio permite às organizações normalizarem os seus

processos, otimizarem a utilização dos seus recursos enquanto fortalecem a relação com os

clientes, fornecedores e transportadores e uma gestão da sua rede de operações com mais

eficiência.

A inclusão de plataformas de cloud computing numa entidade industrial surge não só

para racionalizar os custos como também da necessidade computacional de utilizar

eficientemente os recursos para atingir a excelência operacional. A principal vantagem da

utilização da cloud nos ambientes produtivos relaciona-se sobretudo na facilidade em gerir a

infraestrutura, tanto no hardware como no software.

É neste sentido que surge o projeto UH4SP – Unified Hub for Smart Plants –, no âmbito

do desenvolvimento de um sistema de soluções de pesagem industrial e software para

automatização dos processos operacionais de indústrias com estas necessidades, baseado em

diversos domínios tecnológicos como o cloud computing e a indústria 4.0.

O projeto tem como objetivo desenvolver uma plataforma para integrar dados de

plantas de unidades industriais, incorporando sistemas IoT para gestão de produção em nível

corporativo e processos colaborativos entre unidades industriais, fornecedores,

transportadores e clientes. São apoiados por aplicações de software e serviços

implementados numa plataforma cloud, sendo que irão participar várias entidades.

Assim sendo, o foco deste capítulo incide numa abordagem de derivação de uma

arquitetura lógica num ambiente industrial, que será demonstrada usando um caso real.

Primeiramente, passa pela apresentação do projeto e segue com a explicação detalhada das

etapas a serem executadas para desenvolver a arquitetura lógica, tal como representado na

figura 6.

Page 48: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

32

A secção 3.3 cinge-se no levantamento e modelação dos requisitos (a) e de seguida,

proceder-se-á à execução do método Four Step Rule Set – 4SRS (b) e através de sucessivas

iterações será derivada e refinada a arquitetura lógica (c). Por último, serão elaborados

diagramas de sequência de modo a validar o comportamento da arquitetura lógica (d),

segundo alguns cenários definidos apresentados na secção 3.4.

3.2 Apresentação do Caso de Demonstração

O esquema ilustrado na figura 7 apresenta a abordagem do projeto UH4SP, em que

dispõe de uma plataforma e um conjunto de serviços disponibilizados em cloud, que procura

da forma o mais eficiente possível satisfazer as necessidades computacionais de cada serviço,

bem como os intervenientes que compõe o meio envolvente.

O projeto é representado pela integração de várias entidades do sistema com quem

se mantêm uma interação regular, sendo elas: a organização Cachapuz é a entidade

responsável por desenvolver e fornecer os serviços e a sua gestão, incluindo a instalação,

configuração, monitorização e manutenção dos serviços nos diversos clientes do sistema. Os

clientes externos, que representam a cadeia de valor, como por exemplo, os transportadores,

os fornecedores e os clientes, usufruem das funcionalidades do sistema através da sua relação

com as unidades industriais.

A planta industrial (ou conjunto de plantas industriais) será o cenário onde decorrem

as interações entre os intervenientes e o sistema através dos diversos dispositivos de

interface, tais como: sensores, câmaras, básculas, dispositivos móveis, painéis informativos,

controlo de acessos e quiosques de atendimento.

Neste caso, uma planta da indústria cimenteira é tipicamente composta por um

conjunto de silos de tecido, responsáveis por armazenar materiais a granel e ensacados

4SRS

{U1.1} {C1.1i}

{U1.2}{C1.1d}{C1.2d}{C1.2c}

Use Case Model

Logical architecture

B-type sequence

ab

cd

Figura 6 - Processo de desenvolvimento do capítulo 3

Page 49: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

33

(podem conter grãos, carvão, cimento, fumo negro, lascas de madeira, produtos alimentícios

e serragem); circuitos logísticos, ou seja, o caminho que os camiões seguem para carregar ou

descarregar material; outros pontos para atividades de transformação, que são pontos na

fábrica onde algumas atividades industriais/ de manufaturação são realizadas, especialmente,

quando se armazena um bem num silo/ armazém.

Desta forma, pretende-se responder às quatro grandes necessidades do sistema:

suporte de uma visão corporativa e integrada das operações; desenvolvimento de

ferramentas colaborativas e serviços transversais; otimização operacional e da experiência de

utilização, bem como, a confiabilidade do sistema.

Corporate and integrated vision of operations

Organization

Collaborative tools and

transversal services

ForwardersForwarders

Suppliers

Clients

In-plant operational optimization and

improvement of user experience

Industrial plant

Kiosks and control

of barriers

Mobile devices

Recognition camera

Cloud

UH4SP

Sensors

Figura 7 - Visão geral do UH4SP

Page 50: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

34

3.3 Levantamento e Modelação dos Requisitos de Software

Para uma melhor compreensão do projeto, em que estão refletidas as necessidades

do cliente, recorreu-se à análise e modelação de requisitos, mais especificamente através da

elaboração de diagramas UML de casos de uso, que descrevem o modo como os utilizadores

interagem com o sistema, fornecendo uma visão de como o sistema irá atuar.

Assim sendo, para representar os requisitos começa-se por analisar e identificar as

funcionalidades do sistema, bem como os stakeholders12 que o constituem, tendo em conta

o papel de cada um, através de casos de uso. Os intervenientes são representados em forma

de atores, que possuem uma ou mais funcionalidades, representadas em forma de casos de

uso.

Para facilitar a interpretação ou até lidar com a complexidade da modelação, os casos

de uso podem ser refinados, através da decomposição dos mesmos, referindo-se às

funcionalidades de mais alto nível, tipicamente referidos como nível 0. A figura 8 demonstra

a representação de níveis que poderá ser utilizada para definir as funcionalidades do sistema,

em forma de “árvore”. Na primeira camada (nível 0) são representados os requisitos mais

abstratos que estão relacionados ao nível mais alto de refinamento (mais abstratos), e assim

sucessivamente. Com um alto nível de refinamento os requisitos são traduzidos nas funções

do sistema e serão aqueles em que o fluxo operacional será descrito. De forma a facilitar a

rastreabilidade, sugere-se a utilização de numeração nos casos de uso e de nivelação dessa

mesma numeração. Por exemplo, para um caso de uso alto nível {U1}, a decomposição no

nível 1 em {U1.1}, {U1.2} e ao nível 2 em {U1.1.1}, entre outros.

12 Stakeholder – Pessoa ou grupo com interesse numa empresa, negócio ou indústria.

Page 51: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

35

Figura 8 - Representação geral dos níveis

É também de ressalvar que os requisitos tratados no presente estudo apenas se

referem aos requisitos funcionais. Abaixo, por ordem hierárquica, apresenta-se a descrição

dos atores envolvidos.

Administrador de sistemas: é a entidade principal do sistema, responsável por gerir a

plataforma e a infraestrutura necessária de forma a disponibilizar um serviço aos

interessados;

Administrador da fábrica: tem como função planear, organizar e controlar todos os

movimentos da fábrica;

Gestor de infraestruturas: responsável pela configuração corporativa de todos os

sistemas de informação da unidade industrial atribuídos a ele;

Gestor corporativo: conduz um grupo de organizações com visão corporativa,

agregada e integrada das operações desenvolvidas em várias unidades industriais,

independentemente da sua localização geográfica. Este ator consulta e compara indicadores

de negócio, assim como pode configurar alguns processos de negócios das diferentes

unidades industriais do grupo;

Gestor da fábrica: gere um grupo de fábricas com visão corporativa, agregada e

integrada das operações desenvolvidas na sua unidade industrial. Consulta e compara

indicadores de negócio, bem como configura e gere processos de negócios de uma

determinada unidade industrial.

{Level 0}

{Level 1}

{Level 2}

Page 52: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

36

Gestor da companhia: gere um grupo de fábricas com visão corporativa, agregada e

integrada das operações desenvolvidas em várias unidades industriais. Consulta e compara

indicadores de negócio, bem como configura e gere processos de negócios das unidades

industriais da empresa.

Transportador: o responsável pelo transporte de material de/ para a fábrica;

Fornecedor: fornece os produtos adquiridos pela planta industrial, isto é, fornece as

matérias-primas a serem consumidas pelas atividades de fabrico;

Motorista: representa um determinado transportador que pode ser um cliente ou um

fornecedor de uma determinada unidade de produção. Está incumbido de dirigir o camião

entre as várias fases do processo dentro de uma planta industrial e, ao mesmo tempo é

responsável pelo processo de carregamento/ descarregamento, caso seja necessário. Esta

interação com o sistema será por meio de aplicações de dispositivos móveis;

Cliente: será o atual comprador dos produtos vendidos na fábrica, sendo que por

meios de serviços web poderão solicitar materiais, confirmar entregas, entre outros.

Em suma, os administradores são os agentes responsáveis pelas infraestruturas dos

respetivos setores que garantem a execução dos procedimentos administrativos necessários

à realização das operações da empresa e os gestores serão os pontos de contacto com as

fábricas, que irão distribuir os work tokens13 aos motoristas.

Os casos de uso (nível 0) da plataforma UH4SP, ilustrados na figura 9, definem as

principais funcionalidades do sistema, bem como os intervenientes que interagem com ele,

tendo em conta o seu comportamento.

13 Work token – cartão virtual com a identificação do motorista, camião e trabalho que irá realizar numa

determinada fábrica.

Page 53: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

37

Estes casos de uso suportam a gestão de contas e perfis de utilizadores, pois permitem

executar um conjunto de funcionalidades relacionadas com autenticação, configuração de

contas e perfis de utilizadores – {U1} Manage accounts. Possibilitam também a integração de

sistemas de informação entre os serviços e as fábricas, assim como a monitorização e

manutenção das plantas industriais – {U2} Manage local platform. Produzem e gerem o guia

do motorista, bem como, realizar check-in remoto e/ check-out, aceder à informação do

sistema, determinar a sua localização, receber informação atualizada, comunicar com a

central, gerir mapas, rotas e eventos, entre outros – {U3} Manage driver guidance. Por fim, o

caso de uso {U4} Perform business activities debruça-se na logística e orientação da planta

industrial.

Para exemplificar o processo de refinamento será utilizado o caso de uso {U1} Manage

accounts, sendo que as restantes descrições podem ser encontradas no Anexo III. Como se

pode verificar na figura 10, o caso de uso {U1} Manage users account, resultou, numa primeira

iteração do refinamento, na criação de sete casos de uso, nomeadamente – {U1.1} Configure

users account, {U1.2.} Configure users profile, {U1.3} Perform authentication, {U1.4} Manage

stakeholders, {U1.5} Manage virtual tokens, {U1.6} Manage trucks e, por último, {U1.7}

Manage trailers.

System

Administrator

Users

Driver

UH4SP

{U1} Manage accounts

{U2} Manage local platform

{U4} Perform business activities

{U3} Manage driver guidance

Figura 9 - Caso de uso geral do projeto UH4SP (nível 0)

Page 54: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

38

Figura 10 - Caso de uso: {U1} Manage accounts (nível 1)

Para poder gerir a conta, o utilizador terá que seguir determinados passos. Como tal,

o caso de uso {U1.1} foi refinado, de modo a acrescentar mais detalhe acerca desta atividade,

o que originou quatro casos de uso, com nível de abstração inferior, sendo eles – {U1.1.1}

Create user account, {U1.1.2} Change user account, {U1.1.3} Disable user account e {U1.1.4}

Consult user account, como se pode observar na figura 11.

{U1} Manage accounts

{U1.1} Configure users account

{U1.2} Configure users profile

System

Administrator

{U1.3} Perform authentication

Users

{U1.4} Manage stakeholders

{U1.5} Manage virtual tokens

{U1.6} Manage trucks

{U1.7} Manage trailers

Page 55: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

39

A atividade “Create user account”, permite ao utilizador criar uma nova conta,

resultando em sete casos de uso, designadamente: {U1.1.1.1} Insert username, {U1.1.1.2}

Insert NIF, {U1.1.1.3} Associate company, {U1.1.1.4} Associate profile, {U1.1.1.5} Insert email,

{U1.1.1.6} Insert password e, por fim, {U1.1.1.7} Confirm password. De seguida, a conta criada

precisa de ser validada pelo administrador de sistemas que vai verificar e atribuir as

permissões corretas – {U1.2} Configure users profile – a um determinado utilizador da

plataforma.

A atividade “Change user account” possibilita ao utilizador alterar qualquer dado da

conta a que está associado. Depois disso, as alterações da conta precisam de ser validadas

pelo Administrador do Sistema que verifica e atribui as permissões corretas – {U1.2} Configure

users profile – a um determinado utilizador da plataforma.

A atividade “Disable user account” permite ao utilizador desativar a conta associada.

Após esta operação, é necessário que o Administrador do Sistema valide a modificação. Uma

conta pode ser desativada pela Administrador de Sistemas se for necessário e justificado.

A atividade “Consult user account” permite ao utilizador consultar os seus dados.

Assim como permite ao administrador de sistemas consultar todas as contas do utilizador.

Users

System

Administrator

{U1.1} Configure users account

{U1.1.1} Create user account

{U1.1.2} Change user account

{U1.1.3} Disable user account

{U1.1.4} Consult user account

Users

System

Administrator

{U1.1.1} Create user account

{U1.1.1.1} Insert username

{U1.1.1.6} Insert password

{U1.1.1.7} Confirm password

{U1.1.1.5} Insert email

{U1.1.1.3} Associate company

{U1.1.1.2} Insert NIF

{U1.1.1.4} Associate profile

Figura 11 - Refinamento do caso de uso {U1.1} Configure users account (nível 2)

Page 56: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

40

3.4 Derivação da Arquitetura Lógica

Após traduzir os requisitos em casos de uso, estão reunidas as condições necessárias

para desenvolver e executar o método Four Step Rule Set (4SRS), que irá suportar a conceção

da arquitetura lógica do sistema. O método 4SRS está segmentado em vários passos e micro

passos, suportados em forma de tabela, como é possível verificar nas tabelas 1, 2, 3 e 4. Está

dependente do exercício da secção anterior, visto que apenas os casos de uso mais específicos

da “árvore” são utilizados no método. Estes casos de uso são denominados de “casos de uso

folha”.

Assim sendo, nesta secção o método 4SRS será explicado e aplicado de maneira a

permitir a compreensão de como será efetuada a derivação da arquitetura lógica. Por

questões de demonstração e interpretação apenas os casos de uso {U1.1.1} e {U1.1.2} serão

exemplificados nas tabelas abaixo, enquanto os restantes estarão representados no Anexo IV.

Seguindo a perspetiva do autor [57], a tabela 4SRS está dividida em quatro passos, na

qual o primeiro passo “Component creation” se direciona aos casos de uso derivados dos

componentes de software. Para cada “caso de uso folha” são criados automaticamente, três

componentes de software, associados a uma categoria (i – interface, d – dados, c – controlo)

para posterior validação. Os componentes de interface dizem respeito a interfaces com

utilizadores, software ou outras entidades; os componentes de dados relacionam-se com os

repositórios genéricos de dados que contêm a informação armazenada numa base de dados

e os componentes de controlo referem-se a um componente de controlo, incluindo a

computação dos processos de negócio. Sugere-se aqui que, de forma a facilitar a

rastreabilidade do componente para o caso de uso, a utilização da mesma numeração do caso

de uso, e o sufixo relativo à categoria, tal como, para o caso de uso {U1.1.1}, os componentes

serem numerados como {C1.1.1.i}, {C1.1.1.d} e {C1.1.1.c}.

Tabela 1 - 1ª etapa do método 4SRS

Step 1 - Component creation

Use case Description

{U1.1.1} Create user account

{C1.1.1.c} Generated C

{C1.1.1.d} Generated C

{C1.1.1.i} Generated C

{U1.1.2} Change user account

{C1.1.2.c} Generated C

{C1.1.2.d} Generated C

{C1.1.2.i} Generated C

Page 57: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

41

Como observado na tabela 1, o caso de uso {U1.1.1} resultou na criação de três

componentes: {C1.1.1.c}, {C1.1.1.d} e {C1.1.1.i}, com a devida descrição.

Relativamente ao passo 2 – “Component elimination” –, pode dizer-se que será o mais

crítico e, assim, o mais longo, pois é neste que serão eliminados e validados os componentes

definidos no passo 1 – “Component creation”. Será também a partir desta etapa que os

componentes validados estarão representados na arquitetura lógica construída

posteriormente.

Este passo é dividido por oito micro passos, designadamente: 2i – “Use case

identification”, 2ii – “Local elimination”, 2iii – “Component naming”, 2iv – “Component

description”, 2v – “Component representation”, 2vi – “Global elimination”, 2vii “Component

renaming” e, por último, 2viii – “Component specification”. Com base no caso de uso em

análise e na sua natureza (pela descrição das ações na especificação desse caso de uso), são

validados os componentes, do passo 1, que assegurem a execução do caso de uso.

Descartando os restantes – micro passos 2i e 2ii, correspondendo à 1ª validação, tal como na

tabela 2 –, é definida uma designação para os componentes validados (micro passo 2iii) e de

seguida, uma descrição consoante o seu comportamento (micro passo 2iv).

Tabela 2 - 2ª etapa do método 4SRS (a)

Step 2 - Component elimination

2i - Use case identification

2ii - Local elimination

2iii - Component naming

2iv - Component description

cdi

T Create user processor

Allows the execution of the necessary commands by system to verify if the created user exists in the users database. If exists system "shows a red light" and advertise user that already exists.

T User data

Stores the data of the user. By "data" we interpret that is all the information relevant for this object, such as: username, email, NIF, phone number, password, company, role, profile settings, data access, etc.

T Insert username

interface Defines the interface with users to create a new user.

di

F

T Store user data Same as {C1.1.1.d}

T Edit user interface

Defines the interface with users to change your information account. After this, this account editions need to be validated by System Administrator at {U1.2.1} "Manage profiles" to a given edited UH4SP user.

1ª validação

Page 58: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

42

Como exemplo a tabela 2 apresenta o caso de uso {U1.1.1} Create user account surge

com a intenção de criar uma nova conta de utilizador, com os respetivos dados. Como tal,

necessita de um controlo, pois caso o utilizador inserido já exista o sistema não pode aceitar,

originando assim o componente {C1.1.1.c}. No entanto, como dito na descrição infere-se a

necessidade de um repositório de dados, onde será armazenada toda a informação,

independentemente da sua duração, criando o componente {C1.1.1.d} User data. O

componente {C1.1.1.i} Insert username interface também será validado uma vez que faz

referência às interfaces do processo com os utilizadores e o software, como se pode observar

na respetiva descrição (coluna 4). Assim, na etapa seguinte (coluna 2) os componentes

referentes à categorização anterior são mantidos (“T”) e os restantes eliminados (“F”). Depois,

cada um é nomeado consoante a função e a natureza (c, d ou i) (coluna 3) e o comportamento

descrito (coluna 4), o que acontecerá também com o caso de uso {U1.1.2} Change user

account.

Posteriormente, são analisados e validados todos os componentes existentes de forma a

eliminar a redundância de componentes no sistema global (micro passos 2v e 2vi,

correspondendo à 2ª validação, tal como na tabela 3) e voltar a caracterizá-lo com um nome

e descrição mais adequados (micro passos 2vii e 2viii), caso estes passem a representar

funcionalidades adicionais. Caso o componente se mantenha nesta 2ª validação, mas sem

representações adicionais, não é necessário definir novos nomes e descrições nestes passos.

Page 59: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

43

Tabela 3 - 2ª etapa do método 4SRS (b)

Step 2 - Component elimination

2v - Component representation 2vi - Global

elimination

2vii - Component renaming

2viii - Component specification represented

by represent

{C1.1.1.c} T Manage user processor

Allows the execution of the necessary commands by system to verify if the created user exists in the users database. If exists system "shows a red light" and advertise user that already exists.

{C1.1.1.d} {C1.1.2.d} {C1.1.3.d} {C1.1.4.d}

T User data

Stores the data of the user. By "data" we interpret that is all the information relevant for this object, such as: username, email, NIF, phone number, password, company, role, profile settings, data access, etc.

{C1.1.1.i} T Manage user interface

Defines the interface with users to create a new user and associate an user (corporate, company, factory or entity).

Tal como demonstrado na tabela 3, o objetivo do próximo passo será eliminar a

redundância do sistema, em que todos os componentes são considerados e comparados para

identificar se um componente é representado por outro. Como o {C1.1.1.d} User data e o

{C1.1.1.i} Insert username interface foram aprovados a célula é preenchida com um “T”, o que

significa que esse componente é mantido após esta 2ª validação. Neste caso, o componente

{C1.1.2.d} Store user data vai ser representado pelo {C1.1.1.d} User data, dado que as

atividades e as tarefas são idênticas e que os atores envolvidos são os mesmos. Verifica-se

também que o mesmo vai acontecer nos 2 próximos casos de uso, daí o {C1.1.1.d} User data

aparecer representado a amarelo. O passo seguinte (coluna 3) é similar à execução do passo

2ii. Como o {C1.1.1.d} User data e o {C1.1.1.i} Insert username interface foram aprovados a

célula é preenchida com um “T”, o que significa que esse componente será representado por

outro. Uma vez que estes agora representam casos de uso adicionais para além dele mesmo,

estes serão agora renomeados (coluna 4) e reescritos (coluna 5), sendo que deve refletir o

contexto global do sistema.

A posteriori, na fase 3 – “Component Packing & Aggregation” –, os componentes que

foram validados originam pacotes ou agregações constituídas por componentes

semanticamente consistentes.

2ª validação

Page 60: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

44

Assim como apresentado na tabela 4, verifica-se que os componentes – “C’s” – que se

mantiveram após a execução do passo anterior deram origem ao pacote {P2} Accounts. Como

o caso de uso {U1.1.2} Change user account não sobreviveu ao passo 2v, deixa de se preencher

os campos seguintes.

Tabela 4 - 3ª e 4ª etapa do método 4SRS

Step 3 - Packing & Aggregation

Step 4 - Component association

4i - Direct

associations 4ii - UC

associations

{P2} Accounts {C1.1.1.d} {C1.1.1.i}

{P2} Accounts {C1.1.1.c} {C1.1.1.i}

{P2} Accounts {C1.1.1.i} {C1.1.1.d}

{C1.2.1.i}

Por fim, a etapa quatro – “Component association” –, está relacionada com as ligações

e associações entre os componentes, baseadas nas descrições textuais e no passo um. Ou seja,

como verificado na tabela 4, a segunda coluna representa as associações diretas enquanto a

terceira coluna as associações derivadas dos casos de uso. O componente {C1.1.1.c} está

ligado diretamente aos componentes {C1.1.1.d} e {C1.1.1.i}, enquanto o componente

{C1.1.1.d} relaciona-se diretamente aos componentes {C1.1.1.c} e {C1.1.1.i} e, por fim, o

componente {C1.1.1.i} encontra-se ligado diretamente aos componentes {C1.1.1.i} e

{C1.1.1.d} e ao componente {C1.2.1.i} por derivação do caso de uso.

No final da execução da técnica 4SRS, os casos de uso encontram-se funcionalmente

decompostos, o que servirá como base para a modelação da arquitetura lógica.

A figura 12 ilustra uma versão da arquitetura lógica do projeto UH4SP, constituída

pelos componentes de software restantes após a etapa 2, agrupados empacotes, conforme

definido após a etapa 3 e, com fluxos de informações entre eles, conforme definido nas

associações após a etapa 4.

A arquitetura originou 44 casos de uso que originaram 62 componentes e 7 pacotes.

Os sete pacotes representam os principais processos do UH4SP, nomeadamente:

“Authentication”, “Accounts”, “Work tokens”, “Industrial operations”, “Integrator”,

“Industrial maintenance” e, por último, o “Driver guidance”.

Page 61: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

45

UH

4SP

UH

4SP

{P2

} Acco

un

ts {P

2} A

ccou

nts

{P5

} Inte

grator

{P5

} Inte

grator

{C1

.1.1

.i} Man

age

use

r inte

rface

{C1

.1.1

.d} U

ser

data

{C1

.2.1

.d} P

rofile

s d

ata

{P1

} Au

the

nticatio

n{P

1} A

uth

en

tication

{C1

.3.1

.i} Use

r au

the

nticatio

n

inte

rface

{C1.3

.2.i} R

ec

ov

er

ac

co

un

t inte

rfac

e

{C1

.3.2

.c} Re

cove

r acco

un

t pro

cesso

r

{C1

.4.1

.d} B

usin

ess

grou

ps d

ata

{C1

.4.1

.i} Man

age

bu

sine

ss grou

ps

inte

rface

{C1

.4.2

.d}

Co

mp

anie

s data

{C1

.4.2

.i} Man

age

com

pan

ies in

terface

{C1

.5.1

.i} Man

age

toke

ns in

terface

{C1

.5.1

.d} To

ken

s d

ata

{C2

.2.i} Sch

ed

ule

in

terve

ntio

ns

inte

rface

{C3

.1.1

.c} Drive

r gu

idan

ce p

roce

ssor

{C3

.1.2

.i} Pe

rform

ch

eck-o

ut in

terface

{C3

.1.1

.i} Pe

rform

ch

eck-in

inte

rface

{C3

.1.3

.i} Acce

ss syste

m in

form

ation

in

terface

{C3

.1.4

.i} C

om

mu

nicate

via vo

ice

inte

rface

{C3

.2.1

.d} M

aps

data

{C3

.2.2

.d} M

ap

rou

tes d

ata

{C3

.2.3

.d} Eve

nts

data

{C3

.2.1

c} Drive

r gu

idan

ce b

ackoffice

p

roce

ssor

{C3

.2.1

.i} M

anage

map

s in

terface

{C3

.2.2

.i} M

anage

map

ro

ute

s in

terface

{C3

.2.3

.i} Man

age

eve

nts in

terface

{C4

.2.1

.i} Ab

ort

op

eratio

ns in

terface

{C4

.2.2

.i} Co

nsu

lt o

pe

ration

s inte

rface

{C4

.2.4

.1.d

} Se

nso

rs in

tegratio

n d

ata

{C4

.2.4

.1.c}

Sen

sors in

tegrato

r

{C4

.2.4

.2.c}

Mo

bile

de

vices

inte

grator

{C4

.2.4

.2.d

} M

ob

ile d

evice

s in

tegratio

n d

ata

{C4

.2.4

.3.d

} Syste

ms

inte

gration

data

{C4

.2.4

.3.c}

System

s inte

grator

{C4

.2.3

.d}

No

tification

s data

{C4

.2.3

.i} N

otificatio

ns

inte

rface

{C4

.2.5

.1.i} R

egiste

r o

pe

ration

s inte

rface

{C4

.2.5

.1.c}

Op

eratio

ns

pro

cesso

r

{C4

.2.5

.1.d

} O

pe

ration

s data

{C1

.2.1

.i} C

on

figure

use

rs p

rofile

inte

rface

{C2

.5.i} G

en

erate

service

te

mp

lates in

terface

{C2

.5.d

} Service

s te

mp

late d

ata

{C2

.1.i} V

erify

inte

rven

tion

or

main

ten

ance

ne

ed

s in

terface

{C2

.1.d

} In

terve

ntio

ns an

d

main

ten

ance

data

{C2

.4.d

} Use

rs train

ing d

ata

{C2

.4.i} U

sers

trainin

g inte

rface

{C4

.1.3

.c} Bu

sine

ss n

otificatio

ns p

roce

ssor

{C4

.1.3

.d}

Bu

sine

ss n

otificatio

ns d

ata

{C4

.1.3

.i} Pe

rform

b

usin

ess n

otificatio

ns

inte

rface

{C4

.1.2

.i} Info

rmatio

n

access co

nfigu

ration

in

terface

{C4

.1.2

.c} In

form

ation

access

con

figuratio

n

pro

cesso

r

{C4

.1.2

.d}

Info

rmatio

n acce

ss co

nfigu

ration

s{C

4.1

.1.i} C

on

sults

info

rmatio

n in

terface

in

terface0

{P3

} Wo

rk Toke

ns

{P3

} Wo

rk Toke

ns

{P4

} Ind

ustrial o

pe

ration

s{P

4} In

du

strial op

eratio

ns

{P7

} Drive

r guid

ance

{P7

} Drive

r guid

ance

{P6

} Ind

ustrial m

ainte

nan

ce{P

6} In

du

strial main

ten

ance

{C1

.4.2

.4.d

} Facto

ries d

ata

{C1

.4.2

.4.i} M

anage

facto

ries in

terface

{C1

.4.2

.5.d

} Entitie

s d

ata{C

1.4

.2.5

.i} Man

age

en

tities in

terface

{C2

.3.i} P

erfo

rm

inte

rven

tion

s inte

rface

{C4

.2.3

.c} N

otificatio

ns

pro

cesso

r

{C1

.1.1

.c} Man

age

use

r pro

cesso

r

{C1

.4.1

.c} M

anage

b

usin

ess gro

up

s in

terface

{C1

.4.2

.c} M

anage

co

mp

anie

s p

roce

ssor

{C1

.2.1

.c} Pro

files

pro

cesso

r

Figu

ra 1

2 - A

rqu

itetura

lóg

ica U

H4

SP

Page 62: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

46

O pacote “Authentication” permite ao utilizador aceder à plataforma UH4SP de forma

segura, garantindo assim a sua identidade, bem como fazer a recuperação ou a alteração das

suas credenciais.

O pacote “Accounts” executa um conjunto de funcionalidades relacionadas com a

configuração de contas e perfis utilizadores, assim como a gestão dos stakeholders.

O pacote seguinte, “Work tokens”, diz respeito à gestão dos tokens, onde se realizam

vários cenários como por exemplo o check-in remoto. Entenda-se por work token uma espécie

de cartão virtual com a identificação do motorista, camião e trabalho que irá realizar numa

determinada fábrica.

No “Industrial operations” estão incluídos os componentes de software relativos aos

requisitos de operações industriais, ou seja, realizam-se as operações logísticas da unidade

industrial, tais como, carga/ descarga, confirmação de entregas e outras notificações, fornecer

informações sobre motoristas e camiões na fábrica, entre outros.

O pacote “Integrator” relaciona-se com todos os componentes relacionados à

integração de sistemas entre os serviços e as fábricas. Este pacote é composto principalmente

por componentes de controlo que integram os diversos sistemas de informação, sensores e

dispositivos móveis com serviços e interfaces.

No que concerne à gestão da plataforma recai no pacote “Industrial maintenance”,

que contém os requisitos relativos à monitorização e manutenção das fábricas,

designadamente a manutenção das máquinas que dão origem à informação que é

posteriormente consumida pela plataforma. Apesar de ser um requisito levantado com o

cliente no âmbito do projeto UH4SP, desde o início ficou definido que esta seria uma solução

independente da plataforma cloud, o que se ilustra pela falta de associações com os restantes

pacotes.

Por fim, o “Driver guidance”, é formado por componentes relacionados a uma

aplicação móvel que permitirá aos motoristas executar uma série de funcionalidades, sendo

elas: a execução do pré check-in e check-out remotamente, o acesso a mapas com as melhores

rotas dentro de uma determinada fábrica e a comunicação via voz com a fábrica. Para além

disso, disponibilizará várias funcionalidades de backoffice de gestão de rotas, mapas e gestão

de eventos.

Page 63: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

47

As associações identificadas na etapa 4 do 4SRS são representadas na arquitetura pelas

conexões entre os componentes de software. Por questões de legibilidade, as associações

diretas estão retratadas em linhas retas e as associações de diagramas de casos de uso em

linhas tracejadas.

Como referido anteriormente, um dos propósitos da arquitetura lógica é suportar os

requisitos funcionais do sistema, devendo garantir-se que a arquitetura lógica derivada esteja

alinhada com as necessidades específicas do domínio. A execução do método 4SRS fornece o

alinhamento da arquitetura com os requisitos do cliente, no entanto, é necessário validar se

o comportamento da arquitetura lógica é o esperado. Após a modelação da arquitetura lógica,

para analisar o fluxo de processo sequencial dos componentes de software – apresentados na

figura 12 – foram elaborados diagramas de sequência. Estes dizem respeito aos principais

processos do UH4SP e são modelados ao nível do sistema, uma vez que se relacionam com a

troca de informações entre os atores e os componentes lógicos. No Anexo VII é possível

consultar mais diagramas de sequência.

3.4.1 Diagrama de Sequência: Autenticação

A figura 13 aborda o cenário de autenticação realizada por um utilizador.

Através deste cenário é possível depreender que um utilizador está a aceder à

plataforma e a efetuar o login, inserindo o seu username e a password. O uso da

funcionalidade de login invoca o método “getauthentication” na interface que permite

{S1.3} Perform authentication

{C1.3.1.i} User authentication

interface User

{C1.1.1.d} User data

Perform authentication (username and password)

Authentication successfully

GetAuthentication (username, password)

Authentication web token

Figura 13 - Diagrama de sequência do cenário de autenticação, em notação UML

Page 64: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

48

verificar se o utilizador existe com aquele username e password. Depois da validação dos

dados é retornado um web token à interface validando o acesso à plataforma, após isso é

mostrada uma mensagem de sucesso ao utilizador informando-o que já está autenticado e

apto para aceder à plataforma. No caso negativo, que é o do utilizador não existir na base de

dados ou algum dos campos de autenticação estar errado é despoletada uma mensagem

negativa ao utilizador final, como por exemplo, “Username errado”, “Password errada”,

“Autenticação não efetuada”.

3.4.2 Diagrama de Sequência: Gestão de Utilizadores

O diagrama de sequência representado na figura 14 apresenta o cenário da criação de

um gerente corporativo pelo administrador de sistemas.

{S1.1.1} Manage users

{C1.1.1.i} Manage user interface

{C1.4.1.c} Manage business groups

processor

{C1.4.1.c} Manage business groups

processor

{C1.1.1.d} Manage user

processor

Consult group

Insert data (name, email, NIF, phone, role and

user association)

Associate group

Insert email

System Administrator

Consult group

{C1.2.1.c} Profiles processor

{C1.2.1.c} Profiles processor

{C1.1.1.d} User data

{C1.1.1.d} User data

Get_groupList()

ListList

List

Consult profileConsult profile

Get_profileList()

ListList

List

Create user Create user (Name, description, NIF, contact)

Verify if user already exists?

Generate user (cod_user)

Generate randomPass (password)

Create user (cod_user, NIF, description, contact)

Created userCreated userCreated user

Associate profile

Figura 14 - Diagrama de sequência do cenário de gestão de utilizadores, em notação UML

Page 65: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

49

Este diagrama diz respeito apenas ao cenário de sucesso. Inicia quando o

administrador de sistemas procede ao registo de um novo gestor corporativo introduzindo

alguns dados necessários, tais como, nome, NIF, email, contacto, entre outros dados

necessários. No processo de criação de um gestor corporativo será necessário associar o grupo

a que pertence (neste caso que gere) e associar o respetivo perfil de gestor colaborativo. No

caso de os dados introduzidos já existirem ou outro erro for detetado pelo sistema, aparece

uma mensagem negativa, tal como: “O gestor corporativo introduzido já existe”, “NIF

inválido”, “Nome inválido”, “Email inválido”, “Contacto inválido”, entre outras. Quando essas

mensagens aparecerem, no caso de o gerente corporativo já existir, o administrador de

sistemas não precisa de criá-lo novamente. Ou então, se uma mensagem de erro surge e está

relacionada a qualquer um dos campos a preencher, o utilizador terá que corrigir o que está

errado. Em caso de sucesso, é criado o gerente corporativo e uma password aleatória que será

entregue por email.

3.5 Conclusão

Este capítulo teve como objetivo expor uma visão relacionada com as boas práticas

aquando a conceção de arquiteturas lógicas num projeto de grandes dimensões.

De forma a contextualizar, iniciou-se com uma explicação do caso de demonstração

real, onde foram apresentados os principais objetivos e as entidades envolvidas.

Para fornecer uma perspetiva do processo de execução do negócio seguiu-se com a

identificação das funcionalidades do sistema que, por conseguinte, originaram 33 diagramas

de casos de uso, facultando uma visão geral de como o sistema irá interagir.

Consecutivamente, a técnica 4SRS foi alvo de demonstração, onde foi explicado passo a passo

o procedimento da mesma, de modo a refinar cada “caso de uso folha” segmentando-os em

três categorias (controlo, dados e interface), caso fosse adequado. Esta técnica permitiu

assim, prosseguir para o passo seguinte, ou seja, derivou-se a arquitetura lógica baseada em

modelos de requisitos. Da arquitetura lógica resultaram 7 pacotes e 62 componentes que

representam os principais processos do sistema. Por fim, de modo a certificar o

comportamento das interações na arquitetura foram elaborados diagramas de sequência.

Page 66: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

50

Page 67: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

51

4. CASO DE DEMONSTRAÇÃO: APLICAÇÃO DE MODELOS DE REFERÊNCIA

4.1 Introdução

Em tempos de transformação digital é cada vez mais notório o interesse das

organizações na adoção do paradigma cloud computing e da indústria 4.0. Para o primeiro, há

a redução de custos, a escalabilidade, as atualizações automáticas, a facilidade de acesso, a

fiabilidade e o acesso a melhores recursos tecnológicos. Por outro, existe a redução de custos,

mas também, a redução de um esforço na conceção inicial da arquitetura do sistema a

desenvolver, devido à reutilização de componentes e padrões comuns. Está também incluída

a adoção de tecnologias já existentes de modo a potenciar a interoperabilidade com sistemas

de software, uma vez que a aplicação do RAMI 4.0 cobre normalmente vários domínios

industriais.

De maneira a tornar mais percetível cada passo deste capítulo foi elaborado um

esquema pictórico. Pretende-se assim, avaliar a conformidade da arquitetura lógica, segundo

o modelo NIST CCRA, de modo a assegurar a conformidade da arquitetura num ambiente de

cloud computing, apresentando o detalhe de cada passo na figura 15 (a – c) com os respetivos

diagramas de sequência – figura 15 (e). É um facto que estas arquiteturas cloud são

desenvolvidas fortemente em abordagens Service-oriented Architecture – SOA. Por essa razão,

para complementar esta arquitetura, é demonstrada uma abordagem de modelação da

arquitetura lógica de serviços, tendo por base um refinamento da arquitetura lógica cloud

existente – figura 15 (f - h).

Page 68: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

52

Estes artefactos são depois enquadrados no ambiente industrial, onde a aplicabilidade

no paradigma indústria 4.0, bem como a utilização de normas e referenciais, como o RAMI

4.0, são discutidos. Nomeadamente, pretende-se tirar partido do modelo unificado e

hierárquico de todos os componentes da indústria 4.0 presentes na cadeia de valor,

enquadrando-os nas camadas de “Business”, “Functional”, “Information”, “Communication”,

“Integration” e, por último, “Assets”.

4.2 Conformidade da Arquitetura para Contextos Cloud Computing

A arquitetura lógica representa os componentes derivados a partir das necessidades

levantadas pelos clientes. Assim, estas necessidades, tipicamente apenas refletem os

processos necessários para o negócio, e nem sempre têm em conta necessidades técnicas

para uma solução concebida para este contexto de forma adequada. Propõe-se então um

mapeamento comparativamente a modelos de referência, como forma de garantir a

completude do diagrama arquitetural.

Dado que se trata de um ambiente que atua num contexto de cloud computing, torna-

se necessário garantir a conformidade da arquitetura, onde é necessário considerar dois

fatores em simultâneo: os requisitos do sistema e as necessidades da cloud. Com o intuito de

suportar o sistema com um modelo de referência, decidiu-se aplicar o referencial NIST CCRA,

dado que abrange um conjunto de camadas e subcamadas necessárias na definição de

Logical architecture (microservices)

Use Case Model

Refined Use Case Model

Logical architecture

4SRS Tabular Tranformations for SoaML

U1.1 {C1.1i}

U1.2{C1.1d}{C1.2d}{C1.2c}

NISTLayer Sublayer Component

(Software) 4SRS

{U1.1} {C1.1i}

{U1.2}

{C1.1d}

{C1.2d}

{C1.2c}

a

bc

d

ef

g

B-type sequence

h

Figura 15 - Processo de desenvolvimento do capítulo 4 (adaptado de [59])

Page 69: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

53

requisitos relacionados à cloud e, consequentemente, na conceção da arquitetura cloud

computing.

Como tal, nesta secção pretende-se descrever a técnica de mapeamento dos

componentes lógicos elaborados no capítulo anterior a modelos de referência de cloud

computing, neste caso o modelo NIST CCRA.

Com suporte do modelo de referência, ilustrado na figura 16, será possível definir os

requisitos nos casos de uso do sistema. Para o efeito, será construída uma tabela que inicia a

análise com o mapeamento do componente para uma camada sugerida no modelo NIST, ou

seja, são cruzadas as descrições de cada componente do sistema com as descrições de cada

componente do referencial NIST, assegurando que a plataforma respeita os padrões atuais

relativos ao cloud computing [58].

Page 70: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

54

O modelo de fornecimento da cloud neste projeto está suportado num SaaS, que, de

acordo com o NIST o fornecedor da cloud implementa, configura, mantém e atualiza. Sendo

que o foco está na portabilidade de dados tornando-se essencial executar extrações de dados

e backups num formato padrão.

CloudConsumer

CloudAuditor

SecurityAudit

Privacy ImpactAudit

PerformanceAudit

Cloud Provider

Service Orchestration

Service Layer

Resource Abstraction andControl Layer

Physical Resource Layer

Hardware

Facility

Cloud ServiceManagement

BusinessSupport

Provisioning/ Configuration

Portability/ Interoperability

Secu

rity

Pri

vacy

CloudBroker

ServiceIntermediation

Service Aggregation

ServiceArbitrage

Cloud Carrier

IaaS

PaaS

SaaS

Cloud Service Management

Business Support

Customer Mgmt

Contract Mgmt

Inventory Mgmt

Accounting & Billing

Reporting & Auditing

Pricing & Rating

Provisioning/ Configuration

Rapid Provisioning

Resource Change

Monitoring & Reporting

Metering

SLA Management

Portability/ Interoperability

Data Portability

Copy Data To-From

Bulk Data Transfer

Service Interoperability

Unified Management Interface

System Portability

VM Images Migration

Application/Svc Migration

Figura 16 - Referencial NIST CCRA

Page 71: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

55

Por questões de representação, a tabela 5 ilustra a versão simplificada do

mapeamento dos componentes do referencial NIST com os componentes lógicos do sistema

(encontrando-se a versão completa no Anexo V).

Tabela 5 - Mapeamento entre os componentes do sistema

Layer Sublayer Component

Clo

ud

Ser

vice

Man

age

me

nt

Business Support

Customer Management

{U1.1.1.d} User data {C1.2.1.i} Configure users profile interface {C1.4.2.d} Companies data

Contract Management

Inventory Management

{C2.1.d} Intervention and maintenance {C2.1.i} Verify intervention or maintenance {C3.2.1.c} Driver guidance back office

Provisioning/ Configuration

Metering {C5.3.c} Measure services utilization

{C5.3.d} Measured values data

{C5.3.i} Measured values interface

Security

Privacy

{C1.1.1.d} User data

{C1.1.1.i} Manage user interface

{C1.2.1.d} Profiles data

{C1.2.1.i} Configure users profile

interface

Como se verifica, a primeira coluna é preenchida com base na análise feita das

características dos componentes do referencial NIST com as características dos componentes

lógicos do sistema, o que permite identificar o componente que mais se adequa entre eles,

por exemplo: “Cloud Service Management”, “Service Layer”, “Security”, “Privacy”, entre

outros.

Na segunda coluna disponibiliza-se a subcamada, ou seja, conforme o componente

nomeado e o conjunto de serviços por ele disponibilizados identifica-se o mais adequado,

como por exemplo: “Customer Management”, “Contract Management”, “Rapid Provisioning”,

Page 72: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

56

“Resource Change”, “Data Portability”, “Service Interoperability”, entre outros. Por último, na

terceira coluna, é inserido o componente compatível com os passos anteriores.

Para exemplificar, utilizou-se a camada “Cloud Service Management” que se apresenta

para endereçar as questões relacionadas ao negócio com clientes e aos processos de suporte,

que por sua vez inclui a subcamada “Business Support”. Esta camada realiza a gestão de contas

de clientes, perfis de utilizadores, resoluções de problemas que possam surgir aos clientes,

entre outros. A partir daí, através da análise das descrições de cada componente (realizadas

no 4SRS) é atribuído o componente lógico, e assim sucessivamente.

O mapeamento entre as características dos componentes do modelo de referência

NIST CCRA e as características dos componentes lógicos do sistema da tabela do Anexo V

apresenta algumas lacunas na arquitetura lógica, em relação às camadas do modelo NIST. No

entanto, estas falhas permitem identificar requisitos em falta para que a solução suporte

adequadamente os contextos cloud computing. Assim, são sugeridos novos requisitos, aos

quais são criados, adicionados ou modificados nos diagramas de casos de uso existentes, para

posterior inclusão dos mesmos numa nova execução do 4SRS. Segue-se abaixo as descrições

dos novos requisitos.

“Security and Privacy”: tal como defendido no referencial NIST a segurança e a

privacidade são fatores transversais da arquitetura que abrangem todas as camadas do

referencial.

“Manage bacukps”: permite ao administrador do sistema gerir backups que garantam

a segurança dos dados e a recuperação de desastres. Esta gestão inclui periodicidade de

cópias, seleção de arquivos/ pastas para copiar. Estes, devem seguir um formato padrão que

assegure a portabilidade correta dos dados (por exemplo, para a comunicação com várias

clouds) e a sua restauração.

“Configure data access control”: possibilita o administrador do sistema e os

consumidores da cloud configurar o controlo do acesso a dados. O administrador do sistema

define o acesso aos serviços dos utilizadores, consoante a licença do utilizador. Outros

exemplos de configurações de controlo de acesso a dados são a sincronização de credenciais

de utilizadores entre as organizações e a cloud, partilha de acesso a dados, entre outros.

Page 73: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

57

“Monitor activities”: capacita o administrador de sistemas de monitorizar atividades e

auditorias que permitam verificar e tratar de possíveis ameaças no sistema.

“Generate cloud services reports”: permite ao administrador do sistema gerar

relatórios de desempenho dos serviços cloud que são monitorizados. Estes podem incluir

dados sobre a utilização e a medição de serviços e das atividades monitorizadas.

“Define SLA”: esta nova funcionalidade inclui a definição de contrato de Service Level

Agreement – SLA – entre o administrador do sistema e os consumidores da cloud. Um

esquema básico com a qualidade dos parâmetros de serviço, monitorização e execução de

SLA de acordo com as políticas definidas).

“Synchronize data”: este requisito diz respeito à sincronização de dados na unidade

industrial, independentemente das tecnologias utilizadas pelos diferentes stakeholders. A

sincronização garante a interoperabilidade que permite a tecnologia aberta de dados –

embora o acesso a dados seja restrito aos negócios – e possibilita a fácil migração e integração

de dados entre os diferentes fornecedores de serviços da cloud. Essa sincronização

disponibiliza também todos os dados dos registados nos sistemas e nos serviços de consultoria

disponíveis para os stakeholders.

De um modo sucinto, após se verificarem estas lacunas na arquitetura lógica, os

modelos de casos de uso foram reestruturados e outros criados, encontrando-se a versão

completa, com a respetiva descrição no Anexo III, procedendo-se assim a uma nova execução

do método 4SRS, apresentada no Anexo IV.

Após a execução do método 4SRS, foi elaborado um novo mapeamento dos

componentes do referencial NIST com os componentes lógicos do sistema, de maneira a suprir

as lacunas anteriormente encontradas. Como resultado desse mapeamento, a figura 17,

apresenta o numerário de cada componente obtido no método 4SRS na camada e subcamada

do referencial NIST que mais se adequa.

Page 74: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

58

A figura 17 representa assim a conformidade entre todos os componentes sugeridos

pelo referencial NIST com os componentes lógicos do sistema, de modo a garantir uma

arquitetura baseada num contexto cloud computing.

Tendo em consideração todos os requisitos modelados, refinados e validados, após o

mapeamento dos componentes lógicos do sistema com os componentes do referencial NIST

CCRA e após uma nova execução da técnica 4SRS procede-se assim à derivação da arquitetura

lógica num ambiente cloud.

No final, a arquitetura deu origem a 77 casos de uso, 8 pacotes (sendo que um deles

se encontra dividido em 4 subpacotes) e por último, 119 componentes. Por questões de

representação e de legibilidade, a figura 18 ilustra a versão simplificada da arquitetura lógica

onde se demonstram apenas os pacotes e subpacotes com as respetivas ligações entre eles.

Desta vez a arquitetura apresenta maior detalhe nos requisitos e especificações, dado que

está suportada num contexto cloud computing.

UH4SP services sublayer

Services orchestration

Security

Privacy

SaaS

{C1.1.1.i}

{C1.5.1.d}

{C2.4.d}

{C1.5.1.i}

{C3.1.1.i} {C2.4.i}{C3.1.1.c}

{C3.1.3.i} {C3.1.2.i}{C3.1.4.i}

{C4.1.1.i}

{C4.1.2.c}

{C4.1.2.d} {C4.1.2.i}

{C4.2.1.i} {C4.2.2.i}

{C4.2.5.1.i}

{C6.1.c} {C6.1.d}

{C6.2.i}

{C6.3.d}

{C6.1.i}

{C6.3.c}

{C6.3.i}

{C6.2.d}

{C1.1.1.d} {C1.2.1.d}

UH4SP cloud platform service management

Business Support Portability/ Interoperability Provisioning/ Configuration

Customer Management

{C1.2.1.d}{C1.1.1.d}

{C1.4.1.d} {C1.4.1.d}

{C1.4.1.i}

{C1.4.2.d}

{C1.4.2.i}

{C1.4.3.d} {C1.4.3.i} {C1.4.4.d}

{C1.4.4.i} {C1.4.5.i}

Contract Management

{C5.5.d} {C5.5.i}

Inventory Management

{C2.1.d} {C2.1.i} {C3.2.1.c}

{C3.2.1.d}

{C5.1.1.d}

{C5.1.1.c}

{C5.1.1.i}

{C4.1.1.i}

{C3.2.1.i}

Reporting & Auditing

{C4.2.3.c} {C4.2.3.d}{C4.2.3.i}

{C4.1.3.d} {C4.1.3.c}

{C2.3.i}

{C4.1.3.i}

{C5.2.i}{C5.2.c} {C5.2.d}

Rapid Provisioning

{C42.4.1.c} {C4.2.4.1.d}

{C4.2.4.2.c} {C4.2.4.2.d}

{C5.1.1.c}

{C4.2.4.3.d}

{C5.1.1.i}

{C4.2.4.3.c}

{C5.1.1.d}

Monitoring & Reporting

{C4.2.1.i} {C4.2.2.i}

{C4.2.3.d}

{C4.2.3.c}

{C5.2.i}

{C4.2.3.i}

{C5.2.c} {C5.2.d}

Metering

{C5.3.c}

{C5.3.i}

{C5.3.d}

SLA Management

{C5.5.d} {C5.5.i}

Copy Data To-From

{C4.2.4.1.c}

{C4.2.4.2.d}

{C4.2.4.1.d}

{C4.2.4.3.c}

{C4.2.c}

{C4.2.4.2.c}

{C4.2.4.3.d}{C4.2.d}

Bulk Data Transfer

{C4.2.4.1.c}

{C4.2.4.2.d}

{C4.2.4.1.d}

{C4.2.4.3.c}

{C4.2.c}

{C4.2.4.2.c}

{C4.2.4.3.d}{C4.2.d}

Application/ Svc Migration

{C4.2.4.1.c}

{C4.2.4.2.d}

{C4.2.4.1.d}

{C4.2.4.3.c}

{C4.2.4.2.c} {C4.2.4.3.d}

Unified Management Interface

{C4.2.5.1.c} {C4.2.5.1.d}

Figura 17 - Mapeamento dos componentes UH4SP num ambiente cloud computing

Page 75: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

59

UH

4SP

UH

4SP

{P1

} Au

the

nticatio

n{P

1} A

uth

en

tication

{P8

} Bu

sine

ss Platfo

rm

Man

agem

en

t

{P8

} Bu

sine

ss Platfo

rm

Man

agem

en

t

{P2

} Acco

un

ts {P

2} A

ccou

nts

{P6

} Ind

ustrial M

ainte

nan

ce

{P6

} Ind

ustrial M

ainte

nan

ce

{P4

} Ind

ustrial U

nits M

anage

me

nt

{P4

} Ind

ustrial U

nits M

anage

me

nt

{P7

}Service

s{P

7}Se

rvices

{P3

} Bu

sine

ss M

anage

me

nt

{P3

} Bu

sine

ss M

anage

me

nt

{P5

} Inte

grator

{P5

} Inte

grator

{P9

} Drive

r Gu

idan

ce{P

9} D

river G

uid

ance

{SP4

.1} M

on

itorin

g Se

rvice

{SP4

.1} M

on

itorin

g Se

rvice

{SP4

.2} C

on

figuratio

n Se

rvice{SP

4.2

} Co

nfigu

ration

Service

{SP4

.4} A

ssistance

Se

rvice

{SP4

.4} A

ssistance

Se

rvice

{SP4

.3} C

olab

oratio

n Se

rvice{SP

4.3

} Co

labo

ration

Service

Figu

ra 1

8 - R

epresen

taçã

o d

os p

acka

ges d

a a

rqu

itetura

clou

d co

mp

utin

g

Page 76: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

60

Como observado na figura 18 está representado o pacote {P1} Authentication que

permite ao utilizador aceder à plataforma UH4SP de forma segura, garantindo assim a sua

identidade e efetuar, caso seja necessário, a recuperação ou a alteração das suas credenciais.

Permite também configurar aplicações, tornando viável criar, atualizar, consultar, desativar e

autenticar-se. Por fim, foi criada uma interface de programação do aplicativo – Application

Programming Interface (API), de modo a definir uma interface entre serviços e aplicações com

o serviço. Este pacote encontra-se ligado aos pacotes {P4} Industrial Units Managements e ao

{P8} Business Platform Management.

O pacote {P2} Accounts engloba as funcionalidades relacionadas com a configuração

de contas e perfis, assim como a gestão dos stakeholders, nomeadamente: grupos de negócio,

companhias, fábricas e entidades. Foi também criada uma API que define a interface entre

serviços e aplicações com o serviço de autorização. Este pacote está ligado aos pacotes {P3}

Business Management, {P4} Industrial Units Managements, {P7} Services e {P8} Business

Platform Management.

No pacote {P3} Business Management realizam-se vários cenários, como a gestão de

work tokens, em que é possível validar solicitações do mesmo, associar a uma entidade ou

fábrica, solicitar e atribuir. Também é possível gerir a formação aos utilizadores, por exemplo,

quando algo novo é introduzido no sistema, é necessário providenciar ao utilizar um programa

de treino para que o sistema seja manipulado de forma correta. A gestão de relatórios com o

intuito de implementar e testar rapidamente os sistemas e a gestão de camiões e reboques,

onde se pode realizar operações como criar, alterar, desativar, consultar e associar reboques

(no caso da gestão do camião). Aqui, também estão representados os recursos relacionados

a uma determinada atividade de negócios da unidade de produção com os respetivos perfis e

configurações de acesso às informações. Criou-se uma API que define a interface entre

serviços e aplicações com o serviço dos stakeholders. Neste caso, o pacote está ligado aos

pacotes {P2} Accounts e {P7} Services.

O quarto pacote, denominado de {P4} Industrial Units Managements, está dividido por

quatro pacotes, sendo eles: {SP4.1} Monitoring Services, {SP4.2} Configuration Service, {SP4.3}

Collaboration Service e {SP4.4} Assistance Service. O primeiro subpacote foi criado com o

intuito de gerir os equipamentos, consultar os processos do sistema, como as interfaces e

poder consultar o estado da fábrica, tal como – visualizar uma fábrica e um conjunto de

Page 77: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

61

operações. No segundo subpacote encontram-se as necessidades de gerir registos que

permitem criar, consultar, atualizar ou desativar um determinado registo e configurar tarefas,

como forçar um determinado processo a avançar caso ocorra algum problema. No terceiro

subpacote é possível consultar os indicadores operacionais, como tempos de espera/

operações e desvios por veículo, consultar as operações do sistema e receber notificações

gerais. Por último, o quarto subpacote, é onde são registadas as necessidades de intervenções

e a sua programação. Encontra-se ligado aos pacotes {P1} Authentication e {P2} Accounts.

No pacote {P5} Integrator estão incluídos os componentes de software relacionados à

integração do sistema, principalmente pelos que integram os diversos sistemas de

informação, sensores e dispositivos móveis com serviços, interfaces e os componentes

relativos à interoperabilidade e portabilidade da cloud. Esta pacote está ligado aos {P4}

Industrial Units Management, {P7} Services e ao {P9} Driver Guidance.

O sétimo pacote {P7} Services é constituído por componentes que gerem a instalação

de serviços na cloud e pelos que primem pela gestão da segurança e da privacidade do sistema

que incluem a gestão de backups e a configuração do controlo de acesso a dados. Este pacote

está ligado aos pacotes {P2} Accounts, {P3} Business Management, {P5} Integrator, {P6}

Industrial Maintenance e {P8} Business Platform Management.

O pacote {P8} Business Platform Management foi implementado devido à nova

funcionalidade sugerida pelo NIST que reflete os componentes relacionados com a gestão do

contrato entre o administrador de sistemas e o consumidor da cloud. Encontra-se ligado aos

pacotes {P1} Authentication, {P2} Accounts e ao {P7} Services.

O nono pacote {P9} Driver Guidance é formado por componentes relacionados a uma

aplicação móvel que permitirá aos motoristas executar uma série de funcionalidades, sendo

elas: a execução do pré check-in e check-out remotamente, o acesso a mapas com as melhores

rotas dentro de uma determinada fábrica e a comunicação via voz com a fábrica. Para além

disso, disponibilizará várias funcionalidades de backoffice de gestão de rotas, mapas e gestão

de eventos. Encontra-se ligado aos pacotes {P2} Accounts e {P5} Integrator.

É de ressalvar que a versão completa da arquitetura com os respetivos componentes

que a constituem e as interações entre si, apresenta-se no Anexo VI e que para uma descrição

Page 78: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

62

mais detalhada de cada componente encontra-se no Anexo IV, na tabela do método 4SRS na

coluna 6.

Importa ainda referir que o pacote {P6} Industrial Maintenance apesar de ser um

requisito levantado com o cliente no âmbito do projeto UH4SP, desde o início ficou definido

que esta seria uma solução independente da plataforma cloud, o que se ilustra pela falta de

associações com os restantes pacotes. Este pacote contém os requisitos relativos à

monitorização e manutenção das fábricas, designadamente a manutenção das máquinas que

dão origem à informação que é posteriormente consumida pela plataforma.

De modo a validar o comportamento da arquitetura, de seguida, na figura 19,

apresenta-se o diagrama de sequência respetivo ao cenário da instalação de um serviço cloud,

encontrando-se os restantes no Anexo VII.

Page 79: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

63

Figu

ra 1

9 - Dia

gra

ma

de seq

uên

cia: C

on

figu

raçã

o d

e um

serviço clo

ud

, em n

ota

ção

U

ML

Dep

loy clo

ud

service

Co

nsu

lt user SLA

{S5} C

on

figure

Clo

ud

Service

{C5

.1.1

.i} Install

service

in

terface

{C5

.1.1

.i} Install

service

in

terface

Syste

m

Ad

min

istrator

System

A

dm

inistrato

r

{C1

.8.i} C

on

sult

use

rs SLA

inte

rface

{C1

.8.i} C

on

sult

use

rs SLA

inte

rface

{C5

.1.1

.c} Service

s d

ep

loym

en

t p

roce

ssor

{C5

.1.1

.c} Service

s d

ep

loym

en

t p

roce

ssor

{C5

.1.1

.d}

Service

s data

{C5

.1.1

.d}

Service

s data

{C5

.3.d

} M

easu

red

valu

es d

ata

{C5

.3.d

} M

easu

red

valu

es d

ata

Valid

ate con

tract

Register

new

service

Measu

remen

t started

Co

nfigu

re clou

d service

Install clo

ud

service

Co

nfirm

service in

stalation

Successfu

lly d

eplo

y

Successfu

lly installed

service

Page 80: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

64

Com o propósito de configurar um serviço cloud é necessário o administrador de

sistemas consultar se o utilizador tem um SLA válido. Em caso positivo, o administrador de

sistemas configura um serviço cloud à medida do contratado. De seguida, é feita a

implementação do serviço que é devidamente instalado. Após a configuração, é possível

consultar a utilização dos serviços a qualquer momento. Por último, o administrador de

sistemas recebe uma notificação de que a instalação do serviço foi realizada com sucesso.

Dada a relação entre os paradigmas cloud computing e Service-oriented Architecture

(SOA), será definida uma arquitetura de serviços, descrita na secção seguinte.

4.3 Especificação dos Serviços

Tendo por base a arquitetura lógica de componentes de software, nesta secção irá

definir-se uma abordagem para conceção de arquiteturas lógicas de serviços, desta vez com

o auxílio da notação Service-oriented Architecture Modeling Language (SoaML). Esta

abordagem, baseada em conceitos de refinamento de modelos, permite uma maior

especificação dos serviços, em que será fornecida informação mais rigorosa e detalhada sobre

a implementação dos serviços a serem desenvolvidos. O processo de refinamento dos

componentes lógicos de software para componentes lógicos de serviços encontra-se

representado na figura 20.

Para exemplificar esta abordagem foi escolhido o pacote {P5} “Integrator”, em que

foram aplicadas técnicas de filtragem e colapsagem [59], de modo a permanecerem apenas

os componentes que estão diretamente associados, originando a figura 21.

(Services) 4SRS

U1.1 {C1.1i}

U1.2{C1.1d}{C1.2d}{C1.2c}

Service-oriented Logical Architecture

Refined Use Case Model

Figura 20 - Refinamento dos componentes lógicos de serviços, adaptado de [59]

Page 81: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

65

A transição do diagrama arquitetural lógico do sistema do software para o diagrama

de casos de uso é realizada aplicando as regras definidas em [59]. O componente de entrada

(software) é transformado num caso de uso – serviço – do mesmo tipo. Entenda-se por

entrada o elemento pertencente à partição em análise. Por outro lado, o componente de saída

(software) é transformado num ator, representando um componente de software externo

que interage com o caso de uso de serviço, através de mensagens ou API’s. O diagrama de

casos de uso referente a estes serviços está demonstrado na figura 22.

{P5} Integrator {P5} Integrator

{C3.1.1.c} Driver guidance

processor

{C4.2.1.i} Abort

operations interface

{C4.2.4.2.i} Mobile

devices API

{C4.2.4.3.i} Systems API

{C4.2.5.1.c} Operations processor

{C6.1.d} Backups interface

{C7.2.c} Broker messaging system {C7.2.d} Store

synchronized data

{C4.2.5.1.i} Register

operations interface

{C4.2.4.1.i} Sensors API

{C7.2.i} Broker API

{C7.3.i} Directory

service API

{C7.3.d} Directory

service data

{C7.3.c} Directory

service processor

{C8.2.2.i} Manage records

interface

{C8.1.2.i} Monitor system

operability interface

{C.8.1.1.i2} Monitoring service API

{C8.1.3.i} Consult factory state interface

{C8.2.3.i2} Configuration

service API

{C8.2.1.i2} Assistance service API

{C8.3.1.i2} Collaboration

service API

Figura 21 - Package {P5} "Integrator" (apenas com associações diretas)

Page 82: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

66

Figura 22 - Caso de uso refinado resultante de [2]

Os casos de uso serão então utilizados como entrada para uma execução recursiva do

4SRS, sendo composta pelas mesmas etapas, isto é: “Creation”, “Elimination”, “Packing &

Aggregation” e “Association”, sendo que a diferença, neste ponto, são os requisitos

endereçados que estão relacionados a funcionalidades refinadas. Posto isto, o 4SRS será

utilizado para derivar os componentes de software baseados em casos de uso.

Assim, serão fornecidas diretrizes para a execução do método 4SRS, de forma a obter

o comportamento do serviço em diagramas SoaML, nomeadamente – “Service Participants”,

“Services Contracts”, “Service Architectures” e por fim, “Service Interfaces”.

Os pacotes são transformados em “Service Participants” que são utilizados para definir

os “Service Consumers” e “Service Providers” num sistema, com a possibilidade de ser

independente ou mesmo um serviço/ microserviço.

Os componentes são integrantes do “Service Participant”, sendo a base para a

definição dos métodos que irá executar. Esses métodos são utilizados igualmente para a

{U} Plant Integrator

System

Administrator

{C7.2.c} Broker messaging system

Industrial unit IS

(Cameras, Sensors,

ERP, Mobile devices)

{C7.2.i} Broker API

{C7.3.i} Directory

service API

{C4.2.4.1.i} Sensors API

{C4.2.4.2.c} Mobile devices

integrator

{C4.2.4.1.c} Sensors integrator

{C4.2.4.2.i} Mobile devices API

{C4.2.4.3.i} Systems API

{C4.2.5.1c} Operations processor

{C7.3.c} Directory service processor

{C7.3.d} Directory service data {C3.1.1.c} Driver guidance processor

{C4.2.1.i} Abort operations interface

{C4.2.5.1.i} Register operations interface

{C6.1.d} Backups interface

{C8.1.1.i2} Rmonitoring service API

{C8.2.1.i2} Assistance service API

{C8.3.1.i2} Collaboration service API

{C8.2.3.i2} Configuration service API

Local Manager

Operator

Corporate Manager

Client

Supplier

Forwarder

{C8.1.2.i} Monitor system operability interface

{C8.1.3} Consult factory state interface

{C8.2.2.i} Manage records interface

{C4.2.4.3.c} Systems

integrator

Page 83: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

67

definição de diagramas de “Service Capabilities” que especificam os serviços que um ou mais

“Participants” podem oferecer.

As associações definem as portas do “Service Participant”. Apenas as associações entre

diferentes pacotes são consideradas. Em SoaML, estas ligações são formalmente

representadas segundo “Service Channels”. Tal como definido na especificação dos diagramas

SoaML, as portas são utilizadas igualmente noutros diagramas, nomeadamente – “Service

Architecture”, “Service Choreographies”, “Service Interfaces” e “Service Contracts”.

A definição dos “Service Channels” baseia-se na agregação das ligações entre os

componentes pertencentes a diferentes “Participants”, suportando o comportamento

esperado, por exemplo, para API’s de cada serviço.

Os “Service Contracts” dizem respeito à modelação das interações entre as entidades

de cada serviço. Cada “Service Role” num “Service Contract” possui uma interface que

normalmente representa um fornecedor – “Service Consumer” – que contém as portas

solicitadas ou um consumidor – “Service Provider” – que contém o serviço de portas.

Para completar a funcionalidade de um serviço são utilizados os “Service Interfaces”

que pode ser utilizado como o protocolo para o serviço de portas ou para as portas solicitadas.

Para tal, são utilizadas as seguintes entradas [60]:

• Verbos HTTP: refere-se à especificação API, a ser incluída no ”Participant”

como uma porta de serviço. As portas também são incluídas nos diagramas de

“Service Channels” e finalmente utilizado para definir o microserviço como uma

função de fornecedor em diagramas de “Service Interfaces” e diagramas de

“Service Architectures”;

• Métodos HTTP: lista dos métodos chamados com o intuito de atender à

finalidade dos serviços – incluídos no “Service Participants” e no “Service

Capabilities”;

• Propriedades: atributos de dados relacionados à base de dados do

microserviço, dentro do “Service Participant”;

• Associações: solicitações do serviço para outros “Service Participants” dentro

da arquitetura de microserviços, a serem incluídas como porta de entrada no

Page 84: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

68

“Participant”, as portas também são incluídas nos diagramas de “Service

Channels” e finalmente, utilizadas para definir o microserviço como uma

função de consumidor em diagramas de “Service Interfaces” e “Service

Architectures”.

Cada microserviço identificado na execução do método 4SRS é representado como um

“Service Participant”, sendo que o conjunto compõe a arquitetura de microserviços. As

invocações necessárias para o “Participant”, na figura 23, foram identificadas com base na

descrição do caso de uso, onde as interações com outros casos de uso foram descritas no

Anexo III.

As mesmas interações permitem identificar a necessidade de métodos que chamam

esses serviços e as propriedades (dados) dentro das estruturas. Os recursos de um

determinado serviço são aplicados numa base de dados por serviço. Por outro lado, as

capacidades de serviço incluem representação, bem como os serviços com associação que são

aplicados num cenário de base de dados partilhada.

Um determinado “Service Channels” está relacionado a associações de serviço do 4SRS

que permitem que os serviços consumam ou forneçam serviços. Nos diagramas do SoaML

essas associações fornecem entrada para a “Service Interface” ou “Service Contract” entre

serviços e uma “Service Archtecture” com a definição de serviços fornecidos e consumidos, tal

como representado na figura 24.

<<Participant>>Plant Integrator

Get Plant Data API

«Service»Operations: System integrator

Put Plant Data API

Methods:- ValidateInterop()- ValidatePortab()- InputData()- Acquire_data()

Properties:- plant_id(int)- interop_format(int)- input_msg(varchar)- output_msg(varchar)

<<Capability>>Plant Integrator

Figura 23 - Participant" com portas, interfaces e capacidades (métodos e propriedades)

Page 85: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

69

A “Service Architecture” inclui os outros serviços que são consumidos. Uma das

especificidades dos serviços é que o consumo é realizado expondo a API do microserviço que

está disponível para utilizar em qualquer outro serviço. Esta API é referida no diagrama

“Participant”, que suporta as portas de serviço “Get Plant Data API” e “Put Plant Data API”.

Os restantes serviços representam-se na porta do pedido. O diagrama “Service Interface”,

representado na figura 25, refere-se a uma das interfaces incluídas na “Service Architecture”.

<<ServicesArchitecture>>Plant Integrator

<<Participant>>Operations: Plant

Integrator

<<Microservice API>>System Integrator API<<provider>>

<<ServiceInterface>>System: Get data

<<consumer>>

<<ServiceInterface>>System: Put data

<<consumer>>

<<System>>Plant Integrator: System

Integrator

<<provider>> <<provider>>

Figura 24 - "Service Architecture"

<<Service Interface>>Get Data

Operations: Plant Integrator

Plant Integrator: System Integrator

<<Service Interface>>Put Data

Operations: Plant Integrator

Plant Integrator: System Integrator

System Integrator System Integrator Put DataGet Data

Figura 25 - "Service Interface"

Page 86: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

70

4.4 Discussão da Aplicabilidade da Arquitetura de Serviços Cloud em

Ambientes Industriais e no Contexto da Indústria 4.0

Sendo a indústria 4.0 uma área que se apresenta ainda no início de uma curva de

maturidade, mesmo com a tecnologia disponível, a questão incide na ligação de todos os

pontos e transformar uma cultura de produção, de forma a obter vantagens competitivas num

mundo altamente digital e dinâmico.

A presente secção tem como propósito apresentar a aplicabilidade da arquitetura

cloud e dos serviços em ambientes industriais onde a adoção do paradigma indústria 4.0 se

encontre a decorrer.

Tendo sido explicado o modelo de referência RAMI 4.0 e os conceitos subjacentes

torna-se, então, possível perceber a relação deste com o caso de demonstração do presente

estudo. Na figura 26, pode visualizar-se a interligação entre esses conceitos, onde se

representam uma visão de alto nível da correspondência de cada camada do RAMI 4.0 com

conceitos utilizados pelo caso real.

Page 87: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

71

Como se pode visualizar, a figura acima demonstra as seis camadas definidas pelo eixo

“Layers”, tal como definido pelo RAMI 4.0, permitindo especificar os componentes alicerçais

da infraestrutura deste projeto e, desta forma, representar as diferentes perspetivas

inerentes a cada camada que serão descritas, de acordo com o aumento do nível de abstração

do sistema.

Business

Functional

Information

Communication

Integration

Asset

Topicstorage

Messagestorage

Messagestorage

Client

Supplier 1 Supplier 2

Supplier 3 Supplier 4 Supplier 5

TechnologyTechnology

IT System & Infrastructure

IT System & Infrastructure

ImplementationImplementation

Database management

Database management

TestingTesting

TroubleshootingTroubleshooting

PlanningPlanning

CAMERASCAMERASWEIGHING-BRIDGES WEIGHING-BRIDGES KIOSKSKIOSKS TRAFFIC LIGHTS

TRAFFIC LIGHTS

CONTROL BARRIER

CONTROL BARRIER

INFORMATION PANEL

INFORMATION PANEL

MQTT(Broker)

MQTT(Broker)

PublisherPublisher SubscriberSubscriber

BusinessProcesses

Hierarchy Models:

Figura 26 - Eixo “Layers” do referencial RAMI 4.0 e exemplificação num caso real (como o UH4SP)

Page 88: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

72

Na primeira camada é pretendido evidenciar-se os diferentes bens de hardware e

software associados ao sistema, que abrangendo vários conceitos tecnológicos, acabam por

ditar o valor do sistema, sendo, desta forma, imprescindíveis para o correto funcionamento

do mesmo. Esta abrangência tecnológica encontra-se patente no caso dos processos de

negócio da Cachapuz, dado que este projeto engloba sistemas associados a áreas distintas

que vão desde sensorização RFID a barreiras de controlo e câmaras de reconhecimento.

Prosseguindo para a segunda camada, que não deixa de ser fulcral para o sucesso do

negócio, é a responsável pela interação entre os dispositivos e os serviços que permitem a

configuração e a execução das operações requeridas. É onde se proporciona, neste caso, a

conexão dos componentes físicos locais à internet, através de cloud computing.

Assim sendo, é necessário lidar com protocolos de comunicação e tecnologias estáveis

com o intuito de facilitar e suportar a transmissão de dados que nos conduz à próxima

camada. Aqui foram considerados o protocolo de comunicação industrial OPC Unified

Architecture (UA)14 e o protocolo de mensagens Message Queuing Telemetry Transport

(MQTT)15.

A seguinte camada foca-se na demonstração da informação que o sistema armazena

na base de dados, isto é, de acordo com um modelo de dados definido é possível verificar de

que forma é armazenada a informação disponível no sistema.

No que diz respeito à vertente funcional verifica-se o fornecimento de serviços

necessários para as operações do dia-a-dia da organização. Por exemplo, o protocolo OPC-UA

será utilizado para integrar os sistemas em função do Manufacturing Execution Systems

(MES)16 e do Enterprise Resource Planning (ERP)17.

14 OPC-UA – é um protocolo de comunicação máquina a máquina para automação industrial,

desenvolvido pela fundação OPC. 15 MQTT – é um protocolo de mensagens para sensores e pequenos dispositivos móveis, otimizado para

redes TCP/ IP. 16 MES – são sistemas que se cingem na gestão das atividades de produção que estabelecem uma ligação

entre o planeamento e o chão de fábrica. 17 ERP – sistema de informação que integra dados e processos de uma organização num único sistema.

Page 89: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

73

A última camada incide no maior nível de abstração do sistema, onde serão elaborados

os processos de negócio desde a raiz que auxiliam os modelos de negócio no decorrer do

projeto.

Importa salientar que apenas foram referidos alguns dos componentes associados a

cada uma das camadas mencionadas a título demonstrativo da correspondência entre o eixo

“Layers” do modelo RAMI 4.0 e do projeto UH4SP. Para uma completa perceção destes deverá

ser consultado o referencial.

São apresentados cenários da plataforma UH4SP, bem como os serviços especificados,

que permite demonstrar as várias interações existentes entre as várias camadas acima

apresentadas.

O cenário da figura 27 representa o serviço colaborativo que permite que os vários

stakeholders da plataforma UH4SP tenham acesso a um conjunto de dashboards18 aos quais

eles têm permissões de acesso.

Este serviço tem como interface um portal que permite consultar um conjunto de

visualizações gráficas como, por exemplo, tempos de espera/ operação e desvios por veículo,

produto, local de operação, entre outros. O utilizador acede à plataforma e introduz as

credenciais – username e password – para proceder ao processo de autenticação – camada

“Business”. Após efetuar o Login é despoletado um pedido ao API gateway informando que

um determinado utilizador pretende autenticar. Dado isso o API gateway que funciona como

intermediário, contendo os endpoints de todos os serviços, encaminha o pedido para o serviço

de autenticação que procede à validação dos dados introduzidos. No caminho inverso retorna

um token de acesso (JSON web token)19 que é encriptado pelo API gateway e entregue à

aplicação web, sendo que esta envia uma mensagem ao utilizador final informando-o que já

está autenticado.

Uma vez autenticado, o utilizador pode consultar os dashboards colaborativos – camada

“Business”, dashboards esses que são contruídos com dados provenientes do serviço

colaborativo – camada “Functional”. Como tal, sempre que a aplicação pretende recursos de

outros serviços, neste caso o colaborativo, executa um pedido ao API gateway que

18 Dashboard – gráfico que apresenta um conjunto de informações de um determinado valor. 19 JSON Web Token – padrão da indústria baseado para criar tokens de acesso.

Page 90: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

74

desencripta o JWT e procede ao encaminhamento do pedido para o serviço que contém os

recursos pedidos – camadas “Communication” e “Integration”. Quando recebem os pedidos,

os serviços ainda verificam a validade do JWT recebido, tanto em termos de assinatura, como

– Time To Live (TTL) – camada “Functional”. Num cenário positivo, são retornados os recursos

necessários para a apresentação dos dashboards em formato JSON.

Page 91: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

75

{S1} Collaborative service scenario

Dashboards AppUserAuthentication

serviceCollaborative

service

Stakeholders data JSON

Get_resources (resource_type, JSON (stakeholders data))

Stakeholders data JSON

Create/Refresh dashboard

User see dashboard

Directory service

Auth_user (username, password, app_gid)

Access token JSON

Encrypt JWT token

Decrypt JWT token

Access token JSON

Successful authentication

Access dashboards panel Get_stakeholders (access_token,

id_user)

Get_stakeholders(JWT_token, id_user)

Check JWT token(signature and TTL)

Check JWT token (signature and TTL)

Get_resources(resource_type, JSON(stakeholders data))

Stakeholders data JSON

Stakeholders data JSON

Decrypt JWT token

Login (username, password)

Auth_user (username,npassword, app_gid)

API Gateway/

Figura 27 - Diagrama de sequência do serviço colaborativo, em notação UML

Page 92: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

76

O cenário relativo à entrada do camião em fábrica e atribuição da melhor rota a seguir

dentro das instalações está ilustrado na figura 28.

Neste cenário o motorista já efetuou a autenticação e o processo de pré-check-in. Após

esse processo o motorista/camião fica em lista de espera até receber uma notificação na

interface da aplicação móvel a autorizar o avanço do mesmo. Estas notificações são

suportadas pelo mecanismo de publish/subscribe, onde a aplicação móvel aquando do seu

registo no pré-check-in subscreve todos os eventos relativos aos processos do chão de fábrica,

nomeadamente, o processo de gate-in. Este mecanismo contém três componentes principais,

o produtor de informação (SLV API), o broker e o consumidor da informação – aplicação móvel.

As mensagens trocadas entre estes componentes são organizadas por tópicos. As mensagens

de um tipo específico são definidas como um tópico (por exemplo – tópico operações

logísticas). Uma mensagem é definida como uma carga útil de bytes e um tópico é uma

categoria para o qual as mensagens são publicadas. Um produtor pode ser qualquer

componente que possa publicar mensagens num tópico. As mensagens publicadas são

armazenadas num conjunto de servidores chamados brokers. Um consumidor (aplicação

móvel) pode assinar um ou mais tópicos e consumir as mensagens publicadas, puxando dados

do broker.

Numa situação ideal, após ser notificado para entrar, a aplicação móvel faz um pedido do

circuito da fábrica à SLV API, que encaminhará ao serviço de otimização de rotas. Como o

serviço de otimização de rotas é constituído apenas por pontos físicos e lógicos este

reencaminha a mensagem para o serviço de navegação que contém os circuitos viáveis na

fábrica. Por sua vez, o serviço de navegação retorna com uma matriz de distâncias de todos

os pontos criados. Quando o serviço de otimização de rotas recebe a mensagem seleciona a

rota mais adequada, enviando-a à SLV API. De seguida, a SLV API recebe a rota otimizada e

disponibiliza-a novamente ao serviço de navegação. Este último disponibiliza um mapa da

fábrica com uma rota otimizada traçada.

Page 93: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

77

Message events (gate-in authorization event)

Routes optimization

serviceNavigation

serviceMobile AppDriver

Gate-in and factory route/navigation scenario

SLV API

Subscribe (gateInOp_state) Subscribe

(gateInOp_state)

Message “You are authorized to gate-in”

Publish (gateInOp_state)

Publish (gateInOp_state)

Get_slv_circuit(id_factory, id_w_token, JWT Token)Get_slv_circuit(id_factory, id_w_token, JWT Token)

Get_slv_circuit(id_factory, id_routes, JWT Token)

Return factory distance matrix

Send_matrix (Distance Matrix)

Optimize route

Send_optimizedRoute (MapId)

getRoute(id_factory, id_route)

Navigation data

Broker

Navigation route data

Figura 28 - Diagrama de sequência respetivo à entrada do camião em fábrica

Page 94: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

78

4.5 Conclusão

No presente capítulo foi abordada a temática central daquilo que foi realizado no

decorrer da presente dissertação. Dado que o principal objetivo era construir uma arquitetura

cloud computing começou-se por mapear os componentes lógicos do sistema – resultantes

do capítulo anterior – com os componentes do referencial NIST CCRA, de maneira a garantir

que a arquitetura possuía os requisitos do sistema e as necessidades cloud para proceder à

sua derivação. No entanto, no final do mapeamento verificaram-se algumas lacunas em certas

camadas do referencial, o que originou a criação de novos modelos de casos de uso e

determinadas alterações nos diagramas de casos de uso existentes. Perante este cenário

tornou-se necessário recorrer, novamente, ao método 4SRS e, por conseguinte, a um novo

mapeamento ente os componentes.

Como resultado das atividades anteriores, isto é, tendo em conta todos os requisitos

modelados, refinados e validados, procedeu-se assim, à derivação da arquitetura lógica, que

deu origem a 72 casos de uso, 8 pacotes e 119 componentes.

A partir desta arquitetura lógica foi elaborada uma arquitetura de serviços, utilizando a

notação SoaML, de maneira a fornecer informação mais rigorosa e detalhada sobre os serviços

a serem desenvolvidos. Como tal, para iniciar o processo foram utilizados casos de uso já

refinados, neste caso, os integrantes do pacote {P5} “Integrator” da arquitetura lógica, com o

propósito de identificar os casos de uso de serviço. De seguida, utilizou-se o 4SRS, de forma

recursiva, para obter uma arquitetura mais rigorosa e adequada à especificação dos serviços,

com a elaboração de diagramas de SoaML, de maneira a complementar a abordagem.

Page 95: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

79

5. CONCLUSÕES

Neste capítulo são abordados os resultados obtidos ao longo da dissertação, bem

como o trabalho futuro a realizar.

5.1 Síntese Final

O tema desta dissertação surgiu no âmbito da dificuldade em conceber arquiteturas

devidamente preparadas para ambientes cloud. Assim, propôs-se fazer uma primeira análise

dos requisitos e desenvolver uma arquitetura lógica, apenas no ambiente industrial. De

seguida, numa nova abordagem baseada num contexto cloud computing foram aplicados

modelos de referência como o NIST CCRA, de maneira a assegurar a conformidade da

arquitetura num ambiente cloud e a identificar as diferenças entre antes e depois da inclusão

do paradigma.

Com o intuito de corresponder aos objetivos esperados da presente dissertação, foi

elaborado um estudo sobre a temática envolvente, de maneira a adquirir conhecimentos que

fossem necessários, nomeadamente: Cloud Computing, NIST Cloud Computing Reference

Architecture, Indústria 4.0, Reference Architecture Model Industrie 4.0 e por fim, Arquiteturas.

A tabela 6 apresenta os objetivos definidos nesta dissertação que foram abordados no

decorrer do capítulo 3.

Tabela 6 - Objetivos e resultados obtidos (capítulo 3)

Objetivos Resultados Obtidos

Levantamento e modelação de requisitos Identificação das necessidades do cliente; Obtenção de 44 diagramas de casos de uso. (secção 3.3)

Execução do método 4SRS Alinhamento das necessidades do cliente com os requisitos do sistema; (secção 3.4)

Conceção da arquitetura lógica Derivação de uma arquitetura composta por 7 pacotes e 62 componentes. (secção 3.4)

Elaboração de diagramas de sequência Criação de cenários para validar o comportamento da arquitetura. (secção 3.4)

Page 96: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

80

Inicialmente foi apresentado o caso de demonstração real – UH4SP, que serviu de

referência ao longo da presente dissertação e assim, procedeu-se ao levantamento e

modelação de requisitos. Esta fase consistiu na análise e na identificação das necessidades do

cliente em prol das funcionalidades do sistema que foram traduzidos em 44 diagramas UML

de casos de uso, do mais alto nível (nível 0) a um nível mais específico (nível 2). Após a

conclusão desta etapa procedeu-se à execução do método 4SRS, em que ficaram reunidas as

condições necessárias que serviram de base para a modelação da arquitetura lógica, dando

origem a 7 pacotes que representam os principais processos do sistema e a 62 componentes

que correspondem às funcionalidades do sistema. De modo a validar a arquitetura foram

elaborados vários diagramas de sequência, de modo a que a perspetiva do cliente seja igual

ao expectável comportamento da arquitetura.

Após a conclusão destas atividades surge o desafio da inclusão do paradigma cloud

computing, dado que o seu interesse pelas organizações é cada vez mais evidente, de forma

a melhorar e reduzir os custos desse processo.

A tabela 7 demonstra os objetivos e resultados obtidos ao longo do capítulo 4 mas

desta vez com a introdução de cloud computing, com base em modelos de referência, como

o NIST CCRA.

Tabela 7 - Objetivos e resultados obtidos (capítulo 4)

Objetivos Resultados Obtidos

Aplicação do referencial NIST CCRA

Mapeamento entre os componentes lógicos do sistema vs componentes do referencial NIST CRRA; Obtenção de 33 diagramas de casos de uso (baseados num contexto cloud). (secção 4.2)

Execução do método 4SRS Alinhamento das necessidades do sistema com os requisitos cloud. (secção 4.2)

Conceção do artefacto (arquitetura cloud computing)

Derivação de uma arquitetura lógica alinhada com referencial cloud computing – NIST CCRA – por 8 pacotes, 4 subpacotes e 119 componentes. (secção 4.2)

Elaboração de diagramas de sequência Criação de cenários para validar o comportamento da arquitetura. (secção 4.2)

Page 97: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

81

Refinamento dos casos de uso

Refinamento de informação sobre componentes de arquitetura, resultando na identificação dos casos de uso de serviços. (secção 4.3)

Conceção da arquitetura de serviços Mapeamento da informação para arquiteturas de serviços. (secção 4.3)

Discussão do referencial RAMI 4.0

Demonstração de cenários do enquadramento destas arquiteturas nos contextos e hierarquias existentes num ambiente de industry 4.0. (secção 4.4)

Para a conceção da arquitetura cloud computing é fundamental que as necessidades

do sistema estejam alinhadas com os requisitos cloud computing. Posto isto, foi feito um

mapeamento entre os componentes lógicos do sistema e os componentes do modelo de

referência NIST CCRA, que resultou na construção de uma tabela, apresentando-se a análise

entre as descrições de cada componente lógico do sistema com as descrições de cada

componente do referencial NIST CCRA, de forma a garantir que o sistema seguia com os

padrões atuais relacionados com o paradigma cloud computing. No entanto, neste ponto,

foram verificadas algumas lacunas nas camadas do referencial, visto que nem todas as

necessidades do sistema estavam preenchidas. Com o auxílio do referencial NIST CCRA foram

implementados novos requisitos cloud, que levou à redefinição dos casos de uso, que por sua

vez se transformaram em 77 que, posteriormente, foram refinados, através da técnica 4SRS.

Tal como previsto, com o suporte do modelo de referência NIST CCRA foi possível

definir os requisitos de cloud computing e com a junção dos componentes lógicos do sistema

– provenientes da arquitetura concebida anteriormente – procedeu-se à derivação da

arquitetura lógica de software em componentes de UML, num ambiente cloud computing. Por

conseguinte, foram apresentados os respetivos diagramas de sequência, com o intuito de

demonstrar as interações entre os componentes.

A partir desta arquitetura e dada a relação entre os paradigmas cloud computing e

Service-oriented Architecture (SOA), foi elaborada uma arquitetura de serviços, em notação

Service-oriented Architecture Modeling Language (SoaML). Através de transformações

recursivas de modelos, os componentes de software foram utilizados para identificar os casos

Page 98: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

82

de uso de serviços que, após uma nova execução do método 4SRS, originou a arquitetura

lógica com informações dos serviços mais refinadas e adequadas para a sua especificação.

Ao findar o capítulo 4 foi ainda abordada uma sugestão relacionada com a

funcionalidade da arquitetura cloud e de serviços, baseada no contexto da indústria 4.0, mais

especificamente com a aplicabilidade do modelo de referência RAMI 4.0. Apenas foi abordado

o eixo “Layers” desse modelo tridimensional que se encontra segmentado nas seguintes

camadas: “Business”, “Functional”, “Information”, “Communication”, “Integration” e, por

último, “Assets”.

Pode afirmar-se que, com os resultados obtidos, a nova versão da arquitetura lógica

suportada no modelo de referência NIST CCRA se encontra mais adequada para

implementação de soluções cloud computing, dado que foi possível definir os requisitos nos

diagramas de casos de uso do sistema e ao mesmo tempo abranger o conjunto de camadas e

subcamadas do referencial que se tornam essenciais para a definição de requisitos

relacionados com a cloud.

Conclui-se assim que a aplicação do modelo de referência NIST CCRA, aquando a

conceção de arquiteturas baseadas em cloud computing, num caso de demonstração real, é

adequada para discutir e definir os requisitos e a estrutura de soluções cloud. Assim se garante

a coerência semântica dos componentes arquiteturais e a especificação das principais

atividades e funções neste contexto. Ao mesmo tempo a arquitetura de serviços fornece

vantagens a uma posterior implementação da arquitetura cloud computing, dado que

apresenta uma explicação de como abordar a especificação dos serviços.

5.2 Trabalho Futuro

Uma vez que a aplicação do modelo de referência NIST CCRA permitiu assegurar a

conformidade da arquitetura num ambiente cloud computing, sugere-se como objetivo futuro

propor um mapeamento para suportar uma arquitetura na área da indústria 4.0, aplicando

modelos de referência como o RAMI 4.0 ou Industrial Internet Reference Architecture (IIRA),

de maneira a especificar os principais componentes da indústria 4.0, bem como as suas

principais atividades e funções.

Page 99: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

83

Também nestes contextos, existe uma predominância de soluções de software que

utilizem o paradigma SOA. Assim, conseguindo atingir o mesmo nível de detalhe em

arquiteturas adequadas para o ambiente industrial à base de referenciais da indústria 4.0,

pode especificar-se de forma rigorosa as necessidades de serviços (em SoaML). Para as

hierarquias existentes nestes referenciais (da camada funcional até à camada de recursos), a

implementação de sistemas e comunicação entre os mesmos será facilitada, e promove-se a

especificação de interoperabilidade entre os sistemas, camadas e entidades de cadeia de

valor, que a indústria 4.0 defende.

Page 100: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

84

BIBLIOGRAFIA

[1] E. Y. Nakagawa, P. Oliveira Antonino, and M. Becker, “Reference architecture and

product line architecture: A subtle but critical difference,” Lect. Notes Comput. Sci.

(including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 6903 LNCS,

no. October 2016, pp. 207–211, 2011.

[2] F. B. Vernadat, “Interoperable enterprise systems: Principles, concepts, and methods,”

Annu. Rev. Control, vol. 31, no. 1, pp. 137–145, 2007.

[3] P. K. Senyo, E. Addae, and R. Boateng, “Cloud computing research: A review of research

themes, frameworks, methods and future research directions,” Int. J. Inf. Manage., vol.

38, no. 1, pp. 128–139, 2018.

[4] T. Branco, F. De Sá-Soares, and A. L. Rivero, “Key Issues for the Successful Adoption of

Cloud Computing,” Procedia Comput. Sci., vol. 121, pp. 115–122, 2017.

[5] R. C. Motta, K. M. De Oliveira, and G. H. Travassos, “Rethinking Interoperability in

Contemporary Software Systems,” Proc. - 2017 IEEE/ACM Jt. 5th Int. Work. Softw. Eng.

Syst. 11th Work. Distrib. Softw. Dev. Softw. Ecosyst. Syst. JSOS 2017, pp. 9–15, 2017.

[6] A. V. Parameswaran and A. Chaddha, “Cloud Interoperability and Standardization,”

Infosys Technol. Limited/SETLabs Briefings, vol. 7, no. 7, pp. 19–26, 2009.

[7] M. Dunkerley and M. Bradley, “Manufacturing Sofware for Industry 4.0,” Iyno Advis. |

Crit. Manuf., pp. 0–17, 2016.

[8] M. A. Pisching, M. A. O. Pessoa, F. Junqueira, D. J. dos Santos Filho, and P. E. Miyagi,

“An architecture based on RAMI 4.0 to discover equipment to process operations

required by products,” Comput. Ind. Eng., no. xxxx, pp. 0–1, 2018.

[9] K. Peffers, T. Tuunanen, M. A. Rothenberger, and S. Chatterjee, “A Design Science

Research Methodology for Information Systems Research,” J. Manag. Inf. Syst., vol. 24,

no. 3, pp. 45–77, 2007.

[10] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic, “Cloud computing and

emerging IT plaforms: Vision, hype, and reality for delivering computing as the 5th

utility,” 2009 9th IEEE/ACM Int. Symp. Clust. Comput. Grid, CCGRID 2009, 2009.

Page 101: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

85

[11] L. Francis, “Cloud Computing: Implications for Enterprise Software Vendors (ESV),”

2009.

[12] Q. Zhang, L. Cheng, and R. Boutaba, “Cloud computing: State-of-the-art and research

challenges,” J. Internet Serv. Appl., vol. 1, no. 1, pp. 7–18, 2010.

[13] Y. Jadeja and K. Modi, “Cloud computing - Concepts, architecture and challenges,” 2012

Int. Conf. Comput. Electron. Electr. Technol. ICCEET 2012, no. March 2012, pp. 877–880,

2012.

[14] I. Foster, Y. Zhao, I. Raicu, and S. Lu, “Cloud Computing and Grid Computing 360-Degree

Compared,” Shanxi Electron. Technol., 2008.

[15] B. P. Rimal, E. Choi, and I. Lumb, “A taxonomy and survey of cloud computing systems,”

NCM 2009 - 5th Int. Jt. Conf. INC, IMS, IDC, pp. 44–51, 2009.

[16] M. Armbrust et al., “A view of cloud computing,” Commun. ACM, vol. 53, no. 4, p. 50,

2010.

[17] M. Armbrust, A. Fox, R. Griffith, A. Joseph, and RH, “Above the clouds: A Berkeley view

of cloud computing,” Univ. California, Berkeley, Tech. Rep. UCB , pp. 07–013, 2009.

[18] P. Mell and T. Grance, “The NIST Definition of Cloud Computing Recommendations of

the National Institute of Standards and Technology,” Natl. Inst. Stand. Technol. Inf.

Technol. Lab., vol. 145, p. 7, 2011.

[19] K. Jeffery and B. Neidecker-Lutz, “The Future of Cloud Computing: Opportunities for

European Cloud Computing Beyond 2010,” Expert Gr. Rep., 2010.

[20] T. Dillon, C. Wu, and E. Chang, “Cloud Computing: Issues and Challenges,” 2010 24th

IEEE Int. Conf. Adv. Inf. Netw. Appl., pp. 27–33, 2010.

[21] R. B. Bohn, J. Messina, F. Liu, J. Tong, and J. Mao, “NIST cloud computing reference

architecture,” Proc. - 2011 IEEE World Congr. Serv. Serv. 2011, no. April, pp. 594–596,

2011.

[22] H. Lasi, P. Fettke, H. G. Kemper, T. Feld, and M. Hoffmann, “Industry 4.0,” Bus. Inf. Syst.

Eng., vol. 6, no. 4, pp. 239–242, 2014.

[23] M. Hermann, T. Pentek, and B. Otto, “Working Paper Design Principles for Industrie 4.0

Page 102: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

86

Scenarios: A Literature Review,” no. 01, p. 16, 2015.

[24] F. Shrouf, J. Ordieres, and G. Miragliotta, “Smart Factories in Industry 4 . 0 : A Review

of the Concept and of Energy Management Approached in Production Based on the

Internet of Things Paradigm,” IEEE, pp. 697–701, 2014.

[25] H. (Deutsche P. A. Henning, Kagermann(National Academy of Science and Engineering).

Wolfgang, Wahlster (German Research Center for Artificial Intelligence). Johannes,

“Recommendations for implementing the strategic initiative INDUSTRIE 4.0,” Final Rep.

Ind. 4.0 WG, no. April, p. 82, 2013.

[26] Deloitte, “Industry 4.0. Challenges and solutions for the digital transformation and use

of exponential technologies,” Deloitte, pp. 1–30, 2015.

[27] R. Drath and A. Horch, “Industrie 4.0: Hit or hype? [Industry Forum],” IEEE Ind. Electron.

Mag., vol. 8, no. 2, pp. 56–58, 2014.

[28] S. Li, L. Da Xu, and S. Zhao, “The internet of things: a survey,” Inf. Syst. Front., vol. 17,

no. 2, pp. 243–259, 2015.

[29] D. F. H. Sadok, L. L. Gomes, M. Eisenhauer, and J. Kelner, “A middleware for industry,”

Comput. Ind., vol. 71, pp. 58–76, 2015.

[30] G. Miragliotta, A. Perego, and A. Tumino, “Internet of Things: Smart Present or Smart

Future?,” Dep. Manag. Econ. Ind. Eng. Politec. di Milano, 2012.

[31] F. Xia, L. T. Yang, L. Wang, and A. Vinel, “Internet of Things,” Int. J. Commun. Syst., vol.

25, no. 9, p. 1101, 2012.

[32] J. Gubbi, R. Buyya, S. Marusic, and M. Palaniswami, “Internet of Things (IoT): A Vision,

Architectural Elements, and Future Directions,” Futur. Gener. Comput. Syst., vol. 29, no.

7, pp. 1645–1660, 2013.

[33] J. Davis, T. Edgar, J. Porter, J. Bernaden, and M. Sarli, “Smart manufacturing,

manufacturing intelligence and demand-dynamic performance,” Comput. Chem. Eng.,

vol. 47, pp. 145–156, 2012.

[34] Plattform Industrie 4.0 and Industrial Internet Consortium, “Architecture Alignment

and Interoperability,” p. 19, 2018.

Page 103: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

87

[35] M. Pai, “Interoperability between IIC Architecture & Industry 4.0 Reference

Architecture for Industrial Assets,” Infosys, p. 12, 2016.

[36] J. A. Zachman, “A framework for information systems architecture,” IBM Systems

Journal, vol. 26, no. 3. pp. 276–292, 1987.

[37] M. Lankhorst et al., Enterprise architecture at work: Modelling, communication, and

analysis. 2005.

[38] N. Rozanski and E. Woods, Software Systems Architecture, Second Edi. Upper Saddle

River, Boston, Indianapolis, San Francisco, New York, Toronto, Montreal, London,

Munich, Paris, Madrid, Capetown, Sydney, Tokyo, Singapore, Mexico City, 2011.

[39] D. Namiot and M. Sneps-sneppe, “On Micro-services Architecture,” Int. J. Open Inf.

Technol., vol. 2, no. 9, pp. 24–27, 2014.

[40] S. Kang and Y. Choi, “Designing logical architectures of software systems,” Proc. - Sixth

Int. Conf. Softw. Eng., Artif. Intell. Netw. Parallel/Distributed Comput. First ACIS Int.

Work. Self-Assembling Wirel. Netw., SNPD/SAWN 2005, vol. 2005, pp. 330–337, 2005.

[41] L. Goble and J.-J. C. Meyer, Deontic Logic and Artificial Normative System. Springer,

2006.

[42] P. Krüchten, “Architectural Blueprints -The ‘4+ 1’ View Model of Software

Architecture,” IEEE Softw., no. November 1995, pp. 42–50, 1995.

[43] N. Ferreira, N. Santos, R. J. MacHado, and D. Gašević, “Derivation of Process-Oriented

Logical Architectures: An Elicitation Approach for Cloud Design,” Lect. Notes Comput.

Sci. (including Subser. Lect. Notes Artif. Intell. Lect. Notes Bioinformatics), vol. 7343

LNCS, pp. 44–58, 2012.

[44] A. Bragança and R. J. Machado, “Adopting computational independent models for

derivation of architectural requirements of software product lines,” Proc. - Fourth Int.

Work. Model. Methodol. Pervasive Embed. Software, MOMPES 2007, pp. 91–101, 2007.

[45] P. Monteiro, “Model-based Transformations for Software Architectures : a pervasive

application case study,” Universidade do Minho, 2005.

[46] M. Y. Santos and R. J. Machado, “On the derivation of class diagrams from use cases

and logical software architectures,” Proc. - 5th Int. Conf. Softw. Eng. Adv. ICSEA 2010,

Page 104: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

88

pp. 107–113, 2010.

[47] R. J. Machado, J. M. Fernandes, P. Monteiro, and H. Rodrigues, “Transformation of UML

Models for Service-Oriented Software Architectures,” 12th IEEE Int. Conf. Work. Eng.

Comput. Syst., pp. 173–182, 2005.

[48] J. Fernandes and R. Machado, “From use cases to objects: an industrial information

systems case study analysis,” In Oois. Springer, London, pp. 319–328, 2001.

[49] R. J. Machado, I. Ramos, and J. M. Fernandes, “Specification of requirements models,”

Eng. Manag. Softw. Requir., no. 1, pp. 47–68, 2005.

[50] N. Medvidovic and S. Malek, “Software deployment architecture and quality-of-service

in pervasive environments,” Int. Work. Eng. Softw. Serv. pervasive Environ. conjunction

with 6th ESEC/FSE Jt. Meet. - ESSPE ’07, no. 7, pp. 47–51, 2007.

[51] D. E. Perry, T. B. Laboratories, M. Hill, and A. L. Wolf, “F o u n d a t i o n s for t h e S t u

d y of Software A r c h i t e c t u r e,” vol. 17, no. 4, 1992.

[52] M. Villamizar, O. Garcés, H. Castro, M. Verano, L. Salamanca, and S. Gil, “Evaluating the

Monolithic and the Microservice Architecture Pattern to Deploy Web Applications in

the Cloud,” 10th Comput. Colomb. Conf., pp. 583–590, 2015.

[53] A. Balalaie, A. Heydarnoori, and P. Jamshidi, “Migrating to Cloud-Native architectures

using microservices: An experience report,” Commun. Comput. Inf. Sci., vol. 567, pp.

201–215, 2016.

[54] C. Casanave, “Enterprise Service Oriented Architecture Using the OMG SoaML

Standard,” Model Driven Solut. Inc., White Pap., pp. 1–21, 2009.

[55] C. Wang, X. Li, Y. Chen, Y. Zhang, O. Diessel, and X. Zhou, “Service-Oriented Architecture

on FPGA-Based MPSoC,” IEEE Trans. Parallel Distrib. Syst., vol. 28, no. 10, pp. 2993–

3006, 2017.

[56] D. Carney, D. Fisher, E. Morris, and P. Place, “Some Current Approaches to

Interoperability,” Integr. Vlsi J., no. August, p. 27, 2005.

[57] R. J. Machado, J. M. Fernandes, P. Monteiro, and H. Rodrigues, “Transformation of UML

Models for Service-Oriented Software Architectures,” 12th IEEE Int. Conf. Work. Eng.

Comput. Syst., pp. 173–182, 2002.

Page 105: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

89

[58] M. Pereira, “Conceção de arquiteturas para Cloud Computing: casos de demonstração

da utilização do modelo de referência do NIST,” Universidade do Minho, 2013.

[59] N. Ferreira, N. Santos, and R. J. MacHado, “Modularization of logical software

architectures for implementation with multiple teams,” Proc. - 14th Int. Conf. Comput.

Sci. Its Appl. ICCSA 2014, pp. 1–11, 2014.

[60] N. Santos et al., “Specifying Software Services for Fog Computing Architectures Using

Recursive Model Transformations,” Fog Comput., pp. 153–181, 2018.

Page 106: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

90

ANEXOS I – PUBLICAÇÃO CIENTÍFICA – SPECIFYING SOFTWARE SERVICES FOR

FOG COMPUTING ARCHITECTURES USING RECURSIVE MODEL

TRANSFORMATIONS

Autores: Nuno Santos, Helena Rodrigues, Jaime Pereira, Francisco Morais, Raquel

Martins, Nuno Ferreira, Ricardo Abreu, Ricardo J. Machado

Livro: Fog Computing (Concepts, Frameworks and Technologies

Editora: Springer

Estado: Publicado

Abstract: Due to massive amounts of data transfer, the adoption of mobile internet and

internet of things within cloud computing applications originated data decentralizing

challenges. They promoted a new service-oriented approach called fog computing. The design

of fog computing architectures yet lacks of a systematized approach for using models aiming

to abstract the fog’s services specification. This chapter proposes the use of a set of software

engineering approaches for fog-based architecture design, centered in UML artifacts and in

executing the four-step-rule-set (4SRS) method. Fog’s microservices are modeled in SoaML’s

Service Participant, Capabilities, Service Interface and Service Architecture diagrams. The

approach is demonstrated within a research project that aims developing a set of services for

cloud, fog and IoT in a distributed industrial environment.

Keywords: Logical Architectures, Fog Computing, Service-oriented Architectures,

Requirements Elicitation, Architecture Design, Recursive Refinement, UML, SoaML,

microservices.

Page 107: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

91

ANEXO II – PUBLICAÇÃO CIENTÍFICA – DECOMPOSING MONOLITHIC TO

MICROSERVICES ARCHITECTURES: A MODELING APPROACH

Autores: Nuno Santos, Carlos E. Salgado, Francisco Morais, Mónica Melo, Sara Silva,

Raquel Martins, Marco Pereira, Helena Rodrigues, Ricardo J. Machado, Nuno Ferreira, Manuel

Pereira

Editora: ACM

Estado: Submetido

Abstract: The use of microservices architectures have been recently adopted in software

development, especially for cloud-based solutions. Each microservice is identified based in the

solution domain. Nevertheless, developing such solutions faces several issues, where model-

driven approaches are usefull for specifying microservices behavior and interfaces. In the

elicitation of microservices, their identification may be performed by using functionally

decomposed UML use cases as input within a logical architecture derivation method, as with

the four-step-rule-set (4SRS). In this paper, the 4SRS method is adapted in order to enable its

use for deriving a logical architecture that responds to microservices specific characteristics.

The architectural representation is oriented for SoaML diagrams. The effectiveness of our

approach is evaluated using a scenario in a live project.

Keywords: Microservices, Decomposition, UML, SoaML, Logical Architectures, Service

Participants.

Page 108: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

92

ANEXO III – DIAGRAMAS DE CASOS DE USO

O presente anexo incide na descrição de todos os diagramas de casos de uso do

projeto UH4SP, antes e depois de aplicar o modelo NIST CCRA.

Seguem-se, então, as descrições dos diagramas antes de aplicar o modelo NIST CCRA.

{U1.2.1} “Manage profiles”: define o tipo de perfil que terá acesso ao backoffice da

plataforma.

{U1.2.2} “Assign permissions”: permite aos atores representados no diagrama atribuir

permissões a um determinado perfil.

{U1.3.1} “Authentication”: permite o acesso à plataforma.

{U1.2} Configure users profile

{U1.2.1} Manage profiles

{U1.2.2} Assign permissions

System

Administrator

Corporate Manager

IT Manager

Factory Admin

Client

Supplier

Forwarder

{U1.3} Perform authentication

{U1.3.1} Authentication

{U1.3.2} Recover account

System

AdministratorUsers

Page 109: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

93

{U1.3.2} “Recover account”: permite que os utilizadores recuperem a sua conta em

caso de perda de dados.

{U1.4.1} “Manage business groups”: permite que o administrador de sistemas ou o

gestor corporativo executem operações como criar, alterar, desativar e consultar, relativas a

grupos industriais.

{U1.4.2} “Manage companies”: permite que o administrador de sistemas, o

fornecedor, o transportador, o cliente ou o gestor corporativo executem operações como

criar, alterar, desativar e consultar, relativas às companhias.

{U1.4} Manage stakeholders

{U1.4.1} Manage business groups

{U1.4.2} Manage companies

System

Administrator

Forwarder

Client

Corporate Manager

Supplier

{U1.6} Manage trucks

Forwarder

{U1.6.1} Create truck

{U1.6.2} Change truck

{U1.6.3} Disable truck

{U1.6.4} Consult truck

System

Administrator

{U1.6.5} Associate trailer

Page 110: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

94

{U1.6} “Manage trucks”: permite que o administrador de sistemas e o transportador

façam a gestão de camiões, com o intuito de criar – {U1.6.1} “Create truck”, atualizar – {U1.6.2}

“Change truck”, desativar – {U1.6.3} “Disable truck”, consultar {U1.6.4} “Consult truck” ou

associar um reboque a um determinado camião {U1.6.5} “Associate trialer”.

{U1.7} “Manage trailers”: permite que o administrador de sistemas e o transportador

façam a gestão de reboques, com o intuito de criar – {U1.t.1} “Create trailer”, atualizar –

{U1.7.2} “Change trailer”, desativar – {U1.7.3} “Disable trailer” ou consultar {U1.7.4} “Consult

trailer”.

{U1.7} Manage trailers

Forwarder

{U1.7.1} Create trailer

{U1.7.2} Change

trailer

{U1.7.3} Disable trailer

{U1.7.4} Consult trailer

System

Administrator

Page 111: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

95

{U2.1} “Manage local IT resources”: permite que o administrador de sistemas e o

gestor de infraestruturas verifiquem as necessidades de intervenção ou manutenção que

possam ser agendadas ({U2.2} “Schedule interventions”)

{U2.2} “Schedule assistance”: permite ao gestor de infraestruturas e ao Administrador

de Sistemas que programem assistência aos recursos de infraestruturas (assistência remota

com dispositivos inteligentes)

{U2.3} “Perform assistance”: realiza assistência remota a Recursos de infraestruturas

por meio de óculos inteligentes e outros dispositivos inteligentes. Assistência essa que pode

ser agendada em {U2.2} “Schedule assistance”.

{U2.4} “Provide users training”: permite ao Administrador de Sistemas gerir a

formação dos utilizadores, de modo a verificar as necessidades dos mesmos e agendar a

formação do utilizador. Por exemplo, ao introduzir novos dispositivos inteligentes nos quais

os utilizadores precisam de treino para que sejam manipulados corretamente. Também

fornece tutoriais sobre recursos do sistema. O gestor de infraestruturas introduz as

necessidades de treino e acesso a tutoriais e documentação de ajuda. O operador, o motorista

e o gestor local consultam os tutoriais e a documentação de ajuda.

System

Administrator

Operator

{U2.4} Provide users

training

Driver

{U2.1} Manage local IT

resources

{U2.2} Schedule interventions

{U2} Manage local platform

{U2.5} Generate templates

Local Manager

IT Manager

{U2.3} Perform interventions

Page 112: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

96

{U2.5} “Generate templates”: permite ao administrador de sistemas gerir modelos

para implementações e testes rápidos em sistemas de informações locais que, por exemplo,

têm um conjunto de serviços pré-configurados, perfis, browsers, para acelerar o processo no

caso de aparecer um novo serviço para alocar.

{U4.1} “Access business information”: acesso aos

recursos relacionados às informações do negócio.

{U4.2} “Manage operations”: recursos relacionados à gestão das operações.

{U4.1} Access business information

{U4.2} Manage operations

{U4} Perform business activities

Industrial Unit IS

Local Manager

Client

Supplier

Forwarder

Corporate Manager

Operator

Operator

{U4.1.1} Consults information

{U4.1.2} Configure business information

access

{U4.1.3} Perform business notifications

{U4.1} Access business information

System

Administrator

Local Manager

Corporate Manager

Client

Supplier

Forwarder

Page 113: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

97

{U4.1.1} “Consults information”: permite a um determinado consumidor da cloud

(gestor corporativo, gestor local, cliente, fornecedor ou transportador), com respetivo perfil

e configurações de acesso às informações consultar informações do negócio que são, por

exemplo, documentos relacionados com vendas, estado produção, contas correntes, entre

outras informações.

{U4.1.2} “Configure business information access”: permite que um determinado

consumidor da cloud configure o conteúdo das mensagens trocadas. Também permite que

definam que notificações desejam receber das unidades industriais. No entanto, estas

configurações necessitam da validação do Administrador de Sistemas.

{U4.1.3} “Perform business notifications”: permite ao Administrador de Sistemas ou a

um consumidor da cloud executar notificações de negócios.

{U4.2.1} “Abort operations”: permite ao gestor local ou ao operador abortar uma

determinada operação logística, como por exemplo, suspender temporariamente operações

logísticas devido a restrições na fábrica ou a outra situação inesperada.

{U4.2.1} Abort operations

{U4.2.2} Consult operations

{U4.2.3} Notify operations

{U4.2} Manage operations

Industrial unit IS

Local Manager

{U4.2.4} Integrate local information systems data

Client

Supplier

Forwarder

Corporate Manager

Operator

Page 114: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

98

{U4.2.2} “Consult operations”: permite ao gestor corporativo, ao gestor local, ao

operador e aos stakeholders (cliente, fornecedor ou transportador) consultar operações como

a operação de carga ou descarga.

{U4.2.3} “Notify operations”: permite ao gestor local, ao gestor corporativo, operador

e stakeholders realizar notificações sobre operações logísticas da unidade industrial, tal como:

tempo de operação de carga/ descarga, confirmação de entregas e outras notificações, como

fornecer informações sobre motoristas e camiões na fábrica.

{U4.2.4} “Integrate local information systems data”: permite que o sistema integre os

dados que são criados nas operações e que sejam armazenados em sistemas de informações

de unidades industriais, tais como: sensores, dispositivos móveis e outros sistemas (por

exemplo, o ERP).

{U4.2.4.1} “Integrate with sensors”: permite que o sistema integre dados criados por

sensores instalados numa determinada unidade industrial.

{U4.2.4.2} “Integrate with mobile devices”: permite que o sistema integre dados

criados por dispositivos móveis que utilizam um determinado serviço/ aplicativo da unidade

industrial.

{U4.2.4.3} “Integrate with systems”: permite que o sistema integre dados que são

criados por sistemas (logística, negócios ou outro sistema como o ERP, por exemplo).

{U4.2.4.1} Integrate with sensors

{U4.2.4.2} Integrate with mobile devices

{U4.2.4.3} Integrate with systems

{U4.2.4} Integrate local information systems data

Industrial unit IS

(Cameras, Sensors,

ERP, Mobile devices)

System

Administrator

Page 115: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

99

Após a aplicação do modelo NIST CCRA surgiram os seguintes diagramas de casos de uso:

{U1.5.1} “Validate tokens”: permite ao administrador do sistema validar solicitações de

tokens de gestores corporativos.

{U1.5.2} “Associate entity”: permite ao gestor corporativo associar uma entidade aos

tokens solicitados.

{U1.5.3} “Associate factory”: permite ao gestor corporativo associar fábricas aos tokens

solicitados. O gestor corporativo pode associar várias fábricas do grupo e depois disso, pode

inserir diferentes quantidades de tokens em cada uma delas.

{U1.5.4} “Request tokens”: permite ao gestor corporativo solicitar tokens para

companhias. Também pode solicitar diferentes quantidades de fichas para cada um.

{U1.5.5} “Assign tokens”: permite aos x atribuir tokens aos seus motoristas.

{U1.5} Manage work tokens

System

Administrator

{U1.5.2} Associate Entity

{U1.5.3} Associate Factory

{U1.5.1} Validate tokens

Corporate Manager

Company Manager

Factory Manager

{U1.5.4} Request tokens

{U1.5.5} Assign tokens Client

Supplier

Forwarder

Factory Admin

Page 116: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

100

{U1.9.1} “Configure application”: permite ao administrador de sistemas configurar

aplicativos para criar, atualizar, consultar ou desativar aplicativos.

{U1.9.2} “Perform authentication”: permite que os aplicativos executem a autenticação,

com o intuito de aceder aos WebAPIs do UH4SP.

{U1.9.3} “Assign a token”: permite ao administrador de sistemas atribuir ou atualizar um

token para um aplicativo.

{U5.2} Generate cloud services

reports

{U5} Configure cloud service

{U5.3} Measure services utilization

{U5.1} Manage services

System

Administrator

{U5.5} Define SLA Corporate Manager

Forwarder

Client

Supplier

{U1.9.3} Assign a token

{U1.9.1} Configure application

{U1.9} Manage applications

{U1.9.2} Perform authentication

System Administrator

User

Page 117: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

101

{U5.1} “Manage services”: permite ao administrador de sistemas configurar ou manter

os serviços em cloud. A configuração inclui o processo de instalar, atualizar ou desativar

serviços em cloud. Os serviços em cloud dependem do stakeholder, um exemplo dessas

configurações é a definição de um conjunto de parâmetros e a configuração das necessidades

de serviço, como por exemplo a conexão à base de dados. Este cenário também inclui funções

de realocação de serviço no caso de níveis novos de SLA. Assim, a atualização dos serviços é

concluída com a atualização das estruturas da base de dados que foram instanciadas para

cada stakeholder. Para verificar algumas necessidades dos Cloud Consumers, o Administrador

de Sistemas consulta {U1.8} “Consult SLA”.

{U5.2} “Generate cloud services reports”: gera relatórios dos serviços da cloud

monitorizados. Relatórios estes que podem ser enviados para os consumidores da cloud.

{U5.3} “Measure services utilization”: consulta os valores relacionados à utilização de

serviços em cloud. Estes valores referem-se ao armazenamento de dados, processamento,

largura de banda, contas de utilizadores, entre outros. Os relatórios podem ser criados a partir

do {U5.2} “Generate cloud services reports”.

{U5.4} “Define SLA”: este caso de uso inclui a definição de SLA entre o Administrador

de Sistemas e um consumidor da cloud (qualidade dos parâmetros de serviço, execução e

monitorização de SLA, de acordo com as políticas definidas pelo NIST). Este contrato pode ser

consultado em {U1.8} “Consult SLA”.

Page 118: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

102

{U5.1.1} “Install service” através da consulta de um SLA contratado – {U1.8} “Consult

SLA” permite ao Administrador de Sistemas instalar um novo serviço para um determinado

consumidor da cloud.

{U5.1.2} “Configure service” permite ao Administrador de Sistemas configurar um

serviço para um determinado consumidor da cloud dentro de um conjunto de parâmetros e

da configuração das necessidades do serviço, como por exemplo a conexão de dados. Estas

configurações são necessárias quando algumas alterações são feitas no SLA ({U5.5} “Define

SLA”) e um novo serviço é instalado ou atualizado. Também permite que o Administrador de

Sistemas defina os endereços para cada estação de trabalho de uma determinada unidade de

produção. Esses endereços são utilizados para definir o acesso aos serviços, bem como o

endereço para o qual os próprios serviços retornam informações.

{U5.1.3} “Disable service”: capacita o administrador de sistemas de desativar um

serviço para um determinado consumidor da cloud, por exemplo, a rescisão de contrato.

{U5.1.4} “Update service”: atualiza o serviço para um determinado consumidor da

cloud. Estas atualizações são necessárias quando existe uma nova versão de um serviço da

cloud ou um novo acordo é contratado. Antes de atualizar um determinado serviço o

Administrador de Sistemas consulta o SLA em {U1.8} “Consult SLA”.

{U5.1} Manage services

{U5.1.1} Install service

{U5.1.2} Configure service

{U5.1.3} Disable service

{U5.1.4} Update service

System

Administrator

Page 119: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

103

{U6.1} “Manage bacukps”: permite ao administrador do sistema gerir backups que

garantam a segurança dos dados e a recuperação de desastres. Esta gestão inclui

periodicidade de cópias, seleção de arquivos/ pastas para copiar, entre outros. Estes, devem

seguir um formato padrão que assegure a portabilidade correta dos dados (por exemplo, para

a comunicação com várias clouds) e a sua restauração.

{U6.2} “Configure data access control”: possibilita ao administrador de sistemas e os

consumidores da cloud configurar o controlo do acesso a dados. O administrador do sistema

define o acesso aos serviços dos utilizadores, consoante a licença do utilizador. Outros

exemplos de configurações de controlo de acesso a dados são: sincronização de credenciais

de utilizadores entre as organizações e a cloud, partilha de acesso a dados numa cloud, entre

outros.

{U6.3} “Monitor activities”: capacita o administrador de sistemas de monitorizar

atividades e auditorias que permitam verificar e tratar de possíveis ameaças no sistema.

{U6} Manage cloud security and privacy

{U6.1} Manage backups

{U6.2} Configure data access control

System

Administrator

{U6.3} Monitor activities

Page 120: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

104

{U7.1} “Integrate systems”: o administrador de sistemas integra os vários dados dos

sistemas.

{U7.2} “Synchronized data”: permite a sincronização de dados entre a unidade

industrial, independentemente das tecnologias que estão a ser utilizadas pelos diferentes

stakeholders. A sincronização garante a interoperabilidade que permite a tecnologia aberta

de dados (embora o acesso a dados seja restrito aos negócios) e possibilita a fácil migração e

integração de dados entre diferentes fornecedores de serviços em cloud. Essa sincronização

disponibiliza, não apenas, mas também todos os dados dos stakeholders registados nos

sistemas, por meio dos serviços de consultoria disponíveis para os stakeholders.

{U7} Manage cloud interoperability and portability

System

Administrator

{U7.2} Synchronize data (Broker)

Industrial unit IS

(Cameras, Sensors,

ERP, Mobile devices)

{U7.1} Integrate systems

{U7.3} Register factory directory

service

{U8} Monitor industrial units

{U8.1} Monitor equipment

{U8.2} Configure system

{U8.3} Monitor operational indicators

IT Manager

Factory Admin

Corporate Manager

Forwarder

Client

Supplier

System

Administrator

Page 121: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

105

{U8.1.1} “Manage equipments”: permite que o administrador de sistemas e o gestor

de infraestruturas façam a gestão de equipamentos.

{U8.1.2} “Monitor system operability”: permite que o gestor de infraestruturas e o

administrador de sistemas consultem os processos do sistema.

{U8.1.3} “Consult factory state”: permite ao gestor de infraestruturas e ao

administrador do sistema consultar o estado da fábrica e visualizar uma fábrica e um conjunto

de pontos de operação. Para cada ponto, mostra, por exemplo, o número de camiões.

{U8.1} Monitor equipment

{U8.1.1} Manage equipments

{U8.1.2} Monitor system

operability

{U8.1.3} Consult factory state

IT ManagerSystem

Administrator

{U8.2} Configure system

{U8.2.1} Schedule assistance

{U8.2.4} Enable equipment

{U8.2.5} Disable equipment

{U8.2.2} Manage records

{U8.2.3} Configure tasks

IT Manager

Page 122: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

106

{U8.2.1} “Schedule assistance”: consultar as informações gerais da plataforma e

agendar o assistente.

{U8.2.2} “Manage records”: permite gerir registos para criar consultar, atualizar ou

desativar um determinado registo.

{U8.2.3} “Configure tasks”: configure as tarefas da fábrica, por exemplo, forçar um

determinado processo a avançar, caso ocorra algum problema (forçar a entrada de um

camião).

{U8.2.4} “Enable equipment”: ativar um determinado equipamento.

{U8.2.5} “Disable equipment”: desativar um determinado equipamento.

{U8.3.1} “Consult operational indicators”: permite que o gestor corporativo, o

administrador da fábrica e os stakeholders consultem os indicadores operacionais (por

exemplo: tempos de espera/ operações e desvios por veículo, produto, local de operação,

entre outros).

{U8.3.2} “Consult system operations”: permite aos atores consultar as operações do

sistema.

{U8.3.3} “Notify operations”: permite aos atores receberem notificações com

relatórios, KPI’s e notificações gerais.

{U8.3} Monitor operational indicators

{U8.3.1} Consult operational indicators

{U8.3.2} Consult system operations

Corporate Manager

Forwarder

Client

Supplier

Factory Admin

{U8.3.3} Notify operations

Page 123: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

107

ANEXO IV – MÉTODO FOUR STEP RULE SET

Step 3 - Packing

& Aggregation

represented by represent

{U1.1.1} Create user account cdi

{C1.1.1.c} Generated C TCreate user

processor

Allows the execution of the necessary commands

by system to verify if the created user exists in the

users database.

{C1.1.1.c} TManage user

processor

Allows the execution of the necessary

commands by system to verify if the

created user exists in the users

database.

{P2} Accounts{C1.1.1.d}

{C1.1.1.i}

{C1.1.1.d} Generated C T User data

Stores the data of the user. By "data" we interpret

that is all the information relevant for this object,

such as: username, email, NIF, phone number and

associate an user (corporate, company, factory or

entity).

{C1.1.1.d}

{C1.1.2.d}

{C1.1.3.d}

{C1.1.4.d}

T User data

Stores the data of the user. By "data" we

interpret that is all the information

relevant for this object, such as:

username, email, NIF, phone number

and associate an user (corporate,

company, factory or entity).

{P2} Accounts{C1.1.1.c}

{C1.1.1.i}

{C1.1.1.i} Generated C TInsert username

interface

Defines the interface with users to create a new

user.{C1.1.1.i} T

Manage user

interface

Defines the interface with users to

create a new user and associate an

user (corporate, company, factory or

entity).

{P2} Accounts{C1.1.1.i}

{C1.1.1.d}{C1.2.1.i}

{C1.1.1.i2} Generated C T Authentication APIDefines the interface between services and

aplications with the authentication service.{C1.1.1.i2} T

Authentication

Service API

Defines the interface between services

and aplications with the authentication

service.

{P1} Authentication {C1.1.1.d}

{C1.3.1.i}

{C1.3.2.c}

{C1.9.2.i}

{U1.1.2} Change user account di

{C1.1.2.c} Generated C F

{C1.1.2.d} Generated C T Store user data Same as {C1.1.1.d} {C1.1.1.d} F

{C1.1.2.i} Generated C T Edit user interface

Defines the interface with users to change your

information account. After this, this account editions

need to be validated by System Administrator at

{U1.2.1} "Manage profiles" to a given edited UH4SP

user.

{C1.1.1.i} F

{U1.1.3} Disable user account di

{C1.1.3.c} Generated C F

{C1.1.3.d} Generated C T Store user data same as {C1.1.1.d} {C1.1.1.d} F

{C1.1.3.i} Generated C TDisable user

interface

Defines the interface with users to disable your user

account. After this, this operation need to be

validated by System Administrator. A given account

can be disable by System Administrator if to be

necessary and justified.

{C1.1.1.i} F

{U1.1.4} Consult user account i

{C1.1.4.c} Generated C F

{C1.1.4.d} Generated C F

{C1.1.4.i} Generated C TConsult user

interface

Defines the interface with the users to consult your

user account. {C1.1.1.i} F

{U1.2.1} Manage profiles di

{C1.2.1.c} Generated C TUsers profile

processor

Allows the execution of the necessary commands

by system to verify if the profile exists in the users

database. If exists system "shows a red light" and

advertise user that already exists.

{C1.2.1.c} TProfiles

processor

This C allows the execution of the

necessary commands by system to

verify if the profile exists in the users

database. If exists system "shows a red

light" and advertise user that already

exists.

{P2} Accounts{C1.2.1.d}

{C1.2.1.i}

{C1.2.1.d} Generated C T Profiles data

Stores the data of the created profiles. By "data" we

interpret that is all the information relevant for this

object, such as: name and permissions.

{C1.2.1.d} T Profiles data

Stores the data of the created profiles.

By "data" we interpret that is all the

information relevant for this object, such

as: name and permissions.

{P2} Accounts{C1.2.1.c}

{C1.2.1.i}

{C1.2.1.i} Generated C TManage users profile

interface

Defines the interface with the users to configure

your profile. This configuration need to be validated

by System Administrator that configure users

profile/permissions for each system user. The

System Administrator can assign a user more than

one profile. You can define access profiles, such as,

clients, suppliers, forwarders, local managers,

operators and corporate managers each one with

different permissions.

{C1.2.1.i} T

Configure

users profile

interface

Defines the interface with the system

administrator and super users to

configure profiles, that is create, consult,

change or disable profiles. They can

create, consult, change and disable

roles, that is a name of the activity they

play (ex. driver).

{P2} Accounts{C1.2.1.c}

{C1.2.1.d}{C1.1.1.i}

{C1.2.1.i2} Generated C T Authorization APIDefines the interface between services and

aplications with the authorization service.{C1.2.1.i2} T

Authorization

Service API

Defines the interface between services

and aplications with the authorization

service.

{P2} Accounts{C1.2.1.d}

{C1.8.i}

{C3.1.1.i}

{C5.4.d}

{C8.1.1.i}

{C8.1.2.i}

{C8.2.3.i}

2vi - Global

elimination

2vii -

Component

renaming

2viii - Component specification4ii - UC

associations

Step 1 - Component creation

Use Case Description2i - Use case

identification

2ii - Local

elimination

2iii - Component

naming2iv - Component description

2v - Component

representation

Step 4 - Component association

4i - Direct

associations

Step 2 - Component elimination

Page 124: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

108

{U1.2.2} Assign permissions i

{C1.2.2.c} Generated C F

{C1.2.2.d} Generated C F

{C1.2.2.i} Generated C TConfigure users

profile interface

Defines the interface with the users to configure

your profile. This configuration need to be validated

by System Administrator that configure users

profile/permissions for each system user. The

System Administrator can assign a user more than

one profile. You can define access profiles, such as,

clients, suppliers, forwarders, local managers,

operators and corporate managers each one with

different permissions. Each profile may be

associated with access to one or more

applications/services.

{C1.2.1.i} F

{U1.3.1} Authentication i

{C1.3.1.c} Generated C F

{C1.3.1.d} Generated C F

{C1.3.1.i} Generated C TInsert username and

password interface

Defines the interface with system users to perform

authentication each time that him wants to access

to the system.

{C1.3.1.i} T

User

authentication

interface

Defines the interface with system users

to perform authentication each time that

him wants to access to the platform or

driver guidance application.

{P1} Authentication {C1.1.1.d}

{U1.3.2} Recover account ci

{C1.3.2.c} Generated C TRecover account

processor

Allows the execution of the necessary commands

by system to update password in the users

database. Each time that users update password an

email is sended to users account email to confirm

password.

{C1.3.2.c} T

Recover

account

processor

Allows the execution of the necessary

commands by system to update

password in the users database. Each

time that users update password an

email is sended to users account email

to confirm password.

{P1} Authentication {C1.3.2.i} {C1.1.1.d}

{C1.3.2.d} Generated C F

{C1.3.2.i} Generated C TRecover account

interface

Defines the interface with the system users to

recover password. This case allows users to

change his password when access to the first time

to the the system. Also allows users to recover

password in the case of forgetfulness or other

situation.

{C1.3.2.i} T

Recover

account

interface

Defines the interface with the system

users to recover password. This case

allows users to change his password

when access to the first time to the the

system. Also allows users to recover

password in the case of forgetfulness or

other situation.

{P1} Authentication {C1.3.2.c}

{U.1.4.1} Manage business groups cdi

{C1.4.1.c} Generated C TManage business

groups processor

This C allows the execution of the necessary

commands by system to verify if the inserted group

exists in the groups database. If exists system

"shows a red light" and inform that the introduced

group already exists.

{C1.4.1.c} T

Manage

business

groups

processor

Allows the execution of the necessary

commands by system to verify if the

inserted group exists in the groups

database. If exists system "shows a red

light" and inform that the introduced

{P2} Accounts{C1.4.1.d}

{C1.4.1.i}

{C1.4.1.d} Generated C TBusiness groups

data

Stores the corporates data. By "data" we interpret

that is all the information relevant for this object,

such as: name, NIF, email, phone, address, latitude,

longitude and description (optional).

{C1.4.1.d} TBusiness

groups data

Stores the data of business groups. By

"data" we interpret that is all the

information relevant for this object, such

as: name, NIF, email, phone, address,

latitude, longitude and description

(optional).

{P2} Accounts{C1.4.1.c}

{C1.4.1.i}

{C1.4.1.i} Generated C TManage business

groups interface

Defines the interface with the system administrator

to execute CRUD operations related with

corporates.

{C1.4.1.i} T

Manage

business

groups

interface

Defines the interface with the system

administrator to execute CRUD

operations related with corporates.

{P2} Accounts{C1.4.1.c}

{C1.4.1.d}

{C1.4.1.i2} Generated C TManage stakeholders

API

Defines the interface between services and

aplications with the stakeholders service.{C1.4.1.i2} T

Manage

stakeholders

service API

Defines the interface between services

and aplications with the stakeholders

service.

{P3} Business Management {C1.4.1.d}

{C1.1.1.i}

{C1.4.2.4.d}

{C1.5.1.d}

{C1.5.5.i}

{C1.6.d}

{C1.7.d}

{C7.2.i}{U1.4.2} Manage companies cdi

{C1.4.2.c} Generated C TManage companies

processor

Allows the execution of the necessary commands

by system to verify if the inserted company exists in

the companies database. If exists system "shows a

red light" and inform that the introduced company

already exists.

{C1.4.2.c}

{C1.4.2.1.c}

{C1.4.2.2.c}

{C1.4.2.3.c}

T

Manage

companies

processor

Allows the execution of the necessary

commands by system to verify if the

inserted company exists in the

companies database. If exists system

"shows a red light" and inform that the

introduced company already exists.

{P2} Accounts{C1.4.2.i}

{C1.4.2.d}

{C1.4.2.d} Generated C T Companies data

Stores the companies data. By "data" we interpret

that is all the information relevant for this object,

such as: name, NIF, phone, email, address, latitude,

longitude, corporate name and description (optional).

{C1.4.2.d}

{C1.4.2.1.d}

{C1.4.2.2.d}

{C1.4.2.3.d}

TCompanies

data

Stores the data of the companies. By

"data" we interpret that is all the

information relevant for this object, such

as: name, NIF, phone, email, address,

latitude, longitude, corporate name and

de3scription (optional).

{P2} Accounts{C1.4.2.c}

{C1.4.2.i}

{C1.4.2.i} Generated C TManage group

companies interface

Defines the interface with the Corporate manager of

a given group to execute CRUD operations related

with their companies.

{C1.4.2.i}

{C1.4.2.1.i}

{C1.4.2.2.i}

{C1.4.2.3.i}

{C1.4.2.3.1.i}

T

Manage

companies

interface

Defines the interface with the Corporate

manager of a given group to execute

CRUD operations related with their

companies.

{P2} Accounts{C1.4.2.c}

{C1.4.2.d}

{U1.4.2.1} Manage forwarders

companiescdi

{C1.4.2.1.c} Generated C T

Manage forwarders

companies

processor

Allows the execution of the necessary commands

by system to verify if the inserted company exists in

the forwarders companies database. If exists

system "shows a red light" and inform that the

introduced company already exists.

{C1.4.2.c} F

{C1.4.2.1.d} Generated C TForwarders

companies data

Stores the data of the forwarders companies. By

"data" we interpret that is all the information relevant

for this object, such as: name, NIF, phone, email,

address, latitude, longitude, corporate name and

description (optional).

{C1.4.2.d} F

{C1.4.2.1.i} Generated C TManage forwarders

companies interface

Defines the interface with the Forwarders admin of a

given forwarder to execute CRUD operations related

with their companies.

{C1.4.2.i} F

Page 125: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

109

{U1.4.2.2} Manage clients

companiesdi

{C1.4.2.2.c} Generated C F

{C1.4.2.2.d} Generated C TClients companies

data

Stores the data of the clients companies. By "data"

we interpret that is all the information relevant for this

object, such as: name, NIF, phone, email, address,

latitude, longitude, corporate name and description

(optional).

{C1.4.2.d} F

{C1.4.2.2.i} Generated C TManage clients

companies interface

Defines the interface with the Clients admin of a

given client to execute CRUD operations related with

their companies.

{C1.4.2.i} F

{U1.4.2.3} Manage supplier

companiesdi

{C1.4.2.3.c} Generated C F

{C1.4.2.3.d} Generated C TSuppliers companies

data

Stores the data of the suppliers companies. By

"data" we interpret that is all the information relevant

for this object, such as: name, NIF, phone, email,

address, latitude, longitude, corporate name and

description (optional).

{C1.4.2.d} F

{C1.4.2.3.i} Generated C TManage suppliers

companies interface

Defines the interface with the Forwarders admin of a

given forwarder to execute CRUD operations related

with their companies.

{C1.4.2.i} F

{U1.4.2.3.1} Associate group i

{C1.4.2.3.1.c} Generated C F

{C1.4.2.3.1.d} Generated C F

{C1.4.2.3.1.i} Generated C TAssociate group

interface

Defines the interface with the Corporate managers

of a given group to associate a company to a given

corporate.

{C1.4.2.c} F

{U1.4.2.4} Manage factories di

{C1.4.2.4.c} Generated C F

{C1.4.2.4.d} Generated C T Factories data

Stores the factories data. By "data" we interpret that

is all the information relevant for this object, such as:

name, NIF, email, phone, address, latitude,

longitude, description (optional) and associated

company.

{C1.4.2.4.d} T Factories data

Stores the data of factories. By "data"

we interpret that is all the information

relevant for this object, such as: name,

NIF, email, phone, address, latitude,

longitude, description (optional) and

associated company.

{P2} Accounts {C1.4.2.4.i}

{C1.4.2.4.i} Generated C TManage factories

interface

Defines the interface with the system administrator

to execute CRUD operations related with factories. {C1.4.2.4.i} T

Manage

factories

interface

Defines the interface with the system

administrator to execute CRUD

operations related with factories.

{P2} Accounts {C1.4.2.4.d}

{U1.4.2.5} Manage entities di

{C1.4.2.5.c} Generated C F

{C1.4.2.5.d} Generated C T Entities data

Stores the entities data. By "data" we interpret that is

all the information relevant for this object, such as:

name, NIF, email, phone, address and description

(optional).

{C1.4.2.5.d} T Entities data

Stores the entities data. By "data" we

interpret that is all the information

relevant for this object, such as: name,

NIF, email, phone, address and

description (optional).

{P2} Accounts {C1.4.2.5.i}

{C1.4.2.5.i} Generated C TManage entities

interface

Defines the interface with the system administrator

to execute CRUD operations related with entities. {C1.4.2.5.i} T

Manage

entities

interface

Defines the interface with the system

administrator to execute CRUD

operations related with entities.

{P2} Accounts {C1.4.2.5.d}

{U1.5.1} Validate tokens di

{C1.5.1.c} Generated C F

{C1.5.1.d} Generated C T Tokens data

Stores the data of the suppliers companies. By

"data" we interpret that is all the information relevant

for this object, such as: code, description,

associated entity and associated factory.

{C1.5.1.d} T Tokens data

Stores the data of the suppliers

companies. By "data" we interpret that is

all the information relevant for this object,

such as: code, description, associated

entity and associated factory.

{P3} Business Management {C1.5.1.i} {C1.4.1.i2}

{C1.5.1.i} Generated C TManage tokens

interface

Defines the interface with the System administrator

to execute CRUD operations related with virtual

tokens as well as associate forwarders and

factories that request a new token or tokens.

{C1.5.1.i}{C1.5.2.i}

{C1.5.3.i}T

Manage tokens

interface

Defines the interface with the System

administrator to execute CRUD

operations related with virtual tokens as

well as associate forwarders and

factories that request a new token or

tokens.

{P3} Business Management {C1.5.1.d}{C1.1.1.i2}

{C1.2.1.i2}

{U1.5.2} Associate entity

{C1.5.2.c} Generated C F

{C1.5.2.d} Generated C F

{C1.5.2.i} Generated C TAssociate entity

interface

Defines the interface with the System administrator

to associate tokens to entities.{C1.5.1.i} F

{U1.5.3} Associate factory

{C1.5.3.c} Generated C F

{C1.5.3.d} Generated C F

{C1.5.3.i} Generated C TAssociate factory

interface

Defines the interface with the System administrator

to associate tokens to factories.{C1.5.1.i} F

Page 126: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

110

{U1.5.4} Request tokens

{C1.5.4.c} Generated C F

{C1.5.4.d} Generated C F

{C1.5.4.i} Generated C TRequest tokens

interface

Defines the interface with the corporate manager to

request tokens for their factories.{C1.5.4.i} T

Request tokens

interface

Defines the interface with the corporate

manager to request tokens for their

factories.

{P3} Business Management

{C1.1.1.i2}

{C1.2.1.i2}

{C1.4.1.i2}

{U1.5.15 Assign tokens di

{C1.5.5.c} Generated C F

{C1.5.5.d} Generated C F

{C1.5.5.i} Generated C TAssign tokens

interface

Defines the interface with the admin factory to

assign tokens to their drivers.{C1.5.5.i} T

Manage tokens

interface

Defines the interface with the admin

factory to assign tokens to their drivers.{P3} Business Management

{C1.1.1.i2}

{C1.2.1.i2}

{C1.4.1.i2}

{U1.6} Manage trucks cdi

{C1.6.c} Generated C TManage trucks

processor

Allows the execution of the necessary commands

by system to verify if the created truck exists in

database.

{C1.6.c} TManage trucks

processor

Allows the execution of the necessary

commands by system to verify if the

created truck exists in database.

{P3} Business Management{C1.6.d}

{C1.6.i}

{C1.6.d} Generated C T Trucks data

Stores the data of the user. By "data" we interpret

that is all the information relevant for this object,

such as: brand, model, type, license, trailers

(optional) and entity name.

{C1.6.d} T Trucks data

Stores the data of the user. By "data" we

interpret that is all the information

relevant for this object, such as: brand,

model, type, license, trailers (optional)

and entity name.

{P3} Business Management{C1.6.c}

{C1.6.i}{C1.4.1.i2}

{C1.6.i} Generated C TManage trucks

interface

Defines the interface with System Administrator to

create a new truck.{C1.6.i} T

Manage trucks

interface

Defines the interface with System

Administrator to create a new truck.{P3} Business Management

{C1.6.c}

{C1.6.d}

{C1.1.1.i2}

{C1.2.1.i2}

{U1.7} Manage trailers cdi

{C1.7.c} Generated C TManage trailers

processor

Allows the execution of the necessary commands

by system to verify if the created trailer exists in

database.

{C1.7.c} TManage trailers

processor

Allows the execution of the necessary

commands by system to verify if the

created trailer exists in database.

{P3} Business Management{C1.7.d}

{C1.7.i}

{C1.7.d} Generated C T Trailers data

Stores the data of the user. By "data" we interpret

that is all the information relevant for this object,

such as: brand, model, type, license and entity

name.

{C1.7.d} T Trailers data

Stores the data of the user. By "data" we

interpret that is all the information

relevant for this object, such as: brand,

model, type, license and entity name.

{P3} Business Management{C1.7.c}

{C1.7.i}{C1.4.1.i2}

{C1.7.i} Generated C TManage trailers

interface

Defines the interface with System Administrator to

create a new trailer.{C1.7.i} T

Manage trailers

interface

Defines the interface with System

Administrator to create a new trailer.{P3} Business Management

{C1.7.c}

{C1.7.d}{C1.1.1.i2}

{U1.8} Consult SLA {C1.2.1.i2}

{C1.8.c} Generated C F

{C1.8.d} Generated C F

{C1.8.i} Generated C TConsult users SLA

interface

Defines the interface with the System Administrator

to consult users SLA, that is information about the

use of UH4SP services, namely consulting the

contracted services, consult the traffic and amount

billed so far, among others. The Cloud consumers

uses this interface just to consult the contracted

services, consult the traffic and amount billed so far.

{C1.8.i} TConsult users

SLA interface

Defines the interface with the System

Administrator to consult users SLA, that

is information about the use of UH4SP

services, namely consulting the

contracted services, consult the traffic

and amount billed so far, among others.

The Cloud consumers uses this

interface just to consult the contracted

services, consult the traffic and amount

billed so far.

{P3} Business Platform

Management

{C1.1.1.i2}

{C1.2.1.i2}

{C5.4.d}

{C6.2.i}

{U1.9.1} Configure application cdi

{C1.9.1.c} Generated C T

Configure

applications

processor

Allows the automatic generation of tokens by system

when a new aplication is created or refreshed.{C1.9.1.c} T

Configure

applications

processor

Allows the automatic generation of

tokens by system when a new aplication

is created or refreshed.

{P1} Authentication{C1.9.1.d}

{C1.9.1.i}

{C1.9.1.d} Generated C T Applications data Stores the applications data. {C1.9.1.d} T Applications data Stores the applications data. {P1} Authentication{C1.9.1.d}

{C1.9.1.d}{C1.1.1.i2}

{C1.9.1.i} Generated C TConfigure

applications interface

Defines the interface with the system administrator

to configure applications.{C1.9.1.i} T

Configure

applications

interface

Defines the interface with the system

administrator to configure applications.{P1} Authentication

{C1.9.1.c}

{C1.9.1.d}{C1.2.1.i}

{U1.9.2} Perform authentication i

{C1.9.2.c} Generated C F

{C1.9.2.d} Generated C F

{C1.9.2.i} Generated C T

Perform

authentication

interface

Defines the interface with the system administrator

to configure applications.{C1.9.2.i} T

Apps

authentication

interface

Defines the interface with the system

administrator to configure applications.{P1} Authentication {C1.1.1.i2}

{U1.9.3} Assign a token i

{C1.9.3.c} Generated C F

{C1.9.3.d} Generated C F

{C1.9.3.i} Generated C TAssign a token

interface

Defines the interface with the system administrator

to assign or refresh a token to an application.{C1.9.1.i} F

Page 127: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

111

{U2.1}Manage local IT

resourcesdi

{C2.1.c} Generated C F

{C2.1.d} Generated C TIntervention and

maintenance data

Allows to save all data about maintenance need or

interventions.{C2.1.d} {C2.2.d} T

Intervention and

maintenance

data

Allows to save all data about

maintenance need or interventions.{P6} Industrial maintenance

{C2.1.i}

{C2.2.i}

{C2.3.i}

{C2.1.i} Generated C T

Verify intervention or

maintenance needs

interface

Defines a interface that allows the System

Administrator and IT Managers to verify intervention

or maintenance needs that can be scheduled at

{U2.2} Schedule interventions.

{C2.1.i} T

Verify

intervention or

maintenance

needs interface

Defines a interface that allows the

System Administrator and IT Managers

to verify intervention or maintenance

needs that can be scheduled at {U2.2}

Schedule interventions.

{P6} Industrial maintenance {C2.1.d}

{U2.2} Schedule assistance di

{C2.2.c} Generated C F

{C2.2.d} Generated C TStore interventions

dataAllows to save all interventions data. {C2.1.d} F

{C2.2.i} Generated C T

Schedule

interventions

interface

Defines a interface that allows the System

Administrator and IT Manager to schedule

interventions that permits to manage assistance to

industrial units IT resources (Remote assistance

with smart devices).

{C2.2.i} T

Schedule

interventions

interface

Defines an interface that allows the

System Administrator and IT Manager to

schedule interventions that permits to

manage assistance to industrial units IT

resources (Remote assistance with

smart devices).

{P6} Industrial maintenance {C2.1.d}

{U2.3} Perform assistance di

{C2.3.c} Generated C F

{C2.3.d} Generated C TStore interventions

dataAllows to save all interventions data. {C2.1.d} F

{C2.3.i} Generated C TPerform interventions

interface

Defines a interface that allows the System

Administrator and IT managers to perform remote

assistance to IT resources through smart glasses

and others smart devices. This assistance was

schedule at {C2.2.i} Schedule interventions

interface.

{C2.3.i} T

Perform

interventions

interface

Defines a interface that allows the

System Administrator and IT managers

to perform remote assistance to IT

resources through smart glasses and

others smart devices. This assistance

was schedule at {C2.2.i} Schedule

interventions interface.

{P6} Industrial maintenance {C2.1.d}

{U2.4} Provide users training di

{C2.4.c} Generated C F

{C2.4.d} Generated C T Users training dataAllows to store all tutorials or documentation that

provides a user help.{C2.4.d} T

Users training

data

Allows to store all tutorials or

documentation that provides a user help.{P3} Business Management {C2.4.i}

{C2.4.i} Generated C TUsers training

interface

Defines a interface that allows System Administrator

to Manage users training, that is check for training

needs and schedule user training. An example of

this use case will be when introducing new smart

devices in which the users have to be trained so that

they are handled correctly. This use case also

provides tutorials about system features. The IT

Managers interact with this use case to introduce

training needs and access to tutorials and help

documentation. The Local Managers, Operators and

Drivers interact with this use case to consult

tutorials and help documentation.

{C2.4.i} TUsers training

interface

Defines a interface that allows System

Administrator to Manage users training,

that is check for training needs and

schedule user training. An example of

this use case will be when introducing

new smart devices in which the users

have to be trained so that they are

handled correctly. This use case also

provides tutorials about system features.

The IT Managers interact with this use

case to introduce training needs and

access to tutorials and help

documentation. The Local Managers,

Operators and Drivers interact with this

use case to consult tutorials and help

documentation.

{P3} Business Management {C2.4.d}

{U2.5} Generate templates di

{C2.5.c} Generated C F

{C2.5.d} Generated C TServices template

dataAllows to store all service templates. {C2.5.d} T

Services

template dataAllows to store all service templates. {P3} Business Management {C2.5.i}

{C2.5.i} Generated C TGenerate service

templates interface

Defines the interface with System Administrator that

allows him, to configure a service to a given future

user that is a set of parameters and configuration of

the service needs (e.g.: database connection). This

preconfigurations will be saved at {C2.4.d} as

templates of services.

{C2.5.i} T

Generate

service

templates

interface

Defines the interface with System

Administrator that allows him, to

configure a service to a given future user

that is a set of parameters and

configuration of the service needs (e.g.:

database connection). This

preconfigurations will be saved at

{C2.4.d} as templates of services.

{P3} Business Management {C2.5.d}

{U3.1.1} Perform check-in ci

{C3.1.1.c} Generated C TDriver guidance

processor

Allows the execution of the necessary commands

by application to execute check-in.{C3.1.1.c}

{C3.1.2.c}

{C3.1.3.c}

{C3.1.4.c}

{C3.1.5.c}

{C3.1.6.c}

TDriver guidance

processor

Allows the execution of the necessary

commands by application to execute

driver guidance functionalities.

{P9} Driver guidance

{C3.1.1.i}

{C3.1.2.i}

{C3.1.3.i}

{C3.1.4.i}

{C3.2.1.c}

{C3.1.1.d} Generated C F

{C3.1.1.i} Generated C TPerform check-in

interface

Defines a interface, trought a mobile application that

allows the driver to perform remote check-in{C3.1.1.i} T

Perform check-in

interface

Defines a interface, trought a mobile

application that allows the driver to

perform remote check-in.

{P9} Driver guidance {C3.1.1.c}{C1.1.1.i2}

{C1.2.1.i2}

{U3.1.2} Perform check-out ci

{C3.1.2.c} Generated C TDriver guidance

processor

Allows the execution of the necessary commands

by application to execute check-out.{C3.1.1.c} F

{C3.1.2.d} Generated C F

{C3.1.2.i} Generated C TPerform check-out

interface

Defines a interface, trought a mobile application that

allows the driver to perform remote check-out.{C3.1.2.i} T

Perform check-

out interface

Defines a interface, trought a mobile

application that allows the driver to

perform remote check-out.

{P9} Driver guidance {C3.1.1.c}{C1.1.1.i2}

{C1.2.1.i2}

{U3.1.3}Access system

informationci

{C3.1.3.c} Generated C TDriver guidance

processor

Allows the execution of the necessary commands

by application to access system information.{C3.1.1.c} F

{C3.1.3.d} Generated C F

{C3.1.3.i} Generated C TAccess system

information interface

Defines a interface, trought a mobile application that

allows the driver to access system information.{C3.1.3.i} T

Access system

information

interface

Defines a interface, trought a mobile

application that allows the driver to

access system information.

{P9} Driver guidance {C3.1.1.c}

{U3.1.4}Communicate via voice

with centralci

{C3.1.4.c} Generated C TDriver guidance

application processor

Allows the execution of the necessary commands

by application to communicate with central system.{C3.1.1.c} F

{C3.1.4.d} Generated C F

{C3.1.4.i} Generated C TCommunicate via

voice interface

Defines a interface, trought a mobile application that

allows the driver to communicate via voice with

central system.

{C3.1.4.i} TCommunicate via

voice interface

Defines a interface, trought a mobile

application that allows the driver to

communicate via voice with central

system.

{P9} Driver guidance {C3.1.1.c}{C1.1.1.i2}

{C1.2.1.i2}

Page 128: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

112

{U3.1.5} Determine user position c

{C3.1.5.c} Generated C TDriver guidance

application processor

Allows the execution of the necessary commands

by application to determine user position.{C3.1.1.c} F

{C3.1.5.d} Generated C F

{C3.1.5.i} Generated C F

{U3.2.1} Manage maps cdi

{C3.2.1.c} Generated C TDrive guidance

backoffice processor

Allows the execution of the necessary commands

by system to manage driver guidance backoffice.{C3.2.1.c}

{C3.2.2.c}

{C3.2.3.c}T

Drive guidance

back office

processor

Allows the execution of the necessary

commands by system to manage driver

guidance back office.

{P9} Driver guidance{C3.2.1.d}

{C3.2.1.i}{C4.2.4.2.c}

{C3.2.1.d} Generated C T Maps data Allows to save all maps configurations data. {C3.2.1.d} T Maps dataAllows to save all maps configurations

data.{P9} Driver guidance

{C3.2.1.c}

{C3.2.1.i}

{C3.2.1.i} Generated C TManage maps

interface

Defines a interface that allows the factory it manager

and system admin to manage factory plant maps.{C3.2.1.i} T

Manage maps

interface

Defines a interface that allows the

factory it manager and system admin to

manage factory plant maps.

{P9} Driver guidance {C3.2.1.d}

{U3.2.2} Manage map routes cdi

{C3.2.2.c} Generated C TManage map routes

processor

Allows the execution of the necessary commands

by system to manage driver guidance backoffice.{C3.2.1.c} F

{C3.2.2.d} Generated C T Map routes data Allows to save all routes configurations data. {C3.2.2.d} T Map routes dataAllows to save all routes configurations

data.{P9} Driver guidance {C3.2.2.i} {C3.2.1.c}

{C3.2.2.i} Generated C TManage map routes

interface

Defines a interface that allows the factory it manager

and system admin to manage routes in a given

factory map route.

{C3.2.2.i} TManage route

interface

Defines a interface that allows the

factory it manager and system admin to

manage routes in a given factory map

{P9} Driver guidance {C3.2.2.d}

{U3.2.3} Manage events cdi

{C3.2.3.c} Generated C TManage events

processor

Allows the execution of the necessary commands

by system to manage driver guidance backoffice{C3.2.1.c} F

{C3.2.3.d} Generated C T Events data Allows to save all events configurations data. {C3.2.3.d} T Events dataAllows to save all events configurations

data.{P9} Driver guidance {C3.2.3.i} {C3.2.1.c}

{C3.2.3.i} Generated C TManage events

interface

Defines a interface that allows the factory it manager

and system admin to manage events in a given

factory route.

{C3.2.3.i} TManage events

interface

Defines a interface that allows the

factory it manager and system admin to

manage events in a given factory route.

{P9} Driver guidance {C3.2.3.d}

{U4.1.1} Consults information i{C4.1.1.c} Generated C F{C4.1.1.d} Generated C F

{C4.1.1.i} Generated C TConsults information

interface

Defines the interface that allows a given user, with

respective profile and information access

configurations {U4.1.2} Configure business

information access (corporate manager, local

manager, client, supplier or forwarder) to consult

business information that is, for example,

documents related to sales, production status,

current accounts, historical of business

communications, documents relating to orders and

other business information.

{C4.1.1.i} T

Consults

information

interface

Defines the interface that allows a given

user, with respective profile and

information access configurations

{U4.1.2} Configure business information

access (corporate manager, local

manager, client, supplier or forwarder) to

consult business information that is, for

example, documents related to sales,

production status, current accounts,

historical of business communications,

{P3} Business Management {C4.1.2.c}

{U4.1.2}Configure business

information accesscdi

{C4.1.2.c} Generated C T

Information access

configuration

processor

Allows the realization of the required commands to

perform automatic changes to all stakolders

information access configurations.

{C4.1.2.c} T

Information

access

configuration

processor

Allows the realization of the required

commands to perform automatic

changes to all stakolders information

access configurations.

{P3} Business Management{C4.1.2.d}

{C4.1.2.i}

{C4.1.1.i}

{C4.1.3.i}

{C4.1.2.d} Generated C TInformation access

configurations

Allows to save all information access configurations

data.{C4.1.2.d} T

Information

access

configurations

Allows to save all information access

configurations data.{P3} Business Management {C4.1.2.c}

{C4.1.2.i} Generated C T

Information access

configuration

interface

Defines a interface that allows a given stakeholder

or manager to configure the content of the

exchanged messages. It also allows stakeholders to

define which notifications they wish to receive from

the industrial units. This configuration serves, as

input to use cases {U4.1.1} Consults information

and {U4.1.3} Perform business notifications knows

what information and notifications a given actor has

access. These configurations has system

administrator validation.

{C4.1.2.i} T

Information

access

configuration

interface

Defines a interface that allows a given

stakeholder or manager to configure the

content of the exchanged messages. It

also allows stakeholders to define which

notifications they wish to receive from

the industrial units. This configuration

serves, as input to use cases {U4.1.1}

Consults information and {U4.1.3}

Perform business notifications knows

what information and notifications a

given actor has access. These

configurations has system administrator

validation.

{P3} Business Management {C4.1.2.c}

{U4.1.3}Perform business

notificationscdi

{C4.1.3.c} Generated C T

Business

notifications

processor

Allows the realization of the required commands to

perform automatic notifications to stakeholders. {C4.1.3.c} T

Business

notifications

processor

Allows the realization of the required

commands to perform automatic

notifications to stakeholders.

{P3} Business Management{C4.1.3.i}

{C4.1.3.d}

{C4.1.3.d} Generated C TBusiness

notifications dataAllows to save all notifications data. {C4.1.3.d} T

Business

notifications dataAllows to save all notifications data. {P3} Business Management

{C4.1.3.i}

{C4.1.3.c}

{C4.1.3.i} Generated C TPerform business

notifications interface

Defines a interface that allows the system

administrator, a given stakeholder or managers to

perform business notifications.

{C4.1.3.i} T

Perform

business

notifications

Defines a interface that allows the

system administrator, a given

stakeholder or managers to perform

{P3} Business Management {C4.1.3.d} {C4.1.2.c}

{U4.2.1} Abort operations cdi

{C4.2.1.c} Generated C TAbort operations

processor

Allows system to process the commands executed

by authorized users at {C4.2.1.i} and perform the

automatic notifications when a given user abort an

operation.

{C4.2.5.1.c} F

{C4.2.1d} Generated C T Abort operations data Allows to save all operations data. {C4.2.5.1.d} F

{C4.2.1.i} Generated C TAbort operations

interface

Defines a interface that allows the Local Manager,

the Corporate Manager or an Operator to abort a

given logistic operation, for example, suspend

temporarily logistic operations due to constraints in

the factory or another unexpected situation.

{C4.2.1.i} TAbort operations

interface

Defines a interface that allows the Local

Manager, the Corporate Manager or an

Operator to abort a given logistic

operation, for example, suspend

temporarily logistic operations due to

constraints in the factory or another

unexpected situation.

{P3} Business Management {C4.2.5.1.c}

{C4.2.5.1.d}

{C4.2.3.i}

Page 129: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

113

{U4.2.2} Consult operations i

{C4.2.2.c} Generated C F

{C4.2.2.d} Generated C F

{C4.2.2.i} Generated C TConsult operations

interface

Defines a interface that allows the Corporate

Manager, Local Manager, the Operator and the

Stakeholders to consult operations that is, for

example, all phases of a load/unload operation.

{C4.2.2.i} T

Consult

operations

interface

Defines a interface that allows the

Corporate manager, Local manager, the

Operator and the stakeholders to consult

operations that is, for example, all

phases of a load/unload operation.

{P3} Business Management

{U4.2.3} Notify operations cdi

{C4.2.3.c} Generated C TNotifications

processor

Allows the realization of the required commands to

perform notifications about logistic operations. When

a given operation is aborted at {U.4.2.1} Abort

operations, a automatic notification is performed and

sent to the operation envolved stakeholders.

{C4.2.3.c} TNotifications

processor

Allows the realization of the required

commands to perform notifications

about logistic operations. When a given

operation is aborted at {U4.2.1} Abort

operations, an automatic notification is

performed and sent to the operation

envolved stakeholders.

{SP4.3} Collaboration

Service

{C4.2.3.d}

{C4.2.3.i}

{C4.2.3.d} Generated C T Notifications dataAllows to store all information about operations

notifications.{C4.2.3.d} T

Notifications

data

Allows to store all information about

operations notifications.

{SP4.3} Collaboration

Service

{C4.2.3.i}

{C4.2.3.c}

{C4.2.3.i} Generated C T Notifications interface

Defines a interface that allows the Corporate

Manager, the Local Manager, the Operator and the

Stakeholders to perform notifications about

industrial unit logistic operations, for example:

load/unload operation time, and other notifications.

{C4.2.3.i} TNotifications

interface

Defines a interface that allows the

Corporate Manager, the Local Manager,

the Operator and the Stakeholders to

perform notifications about industrial unit

logistic operations, for example:

load/unload operation time, and other

notifications.

{SP4.3} Collaboration

Service

{C4.2.3.d}

{C4.2.3.c}

{U4.2.4.1} Integrate with sensors i

{U4.2.4.1.c} Generated C F{U4.2.4.1.d} Generated C F

{C4.2.4.1.i} Generated C T Sensors interface

Defines a interface that allows this local sensors to

register his endpoint in the directory service and to

publish message in the broker. This interface is a

REST API.

{C4.2.4.1.i} T Sensors APIAllows to store all data about sensors

integration.{P5} Integrator

{U4.2.4.2} Integrate with mobile

devicesi

{U4.2.4.2.c} Generated C F{U4.2.4.2.d} Generated C F

{U4.2.4.2.i} Generated C TMobile devices

interface

Defines a interface that allows the mobile devices to

register his endpoint in the directory service and to

publish message in the broker. This interface is a

REST API.

{U4.2.4.2.i} TMobile devices

API

Defines a interface that allows the

mobile devices to register his endpoint in

the directory service and to publish

message in the broker. This interface is

a REST API.

{P5} Integrator

{U4.2.4.3} Integrate with systems i

{U4.2.4.3.c} Generated C F{U4.2.4.3.d} Generated C F

{U4.2.4.3.i} Generated C T Systems interface

Defines a interface that allows the local systems to

register his endpoint in the directory service and to

publish message in the broker. This interface is a

REST API.

{U4.2.4.2.i} T Systems API

Defines a interface that allows the local

systems to register his endpoint in the

directory service and to publish

message in the broker. This interface is

a REST API.

{P5} Integrator

{U5.1.1} Install service cdi

{C5.1.1.c} Generated C TServices deployment

processor

Allows the execution of the necessary commands

for the integrated use with Cloud provider APIs in

order to install applications in order to be provisioned

and install new versions of applications when a

update is available.

{C5.1.1.c}{C5.1.4.c}

{C5.1.5.c}T

Services

deployment

processor

Alows the execution of the necessary

commands for the integrated use with

Cloud provider APIs in order to install

applications in order to be provisioned

and install new versions of applications

when a update is available.

{P7} Services{C5.1.1.d}

{C5.1.1.i}

{C5.1.1.d} Generated C T Service dataStores the data of the services management, that is

all allocated resources to a given service.{C5.1.1.d}

{C5.1.2.d}

{C5.1.3.d}

{C5.1.4.d}

{C5.1.5.d}

T Service data

Stores the data of the services

management, that is all allocated

resources to a given service.

{P7} Services{C5.1.1.c}

{C5.1.1.i}

{C5.1.1.i} Generated C TInstall service

interface

Defines the interface with System Administrator that

allows him, through the previous consultation of SLA

contracted, to install a new service to a given cloud

consumer.

{C5.1.1.i}

{C5.1.2.i}

{C5.1.3.i}

{C5.1.4.i}

TInstall service

interface

Defines the interface with System

Administrator that allows him, through

the previous consultation of SLA

contracted ({C1.3.i} Consult SLA), to

install a new service to a given cloud

consumer or even update and disable a

service.

{P7} Services{C5.1.1.c}

{C5.1.1.d}

{U5.1.2} Configure service di

{C5.1.2.c} Generated C F

{C5.1.2.d} Generated C T Store service data Same as {C5.1.1.d} {C5.1.1.d} F

{C5.1.2.i} Generated C T Edit service interface

Defines the interface with System Administrator that

allows him, to configure a service to a given cloud

consumer that is a set of parameters and

configuration of the service needs. These

configurations are required when some changes are

made to SLA and a new service are installed or

updated. It also allows the System Administrator to

define the addresses for each workstation of a given

production unit. These addresses are then used to

define the post that accesses the services, as well

as the address to which the services themselves

return information.

{C5.1.1.i} F

{U5.1.3} Disable service di

{C5.1.3.c} Generated C F

{C5.1.3.d} Generated C T Store service dara Same as {C5.1.1.d} {C5.1.1.d} F

{C5.1.3.i} Generated C TDisable service

interface

Defines the interface with System Administrator that

allows him, through the previous consultation of SLA

contracted ({C1.3.i} Consult SLA), to disable a

service to a given cloud consumer (e.g.: End of

contract).

{C5.1.1.i} F

{U5.1.4} Update service cdi

{C5.1.4.c} Generated C T

Services update

deployment

processor

Allows the realization of the required commands for

integrated use with Cloud provider APIs in order to

install new versions of applications.

{C5.1.1.c} F

{C5.1.4.d} Generated C T Store service data Same as {C5.1.1.d} {C5.1.1.d} F

{C5.1.4.i} Generated C TUpdate service

interface

Defines the interface with System Administrator that

allows him,to update service to a given cloud

consumer. These updates are required when exists

a new version of a cloud service or a new

agreement is contracted at {C1.8.i} Consult users

SLA data.

{C5.1.1.i} F

Page 130: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

114

{U5.1.5} Assign service cdi

{C5.1.5.c} Generated C TServices deployment

processor

Allows the execution of the necessary commands

for the integrated use with Cloud provider APIs in

order to install applications in order to be provisioned

and install new versions of applications when a

update is available.

{C5.1.1.c} F

{C5.1.5.d} Generated C T Services data Same as {C5.1.1.d} {C5.1.1.d} F

{C5.1.5.i} Generated C TAssign services

interface

Defines the interface with Corporate manager that

allows him to assign a given service to a given

forwarder. For example, a corporate manager

contract services (remote check-in, consults, etc)

with system administrator and after this Corporate

manager assign services to forwarders, clients or

suppliers of a given factory of the group.

{C5.1.5.i} TAssign services

interface

Defines the interface with Corporate

manager that allows him to assign a

given service to a given forwarder. For

example, a corporate manager contract

services (remote check-in, consults,

etc) with system administrator and after

this Corporate manager assign services

to forwarders, clients or suppliers of a

given factory of the group.

{P7} Services{C5.1.1.d}

{C5.1.1.c}

{U5.2} Generate cloud services

reports

{C5.2.c} Generated C T Reports generator

Allows the automatic generation of reports by

structuring the monitored data according to different

indicators views.

{C5.2.c} T Reports generator

Allows the automatic generation of

reports by structuring the monitored data

according to different indicators views.

{P6} Industrial Maintenance{C5.2.d}

{C5.2.i}

{C5.2.d} Generated C T Reports dataAllows to store monitored data that are used in the

reports generation.{C5.2.d} T Reports data

Allows to store monitored data that are

used in the reports generation.{P6} Industrial Maintenance

{C5.2.c}

{C5.2.i}

{C5.2.i} Generated C T

Generate cloud

services reports

interface

Defines the interface with the System Administrator

to generate reports of cloud services that is

monitored.

{C5.2.i} T

Generate cloud

services reports

interface

Defines the interface with the System

Administrator to generate reports of

cloud services that is monitored.

{P6} Industrial Maintenance{C5.2.d}

{C5.2.c}

{U5.3}Measure services

utilizationcdi

{C5.3.c} Generated C TMeasure services

utilization

Allows the realization of the required commands for

integrated use with Cloud provider APIs for the

Cloud services utilization measurement.

{C5.3.c} T

Measure

services

utilization

Allows the realization of the required

commands for integrated use with Cloud

provider APIs for the Cloud services

utilization measurement.

{P6} Industrial Maintenance{C5.3.d}

{C5.3.i}{C5.1.1.c}

{C5.3.d} Generated C TMeasured values

data

Allows to store measured data, that is values that

refers to data storage, processing, bandwidth, active

user accounts, among others.

{C5.3.d} TMeasured

values data

Allows to store measured data, that is

values that refers to data storage,

processing, bandwidth, active user

accounts, among others.

{P6} Industrial Maintenance{C5.3.c}

{C5.3.i}

{C5.3.i} Generated C TMeasured values

interface

Defines the interface with the System Administrator

and the Cloud Consumers to visualize through the

use of the API at {C5.3.d} Measure services

utilization. These values refer to data storage,

processing, bandwidth, active user accounts,

among others

{C5.3.i} TMeasured

values interface

Defines the interface with the System

Administrator and the Cloud Consumers

to visualize through the use of the API at

{C5.3.d} Measure services utilization.

These values refer to data storage,

processing, bandwidth, active user

accounts, among others.

{P6} Industrial Maintenance{C5.3.c}

{C5.3.d}{C5.2.i}

{U5.4} Define SLA di

{C5.4.c} Generated C F

{C5.4.d} Generated C T SLA data

Allows to store service level aggrement data, that is

a basic schema with the quality of the service

parameters, SLA monitoring and SLA execution,

according to the defined policies.

{C5.4.d} T SLA data

Allows to store service level aggrement

data, that is a basic schema with the

quality of the service parameters, SLA

monitoring and SLA execution,

according to the defined policies.

{P8} Business Platform

Management{C5.4.i}

{C1.1.1.i2}

{C1.2.1.i2}

{C5.4.i} Generated C T Define SLA interface

Defines the interface that allows the definition of the

SLA contract between System Administrator and

Cloud Consumers. This contract can be consulted

at {C1.8.i} Consult users SLA interface.

{C5.4.i} TDefine SLA

interface

Defines the interface that allows the

definition of the SLA contract between

System Administrator and Cloud

Consumers. This contract can be

consulted at {C1.8.i} Consult users SLA

interface.

{P8} Business Platform

Management{C5.4.d}

{U6.1} Manage backups cdi

{C6.1.c} Generated C T Backups generator

Allows the realization of the required commands to

system data backup. These backups can be

automatic with a previous configuration at {C6.1.i}

Manage backups,that includes, for example copies

periodicity, files selection/ folders to copy, among

others.

{C6.1.c} TBackups

generator

Allows the realization of the required

commands to system data backup.

These backups can be automatic with a

previous configuration at {C6.1.i}

Manage backups,that includes, for

example copies periodicity, files

selection/ folders to copy, among others.

{P6} Industrial Maintenance{C6.1.d}

{C6.1.i}

{C5.2.d}

{C5.2.i}

{C6.1.d} Generated C T Backups data

Allows system to save the data generated by the

backup process. This data will be used by UH4SP

system, for example to ensure data security and

disaster recovery.

{C6.1.d} T Backups data

Allows system to save the data

generated by the backup process. This

data will be used by UH4SP system, for

example to ensure data security and

disaster recovery.

{P6} Industrial Maintenance{C6.1.c}

{C6.1.i}

{C6.1.i} Generated C T Backups interface

Defines a interface that allows the System

Administrator to manage backups, that is copies

periodicity, files selection/ folders to copy, among

others. Backups should follow a standard format

that ensures correct data portability (for multi-cloud

communications) and its restoration. The backups

are made to data that are before synchronized and

integrated.

{C6.1.i} TBackups

interface

Defines a interface that allows the

System Administrator to manage

backups, that is copies periodicity, files

selection/ folders to copy, among others.

Backups should follow a standard format

that ensures correct data portability (for

multi-cloud communications) and its

restoration. The backups are made to

data that are before synchronized and

integrated.

{P7} Services{C6.1.d}

{C6.1.c}{C7.2.c}

{U6.2}Configure data access

controldi

{C6.2.c} Generated C F

{C6.2.d} Generated C T Access control data Stores the data of the security configurations. {C6.2.d} TAccess control

data

Stores the data of the security

configurations. {P3} Business Management {C6.2.i}

{C6.2.i} Generated C TConfigure data

access interface

Defines a interface that allows the System

Administrator and the Cloud Consumers to

configure data access control. The System

Administrator define the access to users services,

consonant the user license. That configuration is

done after {C1.2.i} Configure users profile. Other

data access control configurations examples are,

user credential synchronization between enterprises

and the cloud, sharing of access to data in a cloud,

etc.

{C6.2.i} TConfigure data

access interface

Defines a interface that allows the

System Administrator and the Cloud

Consumers to configure data access

control. The System Administrator define

the access to users services, consonant

the user license. That configuration is

done after {C1.2.i} Configure users

profile. Other data access control

configurations examples are, user

credential synchronization between

enterprises and the cloud, sharing of

access to data in a cloud, etc.

{P7} Services {C6.2.d}{C1.2.1.i}

{C1.8.i}

Page 131: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

115

{U7.1} Integrate systems cdi

{C7.1.c} Generated C TInformation systems

integration

Allows the realization of the required commands to

integrate information systems with cloud services.{C7.1.c} F

{C7.1.d} Generated C TStores integration

data

Allows system to save the data generated by the

integration process. This data will be used by

UH4SP system, for example to catalog integrated

systems.

{C7.1.d} F

{C7.1.i} Generated C TInformation systems

integration interface

Defines a interface the System Administrator to

integrate the various systems data. {C7.1.i} F

{U7.2} Synchronize data

{C7.2.c} Generated C TSynchronize data

processor

This component works as a publish-subscribe

messaging system. A given platform service can

subscribe to one or more topics and consume the

published messages by pulling data from the

brokers.

{C7.2.c} T

Broker

messaging

system

This component works as a publish-

subscribe messaging system. A given

platform service can subscribe to one or

more topics and consume the published

messages by pulling data from the

brokers.

{P5} Integrator{C7.2.d}

{C7.2.i}

{C7.2.d} Generated C TStore synchronized

data

Allows broker to save the data generated by

systems. It is data that is temporarily saved while

synchronization. In other words, this component its

a elastic search that backup the data. Data is

organized by topics.

{C7.2.d} TSynchronized

data

Allows broker to save the data generated

by systems. It is data that is temporarily

saved while synchronization. In other

words, this component its a elastic

search that backup the data. Data is

organized by topics.

{P5} Integrator{C7.2.c}

{C7.2.i}

{C7.2.i} Generated C TSynchronized data

interface

Defines a interface that allows platform services and

systems to communicate with broker in order to

synchronize data.

{C7.2.i} T Broker API

Defines a interface that allows platform

services and systems to communicate

with broker in order to synchronize data.

{P5} Integrator{C7.2.c}

{C7.2.d}

{C1.4.1.i2}

{C8.1.1.i2}

{C8.1.2.i}

{C8.1.3.i}

{C8.2.2.i}

{C8.3.1.i2}

{U7.3}Register factory directory

service

{C7.3.c} Generated C TDirectory service

processor

Allows the realization of the required commands to

integrate local information systems with platform

services.

{C7.3.c} T

Directory

service

processor

Allows the realization of the required

commands to integrate local information

systems with platform services.

{P5} Integrator{C7.3.d}

{C7.3.i}

{C7.3.d} Generated C TDirectory service

data

This component it only keeps the URLs and

information necessary for a given service to

communicate with a certain local system.

{C7.3.d} TDirectory

service data

This component it only keeps the URLs

and information necessary for a given

service to communicate with a certain

local system.

{P5} Integrator{C7.3.c}

{C7.3.i}

{C7.3.i} Generated C TDirectory service

interface

Defines a interface that allows platform services find

systems URL's and in an other hand an interface to

local systems registers his endpoints. This interface

is a REST API.

{C7.3.i} TDirectory

service API

Defines a interface that allows platform

services find systems URL's and in an

other hand an interface to local systems

registers his endpoints. This interface is

a REST API.

{P5} Integrator{C7.3.c}

{C7.3.d}

{C3.1.1.c}

{C4.2.4.1.i}

{C4.2.4.2.i}

{C4.2.4.3.i}

{U81.1} Manage equipments

{C8.1.1.c} Generated C F

{C8.1.1.d} Generated C T Equipments data

Stores the data of the user. By "data" we interpret

that is all the information relevant for this

component, such as: id, name and description.

{C8.1.d} T Equipments data

Stores the data of the user. By "data" we

interpret that is all the information

relevant for this component, such as: id,

name and description.

{SP4.1} Monitoring

Service{C8.1.1.i}

{C8.1.1.i} Generated C TManage equipments

interface

Defines the interface with the authorized users to

execute CRUD operations related with equipments.{C8.1.i}

{C8.2.4.d}

{C8.2.5.d}T

Manage

equipments

interface

Defines the interface with the authorized

users to execute CRUD operations

related with equipments.

{SP4.1} Monitoring

Service{C8.1.1.d}

{C1.1.1.i2}

{C1.2.1.i2}

{C8.1.1.i2} Generated C TMonitoring service

API

Defines the interface between services and

aplications with the monitoring service.{C8.1.i2}

{C8.2.4.i}

{C8.2.5.i}T

Monitoring

service API

Defines the interface between services

and aplications with the monitoring

service.

{SP4.1} Monitoring

Service{C8.1.1.d} [C7.2.i}

{U8.1.2}Monitor system

operabilityi

{C8.1.2.c} Generated C F

{C8.1.2.d} Generated C F

{C8.1.2.i} Generated C TMonitor system

operability interface

Allows IT manager and system administrator to

consult system processes (variables, interfaces),

for example to consult the time of "SE: Print

Entrance ticket" and "SE: Print final document"

processes.

{C8.1.2.i} T

Monitor system

operability

interface

Allows IT manager and system

administrator to consult system

processes (variables, interfaces), for

example to consult the time of "SE: Print

Entrance ticket" and "SE: Print final

document" processes.

{SP4.1} Monitoring

Service

{C1.1.1.i2}

{C1.2.1.i2}

{C7.2.i}

{C81.1.i2}

{U8.1.3} Consult factory state di

{C8.1.3.c} Generated C F

{C8.1.3.d} Generated C F

{C8.1.3.i} Generated C TConsult factory state

interface

Aallows IT manager and system administrator to

consult the factory state and view a factory plant and

a set of operations points. For each point, it shows,

for example the number of trucks.

{C8.1.3.i} TConsult factory

state interface

Allows fT manager and System

Administrator to consult the factory state

and view a factory plant and a set of

operations points. For each point, it

shows, for example the number of

trucks.

{SP4.1} Monitoring

Service

{C1.1.1.i2}

{C1.2.1.i2}

{C7.2.i}

{C81.1.i2}

{U8.2.1} Schedule assistance di

{C8.2.1.c} Generated C F

{C8.2.1.d} Generated C TStore interventions

dataAllows to save all interventions data. {C8.2.1.d} T

Store

interventions

data

Allows to save all interventions data. {SP4.4} Assistance Service {C8.2.1.i}

{C8.2.1.i} Generated C T

Schedule

interventions

interface

Defines a interface that allows the System

Administrator and IT Manager to schedule

interventions that permits to manage assistance to

industrial units IT resources (Remote assistance

with smart devices).

{C8.2.1.i} T

Schedule

interventions

interface

Defines an interface that allows the

System Administrator and IT Manager to

schedule interventions that permits to

manage assistance to industrial units IT

resources (Remote assistance with

smart devices).

{SP4.4} Assistance Service {C8.2.1.d}{C1.1.1.i2}

{C1.2.1.i2}

{C8.2.1.i2} Generated C TAssistance service

API

Defines the interface between services and

aplications with the assistance service.{C8.2.1.i2} T

Assistance

service API

Defines the interface between services

and aplications with the assistance

service.

{SP4.4} Assistance Service {C8.2.1.d} {C7.2.i}

Page 132: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

116

{U8.2.2} Manage records cdi

{C8.2.2.c} Generated C F

{C8.2.2.d} Generated C T Store records data Allows to save all records data. {C8.2.2.d} TStore records

dataThis C allows to save all records data. {SP4.2} Configuration Service {C8.2.2.i}

{C8.2.2.i} Generated C TManage records

interface

Defines a interface that allows the system

administrator and IT Manager to manage records

that permits to create, change, consult or even

disable a given record. A record is na circuit that

contains physical and logical points.

{C8.2.2.i} TManage records

interface

Defines a interface that allows the

system administrator and IT Manager to

manage records that permits to create,

change, consult or even disable a given

record. A record is na circuit that

contains physical and logical points.

{SP4.2} Configuration Service {C8.2.2.d}

{C1.1.1.i2}

{C1.2.1.i2}

{C7.2.i}

{U8.2.3} Configure tasks di

{C8.2.3.c} Generated C F

{C8.2.3.d} Generated C T Tasks data Allows to save all tasks data. {C8.2.3.d} T Tasks data Allows to save all tasks data. {SP4.2} Configuration Service {C8.2.3.i}

{C8.2.3.i} Generated C TConfigure tasks

interface

Defines a interface that allows the System

Administrator and IT Manager to configure tasks that

permits, in case of any problem, force a given

process to advance, for example force a truck to

enter.

{C8.2.3.i} TConfigure tasks

interface

Defines a interface that allows the

System Administrator and IT Manager to

configure tasks that permits, in case of

any problem, force a given process to

advance, for example force a truck to

enter.

{SP4.2} Configuration Service {C8.2.3.d}

{C1.1.1.i2}

{C1.2.1.i2}

{C7.2.i}

{C8.2.3.i2} Generated C TConfiguration service

API

Defines the interface between services and

aplications with the configuration service.{C8.2.3.i2} T

Configuration

service API

Defines the interface between services

and aplications with the configuration

service.

{SP4.2} Configuration Service {C8.2.3.d} {C7.2.i}

{U8.2.4} Enable equipment di

{C8.2.4.c} Generated C F

{C8.2.4.d} Generated C T Equipments data Allows to save all equipments data. {C8.1.1.d}

{C8.2.4.i} Generated C TEnable equipements

interface

Defines a interface that allows the system

administrator and IT Manager to enable equipments.{C8.1.1.i}

{U8.2.5} Disable equipment di

{C8.2.5.c} Generated C F

{C8.2.5.d} Generated C T Equipments data Allows to save all equipments data. {C8.1.1.d}

{C8.2.5.i} Generated C TDisable equipements

interface

Defines a interface that allows the system

administrator and IT Manager to disable equipments.{C8.1.1.i}

{U8.3.1}Consult operational

indicatorsi

{C8.3.1.c} Generated C F

{C8.3.1.d} Generated C F

{C8.3.1.i} Generated C TConsult operational

indicators interface

Defines a interface that allows authorized users to

consult operational indicators.{C8.3.1.i} T

Consult

operational

indicators

interface

Defines a interface that allows

authorized users to consult operational

indicators.

{SP4.3} Collaboration Service {C8.3.1.i2

{C8.3.1.i2} Generated C TCollaboration service

API

Defines the interface between services and

aplications with the collaboration service.{C8.3.1.i2} T

Collaboration

service API

Defines the interface between services

and aplications with the collaboration

service.

{SP4.3} Collaboration Service {C8.3.1.i}

{C7.2.i}

{C8.3.2.i}

{C8.3.3.c}

{U8.3.2} Consult system

operationsi

{C8.3.2.c} Generated C F

{C8.3.2.d} Generated C F

{C8.3.2.i} Generated C TConsult system

operations interface

Defines a interface that allows authorized users to

consult system operations.{C8.3.2.i} T

Consult system

operations

interface

Defines a interface that allows

authorized users to consult system

operations.

{SP4.3} Collaboration Service

{C1.1.1.i2}

{C1.2.1.i2}

{C8.3.1.i2}

{U8.3.3} Notify operations cdi

{C8.3.3.c} Generated C TNotifications

processor

Allows the execution of the necessary commands to

perform automatically the pre configured

notifications.

{C8.3.3.c} TNotifications

processor

Allows the execution of the necessary

commands to perform automatically the

pre configured notifications.

{SP4.3} Collaboration Service{C8.3.3.d}

{C8.3.3.i}

{C1.2.1.i2}

{C8.3.1.i2}

{C8.3.3.d} Generated C T Notifications data Allows to save notifications data. {C8.3.3.d} TNotifications

dataAllows to save notifications data. {SP4.3} Collaboration Service

{C8.3.3.c}

{C8.3.3.i}

{C8.3.3.i} Generated C T Notifications interfaceDefines a interface that allows authorized users to

configure and receive notifications{C8.3.3.i} T

Notifications

interface

Defines a interface that allows

authorized users to configure and

receive notifications.

{SP4.3} Collaboration Service{C8.3.3.d}

{C8.3.3.c}

Page 133: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

117

ANEXO V – MAPEAMENTO ENTRE OS COMPONENTES DO SISTEMA

Layer Sublayer Component

Clo

ud

Co

nsu

mer

Clo

ud

Au

dit

or Security Audit

Privacy Impact Audit

Performance Audit

Clo

ud

Pro

vid

er

Service Layer

SaaS

{U1.1.1.d} User data

{C1.1.1.i} Manage user interface

{C1.5.1.d} Tokens data

{C1.5.1.i} Manage tokens interface

{C2.4.d} Users training

{C2.4.i} Users training data

{C3.1.1.c} Driver guidance processor

{C3.1.1.i} Perform check-in interface

{C3.1.2.i} Perform check-out

interface

{C3.1.3.i} Access system information

{C3.1.4.i} Communicate via voice

interface

{C4.1.1.i} Consults information

interface

{C4.1.2.c} Information access

configuration processor

{C4.1.2.d} Information access

configuration

[C4.1.2.i} Information access

configuration interface

{C4.2.1.i} Abort operations interface

{C4.2.2.i} Consult operations

interface

PaaS

IaaS

Page 134: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

118

Resource Abstraction and

Control Layer

Physical Resource Layer

Hardware

Facility

Cloud Service Management

Business Support

Customer Management

{U1.1.1.d} User data

{C1.1.1.i} Manage user interface

{C1.2.1.d} Profiles data

{C1.2.1.i} Configure users profile

interface

{C1.4.1.d} Business groups data

{C1.4.1.i} Manage business groups

interface

{C1.4.2.d} Companies data

{C1.4.2.i} Manage companies

interface

{C1.4.3.d} Factories data

{C1.4.3.i} Manage factories interface

{C1.4.4.d} Entities data

{C1.4.4.i} Manage entities interface

{C1.4.5.i} Consult contracts interface

Contract Management

{C5.5.d} Service level agreement

data

{C5.5.i} Define service level

agreement interface

Inventory Management

{C2.1.d} Intervention and

maintenance

{C2.1.i} Verify intervention or

maintenance

{C3.2.1.c} Driver guidance back

office

{C3.2.1.d} Maps data

{C3.2.1.i} Manage maps interface

{C4.1.1.i} Consults information

interface

{C5.1.1.c} Services deployment

processor

{C5.1.1.d} Services data

Page 135: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

119

{C5.1.1.i} Manage services interface

Accounting & Billing

Reporting & Auditing

{C2.3.i} Perform interventions

interface

{C4.1.3.c} Business notifications

processor

{C4.1.3.d} Business notifications data

{C4.1.3.i} Perform business

notifications interface

{C4.2.3.c} Notifications processor

{C4.2.3.d} Notifications data

{C4.2.3.i} Notifications interface

{C5.2.c} Reports generator

{C5.2.d} Reports data

{C5.2.i} Generate cloud services

reports interface

Pricing & Rating

Provisioning/ Configuration

Rapid Provisioning

{C4.2.4.1.c} Sensors integrator

{C4.2.4.1.d} Sensors integration data

{C4.2.4.2.c} Mobile devices

integrator

{C4.2.4.2.d} Mobile devices

integration data

{C4.2.4.3.c} Systems integrator

{C4.2.4.3.d} Systems integration data

{C5.1.1.c} Services deployment

processor

{C5.1.1.d} Services data

{C5.1.1.i} Manage services interface

Resource Change

Monitoring & Reporting

{C4.2.1.i} Abort operations interface

{C4.2.2.i} Consult operations

interface

{C4.2.3.c} Notifications processor

{C4.2.3.d} Notifications data

{C4.2.3.i} Notifications interface

{C5.2.c} Reports generator

{C5.2.d} Reports data

Page 136: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

120

{C5.2.i} Generate cloud services

reports interface

Metering

{C5.3.c} Measure services utilization

{C5.3.d} Measured values data

{C5.3.i} Measured values interface

SLA Management

{C5.5.d} Service level agreement

data

{C5.5.i} Define service level

agreement interface

Portability/ Interoperability

Data Portability

Copy Data To-From

{C4.2.4.1.c} Sensors integrator

{C4.2.4.1.d} Sensors integration data

{C4.2.4.2.c} Mobile devices

integrator

{C4.2.4.2.d} Mobile devices

integration data

{C4.2.4.3.c} Systems integrator

{C4.2.4.3.d} Systems integration data

Bulk Data Transfer

{C4.2.4.1.c} Sensors integrator

{C4.2.4.1.d} Sensors integration data

{C4.2.4.2.c} Mobile devices

integrator

{C4.2.4.2.d} Mobile devices

integration data

{C4.2.4.3.c} Systems integrator

{C4.2.4.3.d} Systems integration data

Service Interoperability

Unified Management Interface

{C4.2.5.1.c} Operations processor

{C4.2.5.1.d} Operations data

{C4.2.5.1.i} Register operations

interface

System Portability

VM Images Migration

Application/ Svc Migration

{C4.2.4.1.c} Sensors integrator

{C4.2.4.1.d} Sensors integration data

{C4.2.4.2.c} Mobile devices

integrator

{C4.2.4.2.d} Mobile devices

integration data

Page 137: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

121

{C4.2.4.3.c} Systems integrator

{C4.2.4.3.d} Systems integration data

Security

Privacy

{U1.1.1.d} User data

{C1.1.1.i} Manage user interface

{C1.2.1.d} Profiles data

{C1.2.1.i} Configure users profile

interface

Clo

ud

Bro

ker

Service Intermediation

Service Aggregation

Service Arbitrage

Clo

ud

Car

rier

Page 138: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

122

ANEXO VI – ARQUITETURA CLOUD COMPUTING

{P4} Industrial Units Management

{SP4.4} Assistance Service{SP4.1} Monitoring Service

{SP4.3} Collaboration Service

{SP4.2} Configuration Service

UH4SPUH4SP

{P2} Accounts {P2} Accounts

{P5} Integrator {P5} Integrator

{C1.1.1.i} Manage user interface

{C1.1.1.d} User data

{C1.2.1.d} Profiles data

{P1} Authentication{P1} Authentication

{C1.3.1.i} User authentication

interface

{C1.3.2.i} Recover

account interface

{C1.3.2.c} Recover account processor

{C1.4.1.d} Business groups data

{C1.4.1.i} Manage business groups

interface

{C1.4.2.d} Companies data

{C1.4.2.i} Manage companies interface

{C1.5.1.i} Manage tokens interface

{C3.1.1.c} Driver guidance processor

{C3.1.2.i} Perform check-out interface

{C3.1.1.i} Perform check-in interface

{C3.1.3.i} Access system information

interface

{C3.1.4.i} Communicate

via voice interface

{C3.2.1.d} Maps data

{C3.2.2.d} Map routes data

{C3.2.3.d} Events data

{C3.2.1.c} Driver guidance backoffice

processor

{C3.2.1.i} Manage maps

interface

{C3.2.2.i} Manage map

routes interface

{C3.2.3.i} Manage events interface

{C4.2.1.i} Abort operations interface

{C4.2.2.i} Consult operations interface

{C4.2.4.2.i} Mobile devices

API

{C4.2.4.3.i} Systems API

{C4.2.3.d} Notifications data

{C4.2.3.i} Notifications

interface

{C4.2.5.1.c} Operations processor

{C1.2.1.i} Configure users profile interface

{C2.5.i} Generate service templates interface {C2.5.d} Services

template data

{C2.1.i} Verify intervention or

maintenance needs interface

{C2.1.d} Interventions and maintenance data

{C2.4.d} Users training data

{C2.4.i} Users training interface

{C4.1.3.c} Business notifications processor

{C4.1.3.d} Business

notifications data

{C4.1.3.i} Perform business notifications

interface

{C4.1.2.i} Information access configuration

interface

{C4.1.2.c} Information access

configuration processor

{C4.1.2.d} Information access

configurations

{C4.1.1.i} Consults information interface

0

{P3} Business Management{P3} Business Management {P9} Driver Guidance{P9} Driver Guidance

{P6} Industrial Maintenance{P6} Industrial Maintenance

{C1.4.2.4.d} Factories data

{C1.4.2.4.i} Manage factories interface

{C1.4.2.5.d} Entities data

{C1.4.2.5.i} Manage entities interface

{C1.1.1.c} Manage user processor

{C1.4.1.c} Manage

business groups interface

{C1.4.2.c} Manage

companies processor

{C1.2.1.c} Profiles

processor

{C1.8.i} Consult users SLA interface

{C6.1.d} Backups interface

{C6.2.i} Configure data access interface

{C5.2.i} Generate cloud services reports

interface

{C5.2.c} Reports generator

{C6.1.c} Backups generator

{C5.3.c} Measure services utilization

{C5.3.i} Measured values interface

{C6.2.d} Access control data

{C5.4.i} Define SLA interface

{C5.4.d} SLA data

{C5.1.1.c} Services deployment processor

{C5.1.1.d} Services data

{C5.1.1.i} Install service interface

{C5.2.d} Reports data{C5.3.d} Measured

values data {C6.1.d} Backups data

{C7.2.c} Broker messaging system

{C7.2.d} Store synchronized data

{C1.6.i} Manage trucks interface

{P7} Services{P7} Services

{P8}Business Platform Management{P8}Business Platform Management

{C1.6.c} Manage trucks

processor

{C1.7.c} Manage trailers

processor

{C1.7.i} Manage trailers

interface

{C1.7.d} Trailers data {C1.6.d} Trucks

data

{C1.5.1.d} Tokens data

{C4.2.5.1.d} Operations data

{C4.2.3.c} Notifications

processor

{C4.2.5.1.i} Register

operations interface

{C2.3.i} Perform interventions interface

{C2.2.i} Schedule interventions

interface

{C1.5.4.i} Request tokens

interface

{C1.5.5.i} Assign tokens

interface

{C1.4.1.i2} Manage

stakeholders service API

{C1.9.1.i} Configure

applications interface

{C1.9.1.c} Configure

applications processor

{C1.9.1.d} Applications

data

{C1.9.2.i} Apps authentication

interface

{C1.1.1.i2} Authentication service

API

{C4.2.4.1.i} Sensors API

{C7.2.i} Broker API

{C7.3.i} Directory service API

{C7.3.d} Directory service data

{C7.3.c} Directory service processor

{C.8.1.1.d} Equipments data

{C.8.1.1.i} Manage equipments

interface

{C8.1.2.i} Monitor system operability

interface

{C8.1.3.i} Consult factory state interface

{C8.2.1.d} Store interventions

data

{C8.2.1.i} Schedule interventions

interface

{C.8.1.1.i2} Monitoring service

API

{C8.2.1.i2} Assistance service

API

{C8.3.1.i2} Collaboration

service API

{C8.3.3.i} Notifications

interface

{C8.3.3.c} Notifications

processor

{C8.3.3.d} Notifications data

{C1.2.1.i2} Authorization

service API

{C8.2.2.i} Manage records interface

{C8.2.2.d} Store records data

{C8.2.3.i} Configure tasks interface

{C8.2.3.i2} Configuration service

API

{C8.2.3.d} Tasks data

{C5.1.5.i} Assign services interface

{C8.3.2.i} Consult system operations

interface

{C8.3.1.i} Consult operational indicators

interface

Page 139: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

123

ANEXO VII – DIAGRAMAS DE SEQUÊNCIA (TIPO B)

Diagrama de Sequência: Gestão de um Grupo Industrial

Na figura seguinte apresenta o cenário da criação de um grupo industrial pelo

administrador de sistemas.

Neste cenário está apenas descrito o caso de sucesso, iniciando com o administrador

de sistemas a inserir o nome, NIF, email, contacto, morada e descrição, sendo que o último

campo é opcional.

Se um grupo industrial já existir ou outro erro for detetado pelo sistema será enviada

uma mensagem negativa, algo como: “O grupo inserido já existe”, “O NIF inserido já existe”,

“Contacto inválido”, entre outras. Quando essas mensagens aparecerem, no caso do grupo já

existir o utilizador não terá que o criar novamente, nestes casos, é possível alterar os dados

do grupo na sua gestão, se assim o pretende. Se a mensagem de erro que surgir estiver

relacionada a algum dos campos para preencher, o utilizador terá que corrigir o que está

errado. Por outro lado, se o grupo industrial ainda não existir e os campos estiverem

corretamente preenchidos, é criado um código e o grupo será criado com sucesso no sistema.

{S1.4.1} Manage business groups

{C1.4.1.i} Manage business groups

interface

{C1.4.1.i} Manage business groups

interface System

Administrator

System Administrator

{C1.4.1.d} Business groups data

{C1.4.1.d} Business groups data

{C1.4.1.c} Manage business groups

processor

{C1.4.1.c} Manage business groups

processor

Created group

Created group

Created group

Create group (name, NIF, email, contact,

address, description)

Generate group (cod_group)

Verify if group already exists?

Create group (name, NIF, email, contact,

address, description)

Create group (name, NIF, email, contact,

address, description)

Insert data (name, NIF, email, contact,

address, description)

Page 140: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

124

Diagrama de Sequência: Gestão de Perfis

A figura seguinte representa o diagrama de sequência respetivo à criação de um perfil

de utilizador pelo gerente corporativo.

Este cenário começa quando o gestor corporativo pretende criar um perfil de utilizador,

para tal insere o nome, atribui as permissões e cria um perfil. Numa situação positiva, aparece

uma mensagem de sucesso, como: “O perfil foi criado com sucesso”. Depois de criar um

determinado perfil, ele pode ser associado a um utilizador no processo de criação do

utilizador.

{S1.2.1} Manage profiles

{C1.2.1.i} Configure users profile interface

{C1.2.1.i} Configure users profile interface

Corporate Manager

Corporate Manager

{C1.2.1.d} Profiles data

{C1.2.1.d} Profiles data

{C1.2.1.c} Profiles processor

{C1.2.1.c} Profiles processor

Assign permissions

Created profile

Insert name

Create profile (name, permissions)

Generate profile (cod_profile)

Create profile (cod_profile, name, permissions)

Created profile

Created profile

Create profile

Page 141: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

125

Diagrama de Sequência: Gestão de Camiões

De seguida retrata-se o cenário da criação de um camião pelo administrador de

transportes.

O administrador de transportes começa por introduzir a marca, modelo, tipo,

matrícula e associa um reboque (se assim o pretender) com o propósito de criar um camião

no sistema. Este processo retrata um cenário positivo, em que se verifica se os dados inseridos

já existem. Se não existirem é gerado um código e o sistema retorna com uma mensagem, do

género: “O camião foi criado com sucesso”. Por outro lado, se um determinado camião já

existir ou outro erro for detetado pelo sistema, surge uma mensagem negativa, como por

exemplo: “O camião introduzido já existe” ou outra condição inválida. Quando essas

mensagens aparecerem, no caso do camião já existir, o utilizador não terá que o criar

novamente. Nesses casos, é possível alterar os dados do camião no menu de gestão de

camiões, se assim o quiser. Quando uma mensagem de erro está relacionada a qualquer um

dos campos para preencher, o utilizador terá que corrigir o que está errado.

{S1.6} Manage trucks

{C1.6.i} Manage trucks interface

{C1.6.i} Manage trucks interface

Forwarder admin

Forwarder admin

{C1.6.1.d} Trucks data

{C1.6.1.d} Trucks data

Verify if truck already exists?

{C1.6.1.c} Manage trucks processor

{C1.6.1.c} Manage trucks processor

Created truck

Insert data (brand name, brand model, type, truck license plate, trailer license plate)

Generate truck (cod_truck)

Created truckCreated truck

Create truck (brand name, brand model, type, truck license plate, trailer license plate)

Create truck (brand name, brand model, type, truck license plate, trailer license plate)

Create truck (brand name, brand model, type, truck license plate, trailer license plate)

Page 142: Cloud para a Indústria: Caso de Demonstração UH4SP€¦ · DECLARAÇÃO Nome: Raquel Figueiredo Martins Endereço eletrónico: raquel.f.m@live.com.pt Telefone: 938 121 397 Número

126

Diagrama de Sequência: Agendar intervenções

O cenário seguinte retrata o processo de como agendar uma intervenção pelo gestor

de infraestruturas.

O processo inicia quando o gestor de infraestruturas pretende agendar uma

intervenção. Para tal, acede à interface de gestão de equipamentos na plataforma e acede à

funcionalidade de agendar intervenção, a plataforma retorna todos os equipamentos a que

este ator tem acesso para que este escolha qual quer intervencionar. Após a escolha, que

basicamente é selecionar um dos equipamentos e introduzir uma data válida, e em caso de

sucesso, o sistema retorna uma mensagem ao utilizador de que a intervenção foi agendada

com sucesso.

{S2.2} Schedule interventions

Post_new_assist (Equipment_id, date)

Schedule assistance

Schedule interventions

Get_equipments()

{C2.2.i} Schedule interventions

interface

{C2.1.d} Interventions and maintenance data

IT Manager

All user equipments

All user equipments

Successfully scheduledSuccessfully scheduled