Você está na página 1de 55

UMA ABORDAGEM ORIENTADA A MODELOS PARA GERAO

DE APLICAES BASEADAS EM INTERNET DAS COISAS PARA


SMARTPHONES

Aluno: Willamys G. F. Arajo {wgfa}@cin.ufpe.br


Orientador: Vincius Cardoso Garcia {vcg}@cin.ufpe.br

28/06/2017 1
Roteiro
Introduo/Motivao
Objetivos
Estado da Arte
Abordagem Proposta
Ferramenta
Avaliao da Abordagem
Anlise dos Resultados
Concluso
Contribuies
Trabalhos Futuros

2
Introduo/Motivao
Pessoas como sensores
Internet das Coisas (IoT)
Dispositivos de computao identificveis, que so conectados internet e

incorporados a objetos do nosso dia-a-dia (ou coisas) ou ligados a animais ou

pessoas[1];

[1] ATZORI, L.; IERA, A.; MORABITO, G. The Internet of Things: a survey. Computer Networks, [S.l.], v.54, n.15, p.2787 2805, 2010. 3
Introduo/Motivao
Tendncias da Internet das Coisas (IoT)

4
[2] SUNDMAEKER, H. et al. Vision and challenges for realising the Internet of Things. Cluster of
Introduo/Motivao
Smartphones
Capacidades de processamento computacional e sensores

mltiplos que podem ser usados para monitorar atividades

fsicas, temperatura ambiente e umidade, presso

baromtrica, estado de sade, movimentos e outras

condies ambientais que cercam os usurios.[3]

[3] SALIM, F.; HAQUE, U. Urban computing in the wild: a survey on large scale participation and citizen engagement with ubiquitous computing, 5
cyber physical systems, and internet of things. International Journal of Human-Computer Studies, [S.l.], v.81, p.31 48, 2015. Transdisciplinary Approaches to Urban
Introduo/Motivao
Desenvolvimento Orientado Modelos (MDD)
Modelos
No so apenas ferramentas de comunicao e documentao

Elementos ativos e participantes do processo de desenvolvimento como um todo

Benefcios:
Desenvolvimento mais rpido e reduzindo prazos

Utilizando formas de padronizao

Facilidade de manuteno ao evitar redundncia,

Reduo dos custos financeiros relacionados ao desenvolvimento de software.

6
Introduo/Motivao
Programao generativa (Generative Programming)[5]
Maximizao da automao do desenvolvimento de aplicativos

Sistema concreto baseado em conjunto de componentes reutilizveis

Tecnologias
DSL

Geradores

Componentes
7
Pergunta de pesquisa
Qual a
proporo/taxa/Nvel
de Reutilizao ?

<code>

Cdigo gerado da
aplicao (Projeto)

Componentes Generative
MDD Programming
Reutilizveis Aplicao
empacotada
8
8
Objetivo Geral

Demonstrar e avaliar o reuso de software na abordagem proposta, a


qual baseado na composio de componentes reutilizveis de
software permitindo a transformao automatizada de modelos MDA
em cdigo fonte de aplicativos que fazem uso de sensores presentes
em smartphones.

9
Objetivo Especficos
Definir quais componentes de software reutilizveis sero combinados para a elaborao da
abordagem;
Selecionar tcnicas e procedimentos que iro estruturar a abordagem;
Disponibilizar uma ferramenta que permita orquestrao dos componentes definidos e
gerao do cdigo fonte das aplicaes;
Avaliar a abordagem por meio de um estudo de caso com aplicaes construdas com a
ferramenta.

10
Estado da Arte

11
Estado da Arte
Trabalhos Relacionados
IoTLink: An Internet of Things Prototyping Toolkit (PRAMUDIANTO, F. et al. 2014)

Ferramenta domnio grfica que criar um aplicativo Internet das coisas.

Plugin do Eclipse

No para smartphones e android.

12
Estado da Arte
Trabalhos Relacionados (cont.)
Integration In The Physical World In Iot Using Android Mobile Application for

Effective Web of Things Development (WoT) (THIYAGARAJAN; RAVEENDRA, 2015)

Aplicaes android em conjunto com servios IoT

Smartphone como controle remoto

Sem ferramenta grfica.

13
Estado da Arte
Trabalhos Relacionados (cont.)
OpenIoT- An Open Service Framework for the Internet of Things (KIM; LEE, 2014 )

Ferramenta grfica.

Permite o desenvolvimeto de aplicaes para smartphone

Smartphone funciona como controle de sensores

14
Estado da Arte
Trabalhos Relacionados (cont.)
Mobile digcovery: discovering and interacting with the world through the
Internet of things (JARA et al., 2014)
Sensoriamento participativo, utilizando o smartphone como ferramenta.
Controle dos sensores presente na plataforma com o smartphone
No possui ferramenta grfica.

15
Estado da Arte
Trabalhos Relacionados (cont.)
A High-Level Modeling Language for the Efficient Design, Implementation, and
Testing of Android Applications (JABER et al., 2016)
Linguagem de modelagem (MoDroid)
Gera aplicao Android;
No aplicada a IoT.
No possui ferramenta grfica.

16
Estado da Arte
Trabalhos Relacionados

17
Abordagem

18
Abordagem Proposta
Tem a finalidade de permitir uma melhoria de
produtividade, qualidade e reuso na construo
de aplicaes atravs da transformao de
modelos, com o enfoque em adquirir
informaes baseadas nos sensores mais
comuns e usuais encontrados em smartphones.

19
Abordagem Proposta

20
Cenrio para demonstrao
Aplicao "Lembre-me!".
A aplicao permite registrar ideias no aplicativo
com a informao de localizao e fotos do local,
semelhante ao Keep da Google.
Essas ideias podem ser compartilhadas para aqueles
que possuem o aplicativo instalado.

21
Identificao dos objetos do domnio

Anlise de requisitos (requisitos funcionais).


Classes, Atributos, Componentes, relacionamentos
entre eles.
Essas informaes iro servir como entrada
para a ferramenta de modelagem.

22
Identificao dos objetos do domnio
Componente

Classe
Relao

Atributo

23
Realizao das transformaes

tags

Cada tag, possui suas respectivas


regras de transformao.

24
Realizao das transformaes
Tag Regras de Transformao
classes Essa Tag responsvel por identificar entidades dentro do modelo de domnio
especificado. Cada entidade criada ser processada pelo gerador que ir
transform-la em classes atendendo ao padro de projeto MVC. Ser criada a
classe de modelo e persistncia de dados (firebase), classes de layouts de
tela em Android (View) e classes controladoras com validaes.
attributes Essa Tag responsvel por identificar os atributos de uma classe no
modelo de domnio especificado. O atributo na transformao ir ser um
campo da tela.
Relation Nesta tagged Value o Engenheiro de Sistema informa qual atributo est
Attribute relacionado com o componente. Para isso necessrio informar o alvo
To (target) e a origem (source). O atributo associado ao componente
Component identificado pelo gerador, o qual realiza as transformaes necessrias a fim
de permitir que o campo (EditText do Android) inicie a tela do Componente.

25
Realizao das transformaes

Layout e Funcionamento
26
Realizao das transformaes

27
Realizao das transformaes
Nessa etapa so gerados os cdigo fontes:
1) das telas do aplicativo (Activitys);
2) das funes responsveis por restringir
o contedo dos atributos das entidades;
3) das funes responsveis pela
manipulao dos dados (persistncia).

28
Implantao da aplicao

Realizar o deploy do cdigo fonte no


dispositivo com o sistema operacional
Android.
O deploy realizado atravs da IDE Eclipse ou
Android Studio.

29
Implantao da aplicao
Eclipse Android Studio
JDK 7 ou superior JDK 7 ou superior
Android Developer Tools SDK Android (Default)
(ADT) Gradle(Default)
SDK Android
Gradle

30
Implantao da aplicao
Importar o projeto no eclipse/android studio.
Executar build.gradle (download bibliotecas necessrias)
Alterar o arquivo FirebaseUtil.java com as informaes da
conta de usurio que deve ser criada.
Alterar google_maps_api.xml com sua KEY para ser usado a
API
Pronto. Excute a aplicao.

31
Ferramenta de modelagem

32
Ferramenta de Modelagem

33
Ferramenta de Modelagem

MDD
Framework EuGenia
Eclipse Epsilon
Graphical Modeling
Framework (GMF)
Editor GMF
34
Ferramenta de modelagem
metamodelo
*.ecore <code>

Cdigo gerado da
aplicao (Projeto)
EuGENia Meta-modelo Template *.egl

Adaptaes

Camada Fina de Dados


necessrias/escopo
API

Generation Language

Aplicao
GMF Editor Engine empacotada
35
Avaliao da Abordagem

36
Cenrio
Aedes Points, aplicao desenvolvida com base
em Oliveira (2015)
Analisou e demostrou a distribuio espacial dos
locais acometidos com o desequilbrio ambiental
que possam influenciar na prevalncia dos casos
de dengue.

37
Cenrio
Georreferenciar o
desequilbrio ambiental
(lixo, esgoto cu aberto e
gua parada)
4 Bairros de Juazeiro-BA
181 casos de dengue
confirmados nos quatro
bairros.
38
Cenrio
Identificao dos objetos do domnio

39
Cenrio
Realizao das
Transformaes

40
Cenrio
Implantao da Aplicao

41
Cenrios

42
Avaliao
Goal Question Metric (GQM)
definir e avaliar um conjunto de metas operacionais,
usando medio.

43
Avaliao
Objetivo definido :

Avaliar o reuso nas aplicaes geradas, no ponto


de vista do engenheiro de software no
contexto da abordagem proposta.

44
Avaliao Plano GQM

45
Avaliao Coleta de Dados
Eclipse Metrics, verso 1.3.6
Plugin Compare do Notepad++, verso 5.6
Todos os dados coletados, alimentaram uma
planilha as quais foram realizados os clculos
segundo as mtricas apresentadas a seguir.

46
Avaliao - Interpretao
Avaliou-se duas aplicaes desenvolvidas com a
abordagem e foram respondidas as seguintes
questes:
Questo 1: Qual a distribuio do reuso de forma geral no
cdigo gerado da aplicao?
Questo 2: Qual a distribuio do reuso entre as classes
da aplicao gerada?

47
Avaliao - Interpretao
Questo 1: Qual
a distribuio do
reuso de forma
geral no cdigo
gerado da
aplicao?

48
Avaliao - Interpretao
Questo 2: Qual a
distribuio do
reuso entre as
classes da
aplicao gerada?

49
Avaliao - Anlise dos Resultados
Benefcios
Automatizao
Modelagem de requisitos
Reuso

50
Avaliao - Anlise dos Resultados
Desvantagens
Construo da ferramenta de modelagem
Cdigo fonte gerado

Ameaas
M especificao
Usar abordagem para outro domnio

51
Concluso
Foi possvel alcanar aos objetivos almejados, uma vez que nesta
dissertao, a abordagem proposta e em conjunto com a ferramenta
criada, mostraram-se eficazes para o desenvolvimento de aplicaes no
mbito de pessoas como sensores para smartphones. Alm disso, no
estudo em que avaliou a reutilizao de software auxiliada pelo
desenvolvimento orientado a modelos foram obtidos bons resultados.

52
Contribuies
Definio de uma abordagem (reuso, a produtividade e automatizao)
Ferramenta de modelagem (modelando e implementado simultaneamente).
Especificao de regras de transformao baseadas em templates para Iot.
Automatizar atividades de Engenharia de Software (ES) (Especificao e anlise de
requisitos).
Confirmar que o MDD => aumento da reutilizao de software e automatizao da
implementao das aplicaes.
Desenvolvimento de aplicaes completas e funcionais (BDReal + Storage Real na Nuvem)

53
Trabalhos Futuros
Integrar essa abordagem como forma de plugin ao Android Studio
Adicionar uma nova etapa a abordagem, em que uma metodologia de testes
possa ser integrada.
Adaptar a ferramenta desenvolvida para a abordagem para outros domnios de
aplicao.
Adaptar a ferramenta para outras plataformas (iOS, Arduno).

54
OBRIGADO!

28/06/2017 55