Universidade Federal de São Carlos
Centro de Ciências Exatas e Tecnologia
Programa de Pós-Graduação em Ciência da Computação
Carlos Eduardo Cirilo
Antonio Francisco do Prado
Wanderley Lopes de Souza
Luciana Aparecida Martinez Zaina
Model Driven RichUbi - Processo Dirigido a
Modelos para a Construção de Interfaces Ricas
de Aplicações Ubíquas Sensíveis ao Contexto
Grupo de Engenharia
de Software
1
Available in: http://dx.doi.org/10.1109/SBES.2010.20
2
Agenda
 Motivação e Objetivos
 Modelagem Específica de Domínio (DSM)
Model Driven RichUbi
 Engenharia de Domínio (ED)
 Engenharia de Aplicação (EA)
 Trabalhos Correlatos
 Conclusões e Trabalhos Futuros
3
Motivação
• Web 2.0
•Visual e aparência ricos
o interfaces ricas
o multimídia, painéis
deslizantes, clique &
arraste, auto-completar,
planilhas eletrônicas,
mapas, etc...
• Melhor responsividade e
desempenho
o Comunicação assíncrona
• Melhor interação dos
usuários (facilita e motiva)
 Aplicações de Internet Rica (RIAs)
4
Motivação
 Computação Ubíqua
 Heterogeneidade dos dispositivos de acesso
 Necessidade de adaptação das interfaces das aplicações
5
Motivação
 Computação Ubíqua
 Esforços adicionais no desenvolvimento
 Sensibilidade ao Contexto
 Adaptação da aplicação
(comportamento e conteúdo)
conforme o contexto de acesso
 Pode-se adaptar a interface de
acordo com o perfil do
dispositivo de acesso
6
Motivação
 Desenvolvimento Dirigido a Modelos (MDD)
 Redução dos esforços de desenvolvimento
Foco na modelagem da aplicação
 Maior nível de abstração
 Geração de código (total ou parcialmente) a partir dos modelos
7
Objetivos do Trabalho
 Definir um processo dirigido a modelos para a construção de interfaces
ricas de aplicações ubíquas que se adaptam conforme o perfil do
dispositivo recuperado do contexto
 Simplificar o processo de desenvolvimento de aplicações ubíquas
sensíveis ao contexto
 Favorecer o reúso de artefatos:
 Metamodelo do domínio de interfaces ricas
 Transformações Modelo para Código (M2C)
 Adaptadores dinâmicos de conteúdo
8
Modelagem Específica de Domínio (DSM)
 Uso de Linguagens Específicas de Domínio (DSLs)
 Metamodelos do domínio
 Modelagem usando termos e conceitos familiares ao domínio do
problema
 Facilita o mapeamento para o domínio da solução
 Modelos mais específicos e completos
 Geração de código para diferentes tecnologias de implementação
9
Modelagem Específica de Domínio (DSM)
 DSM no desenvolvimento de interfaces
10
Model Driven RichUbi
 Dar suporte o desenvolvimento de software na Computação Ubíqua
com foco na construção de interfaces ricas adaptativas
 Engenharia de Domínio (ED)
 Construção de um metamodelo de componentes de interfaces
ricas
 Construção das transformações M2C
 Construção dos adaptadores de conteúdo
 Engenharia de Aplicação (EA)
 Construção das aplicações ubíquas com interfaces ricas
 Reúso dos artefatos produzidos na ED
11
Engenharia de Domínio
12
Engenharia de Domínio
 Especificar Metamodelo dos Componentes de Interface Rica
 Os requisitos do domínio de interfaces ricas são especificados e
representados num metamodelo de componentes de interfaces ricas
13
Engenharia de Domínio
14
Engenharia de Domínio
 Projetar Metamodelo dos Componentes de Interface Rica
 A especificação do metamodelo é refinada através da adoção de
padrões, tecnologias e plataformas de hardware e software
15
Engenharia de Domínio
16
Engenharia de Domínio
 Implementar Metamodelo dos Componentes de Interface
Rica
Código Java gerado através do
Eclipse Modeling Framework
(EMF)
Geração de um editor de
modelos
Persistência do modelos em
XML Metadata Interchange
(XMI)
Plug-in Eclipse integrado à
ferramenta MVCASE
17
Engenharia de Domínio
18
Engenharia de Domínio
 Construir Transformações Modelo para Código
 São construídas as transformações que serão aplicadas aos
modelos de interface para geração de código durante a EA
19
Engenharia de Domínio
20
Engenharia de Domínio
 Construir Adaptadores de Conteúdo dos Componentes de
Interface Rica
 São construídos os adaptadores que realizarão a adaptação
dinâmica da interface conforme o perfil do dispositivo
Regra 1:
Condições
inputNode.size >
DEVICE_DISPLAY_COLUMNS_NUMBER
AND (inputNode.type == “text” OR
inputNode.type == “password”)
Ações
adaptInput(inputNode)
Regra 2:
Condições
imageNode.height >
DEVICE_DISPLAY_RESOLUTION_HEIGHT
OR imageNode.width >
DEVICE_DISPLAY_RESOLUTION_WIDTH
Ações
adaptImage(imageNode)
21
Engenharia de Aplicação
 São construídas as aplicações ubíquas com interfaces ricas
 Reúso dos artefatos produzidos na ED
 Segue as disciplinas de Análise, Projeto, Implementação e Testes
 Estudo de Caso: Módulo Web do WebRES
 permite que médicos cardiologistas acessem os dados pressóricos
de seus pacientes
WebRES
22
Engenharia de Aplicação
23
Engenharia de Aplicação
 Analisar
 A aplicação é especificada a partir de seus requisitos
24
Engenharia de Aplicação
25
Engenharia de Aplicação
 Projetar
 Refinamento das
especificações da aplicação
 Modelagem das
interfaces da aplicação
como instância do
metamodelo
26
Engenharia de Aplicação
27
Engenharia de Aplicação
 Implementar e Testar
 Geração parcial de código usando as transformações M2C
 Reúso dos adaptadores de conteúdo
21/01/15Carlos Eduardo Cirilo 27
28
Trabalhos Correlatos
 Contextual Elements Modeling and Management through
Incremental Knowledge Acquisition (CEManTIKA) [Vieira et al.
2009]
 Processo que define atividades de Engenharia de Software
relacionadas à especificação do contexto e projeto de sistemas sensíveis
ao contexto
 Xmobile [Viana &Andrade 2008]
 Ambiente para a geração de aplicações adaptativas baseadas em
formulários para dispositivos móveis
 É composto por um framework de componentes abstratos de
interface, que permite modelar as interfaces da aplicação, e por uma
ferramenta de geração de código.
29
Trabalhos Correlatos
 Semantic Transformer [Paternò et al. 2008]
 Ferramenta para transformação automática de páginas Web
desenvolvidas para desktop em páginas Web adequadas para
dispositivos móveis
 Extended Internet Content Adaptation Framework (EICAF)
[Forte et al. 2008]
 Framework de adaptação de conteúdo para aplicações Web.
 Utiliza ontologias para descrição dos perfis e Web Services que
desempenham a adaptação de conteúdo.
 Semantic COntext-aware Ubiquitous scouT (SCOUT) [van
Woensel et al. 2009]
 Framework para a construção de aplicações sensíveis ao contexto para
dispositivos móveis
 “Presenças Web”  serviços/recursos específicos de localização
30
Conclusões e Trabalhos Futuros
 Principais contribuições para a ES:
 Reúso de Software
 Modelagem Específica de Domínio (DSM)
 Sensibilidade ao Contexto
 Apoio Computacional
 Trabalhos Futuros:
 Sistematização dos testes dos artefatos reutilizáveis produzidos na ED
 Inclusão de novos componentes de interface rica ao metamodelo
 Construção de uma notação gráfica (GMF)
 Refinamento dos adaptadores de conteúdo (características
contextuais mais dinâmicas)
 Otimizações nas transformações M2C
 Experimentação formal do processo (em andamento)
31
Obrigado!
Carlos E. Cirilo
carlos_cirilo@dc.ufscar.br
Antonio F. Prado
prado@dc.ufscar.br
Luciana A. M. Zaina
lzaina@ufscar.br
http://www.ges.dc.ufscar.br
Wanderley L. de Souza
desouza@dc.ufscar.br

Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces for Context-Sensitive Ubiquitous Applications

  • 1.
    Universidade Federal deSão Carlos Centro de Ciências Exatas e Tecnologia Programa de Pós-Graduação em Ciência da Computação Carlos Eduardo Cirilo Antonio Francisco do Prado Wanderley Lopes de Souza Luciana Aparecida Martinez Zaina Model Driven RichUbi - Processo Dirigido a Modelos para a Construção de Interfaces Ricas de Aplicações Ubíquas Sensíveis ao Contexto Grupo de Engenharia de Software 1 Available in: http://dx.doi.org/10.1109/SBES.2010.20
  • 2.
    2 Agenda  Motivação eObjetivos  Modelagem Específica de Domínio (DSM) Model Driven RichUbi  Engenharia de Domínio (ED)  Engenharia de Aplicação (EA)  Trabalhos Correlatos  Conclusões e Trabalhos Futuros
  • 3.
    3 Motivação • Web 2.0 •Visuale aparência ricos o interfaces ricas o multimídia, painéis deslizantes, clique & arraste, auto-completar, planilhas eletrônicas, mapas, etc... • Melhor responsividade e desempenho o Comunicação assíncrona • Melhor interação dos usuários (facilita e motiva)  Aplicações de Internet Rica (RIAs)
  • 4.
    4 Motivação  Computação Ubíqua Heterogeneidade dos dispositivos de acesso  Necessidade de adaptação das interfaces das aplicações
  • 5.
    5 Motivação  Computação Ubíqua Esforços adicionais no desenvolvimento  Sensibilidade ao Contexto  Adaptação da aplicação (comportamento e conteúdo) conforme o contexto de acesso  Pode-se adaptar a interface de acordo com o perfil do dispositivo de acesso
  • 6.
    6 Motivação  Desenvolvimento Dirigidoa Modelos (MDD)  Redução dos esforços de desenvolvimento Foco na modelagem da aplicação  Maior nível de abstração  Geração de código (total ou parcialmente) a partir dos modelos
  • 7.
    7 Objetivos do Trabalho Definir um processo dirigido a modelos para a construção de interfaces ricas de aplicações ubíquas que se adaptam conforme o perfil do dispositivo recuperado do contexto  Simplificar o processo de desenvolvimento de aplicações ubíquas sensíveis ao contexto  Favorecer o reúso de artefatos:  Metamodelo do domínio de interfaces ricas  Transformações Modelo para Código (M2C)  Adaptadores dinâmicos de conteúdo
  • 8.
    8 Modelagem Específica deDomínio (DSM)  Uso de Linguagens Específicas de Domínio (DSLs)  Metamodelos do domínio  Modelagem usando termos e conceitos familiares ao domínio do problema  Facilita o mapeamento para o domínio da solução  Modelos mais específicos e completos  Geração de código para diferentes tecnologias de implementação
  • 9.
    9 Modelagem Específica deDomínio (DSM)  DSM no desenvolvimento de interfaces
  • 10.
    10 Model Driven RichUbi Dar suporte o desenvolvimento de software na Computação Ubíqua com foco na construção de interfaces ricas adaptativas  Engenharia de Domínio (ED)  Construção de um metamodelo de componentes de interfaces ricas  Construção das transformações M2C  Construção dos adaptadores de conteúdo  Engenharia de Aplicação (EA)  Construção das aplicações ubíquas com interfaces ricas  Reúso dos artefatos produzidos na ED
  • 11.
  • 12.
    12 Engenharia de Domínio Especificar Metamodelo dos Componentes de Interface Rica  Os requisitos do domínio de interfaces ricas são especificados e representados num metamodelo de componentes de interfaces ricas
  • 13.
  • 14.
    14 Engenharia de Domínio Projetar Metamodelo dos Componentes de Interface Rica  A especificação do metamodelo é refinada através da adoção de padrões, tecnologias e plataformas de hardware e software
  • 15.
  • 16.
    16 Engenharia de Domínio Implementar Metamodelo dos Componentes de Interface Rica Código Java gerado através do Eclipse Modeling Framework (EMF) Geração de um editor de modelos Persistência do modelos em XML Metadata Interchange (XMI) Plug-in Eclipse integrado à ferramenta MVCASE
  • 17.
  • 18.
    18 Engenharia de Domínio Construir Transformações Modelo para Código  São construídas as transformações que serão aplicadas aos modelos de interface para geração de código durante a EA
  • 19.
  • 20.
    20 Engenharia de Domínio Construir Adaptadores de Conteúdo dos Componentes de Interface Rica  São construídos os adaptadores que realizarão a adaptação dinâmica da interface conforme o perfil do dispositivo Regra 1: Condições inputNode.size > DEVICE_DISPLAY_COLUMNS_NUMBER AND (inputNode.type == “text” OR inputNode.type == “password”) Ações adaptInput(inputNode) Regra 2: Condições imageNode.height > DEVICE_DISPLAY_RESOLUTION_HEIGHT OR imageNode.width > DEVICE_DISPLAY_RESOLUTION_WIDTH Ações adaptImage(imageNode)
  • 21.
    21 Engenharia de Aplicação São construídas as aplicações ubíquas com interfaces ricas  Reúso dos artefatos produzidos na ED  Segue as disciplinas de Análise, Projeto, Implementação e Testes  Estudo de Caso: Módulo Web do WebRES  permite que médicos cardiologistas acessem os dados pressóricos de seus pacientes WebRES
  • 22.
  • 23.
    23 Engenharia de Aplicação Analisar  A aplicação é especificada a partir de seus requisitos
  • 24.
  • 25.
    25 Engenharia de Aplicação Projetar  Refinamento das especificações da aplicação  Modelagem das interfaces da aplicação como instância do metamodelo
  • 26.
  • 27.
    27 Engenharia de Aplicação Implementar e Testar  Geração parcial de código usando as transformações M2C  Reúso dos adaptadores de conteúdo 21/01/15Carlos Eduardo Cirilo 27
  • 28.
    28 Trabalhos Correlatos  ContextualElements Modeling and Management through Incremental Knowledge Acquisition (CEManTIKA) [Vieira et al. 2009]  Processo que define atividades de Engenharia de Software relacionadas à especificação do contexto e projeto de sistemas sensíveis ao contexto  Xmobile [Viana &Andrade 2008]  Ambiente para a geração de aplicações adaptativas baseadas em formulários para dispositivos móveis  É composto por um framework de componentes abstratos de interface, que permite modelar as interfaces da aplicação, e por uma ferramenta de geração de código.
  • 29.
    29 Trabalhos Correlatos  SemanticTransformer [Paternò et al. 2008]  Ferramenta para transformação automática de páginas Web desenvolvidas para desktop em páginas Web adequadas para dispositivos móveis  Extended Internet Content Adaptation Framework (EICAF) [Forte et al. 2008]  Framework de adaptação de conteúdo para aplicações Web.  Utiliza ontologias para descrição dos perfis e Web Services que desempenham a adaptação de conteúdo.  Semantic COntext-aware Ubiquitous scouT (SCOUT) [van Woensel et al. 2009]  Framework para a construção de aplicações sensíveis ao contexto para dispositivos móveis  “Presenças Web”  serviços/recursos específicos de localização
  • 30.
    30 Conclusões e TrabalhosFuturos  Principais contribuições para a ES:  Reúso de Software  Modelagem Específica de Domínio (DSM)  Sensibilidade ao Contexto  Apoio Computacional  Trabalhos Futuros:  Sistematização dos testes dos artefatos reutilizáveis produzidos na ED  Inclusão de novos componentes de interface rica ao metamodelo  Construção de uma notação gráfica (GMF)  Refinamento dos adaptadores de conteúdo (características contextuais mais dinâmicas)  Otimizações nas transformações M2C  Experimentação formal do processo (em andamento)
  • 31.
    31 Obrigado! Carlos E. Cirilo carlos_cirilo@dc.ufscar.br AntonioF. Prado prado@dc.ufscar.br Luciana A. M. Zaina lzaina@ufscar.br http://www.ges.dc.ufscar.br Wanderley L. de Souza desouza@dc.ufscar.br

Notas do Editor

  • #5 Mais especificamente, é necessário adaptar as interfaces do usuário.