SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Semelhante a Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces for Context-Sensitive Ubiquitous Applications (20)

PPT
Engenharia de Software Baseada em Componentes
elliando dias
 
PPTX
Arquitetura de Software e o DNAD2013
André Borgonovo
 
PDF
Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA
Interaction Design Association Chapter São Paulo
 
PPTX
DDD - Step by Step
Diego Dezembro
 
PDF
Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...
Marcos Alves Vieira
 
PDF
Rich Internet Applications com clientes offline utilizando Gears
Eduardo Cereto Carvalho
 
PPTX
Domain-Driven Design
Comunidade NetPonto
 
PPTX
Domain-Driven Design
Rodrigo Branas
 
PDF
Considerações técnicas para atlas temáticos digitais e interfaces para dados ...
Tasso Evangelista Pinto
 
PDF
Atlas Digitais e interfaces para dados abertos
Alligo Web
 
PPTX
Introdução ao Domain-Driven Design
André Borgonovo
 
PPTX
Domain driven design - Visão Geral
Lorival Smolski Chapuis
 
PPTX
Clean architecture em NodeJS
Rodrigo Souza
 
PDF
TDC2016SP - Trilha Microservices
tdc-globalcode
 
PPTX
Mwds01 - Introdução a Arquitetura e Projeto de Soluções Mobile
Wsdevs Desenvolvedores
 
PDF
Domain Driven Design - Aplicando estrategias e padrões
Joao Paulo Oliveira dos Santos
 
DOC
Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4
Adilson Nascimento
 
PDF
Uma Abordagem Baseada em Modelos para Construção Automática de Interfaces de ...
Sofia Costa
 
PDF
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Luiz Costa
 
PDF
Domain Driven Design: como modelar uma aplicação em Node.js com DDD
Daniel Baptista Dias
 
Engenharia de Software Baseada em Componentes
elliando dias
 
Arquitetura de Software e o DNAD2013
André Borgonovo
 
Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA
Interaction Design Association Chapter São Paulo
 
DDD - Step by Step
Diego Dezembro
 
Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...
Marcos Alves Vieira
 
Rich Internet Applications com clientes offline utilizando Gears
Eduardo Cereto Carvalho
 
Domain-Driven Design
Comunidade NetPonto
 
Domain-Driven Design
Rodrigo Branas
 
Considerações técnicas para atlas temáticos digitais e interfaces para dados ...
Tasso Evangelista Pinto
 
Atlas Digitais e interfaces para dados abertos
Alligo Web
 
Introdução ao Domain-Driven Design
André Borgonovo
 
Domain driven design - Visão Geral
Lorival Smolski Chapuis
 
Clean architecture em NodeJS
Rodrigo Souza
 
TDC2016SP - Trilha Microservices
tdc-globalcode
 
Mwds01 - Introdução a Arquitetura e Projeto de Soluções Mobile
Wsdevs Desenvolvedores
 
Domain Driven Design - Aplicando estrategias e padrões
Joao Paulo Oliveira dos Santos
 
Portfolio Grupo 4 ADS Unopar Desafios1-2-3-4
Adilson Nascimento
 
Uma Abordagem Baseada em Modelos para Construção Automática de Interfaces de ...
Sofia Costa
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Luiz Costa
 
Domain Driven Design: como modelar uma aplicação em Node.js com DDD
Daniel Baptista Dias
 

Mais de Luciana Zaina (18)

PDF
Adding user experience aspects to the writing of user stories
Luciana Zaina
 
PDF
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
Luciana Zaina
 
PDF
A design methodology for user-centered innovation in the software development...
Luciana Zaina
 
PPT
Um ambiente colaborativo para suporte ao comércio na Universidade
Luciana Zaina
 
PPTX
Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...
Luciana Zaina
 
PPT
Classification of learning profile based on categories of student preferences
Luciana Zaina
 
PPT
Learning objects retrieval from contextual analysis of user preferences to en...
Luciana Zaina
 
PPT
An Approach for Supporting P2P Collaborative Communication Based on Learning ...
Luciana Zaina
 
PPT
Model driven RichUbi: a model driven process for building rich interfaces of ...
Luciana Zaina
 
PPT
Adaptive learning in the educational e-LORS system: an approach based on pref...
Luciana Zaina
 
PPT
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
Luciana Zaina
 
PPT
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Luciana Zaina
 
PPTX
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Luciana Zaina
 
PPTX
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Luciana Zaina
 
PPT
Cataloguing of learning objects using social tagging
Luciana Zaina
 
PPT
The use of social tagging to support the cataloguing of learning objects
Luciana Zaina
 
PPT
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Luciana Zaina
 
PPT
Interaction With Mobile Devices by Elderly People: The Brazilian Scenario
Luciana Zaina
 
Adding user experience aspects to the writing of user stories
Luciana Zaina
 
A experiência é do usuário ou do designer e do desenvolvedor ? Diferentes len...
Luciana Zaina
 
A design methodology for user-centered innovation in the software development...
Luciana Zaina
 
Um ambiente colaborativo para suporte ao comércio na Universidade
Luciana Zaina
 
Compilador Web: uma Experiência Interdisciplinar entre as Disciplinas de Enge...
Luciana Zaina
 
Classification of learning profile based on categories of student preferences
Luciana Zaina
 
Learning objects retrieval from contextual analysis of user preferences to en...
Luciana Zaina
 
An Approach for Supporting P2P Collaborative Communication Based on Learning ...
Luciana Zaina
 
Model driven RichUbi: a model driven process for building rich interfaces of ...
Luciana Zaina
 
Adaptive learning in the educational e-LORS system: an approach based on pref...
Luciana Zaina
 
TOWARDS A HYBRID APPROACH FOR ADAPTING WEB GRAPHICAL USER INTERFACES TO HETER...
Luciana Zaina
 
Experimentation of the Model Driven RichUbi Process in the Adaptive Rich Inte...
Luciana Zaina
 
Identificação das necessidades de interação dos usuários em sistemas ERP: pro...
Luciana Zaina
 
Aprendendo História através de Museus Virtuais: uma parceria entre Professore...
Luciana Zaina
 
Cataloguing of learning objects using social tagging
Luciana Zaina
 
The use of social tagging to support the cataloguing of learning objects
Luciana Zaina
 
Interaction With Mobile Devices on Social Networks by Elderly People: A Surve...
Luciana Zaina
 
Interaction With Mobile Devices by Elderly People: The Brazilian Scenario
Luciana Zaina
 
Anúncio

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

  • 1. 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. 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. 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. 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 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. 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 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. 9 Modelagem Específica de Domí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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 23. 23 Engenharia de Aplicação  Analisar  A aplicação é especificada a partir de seus requisitos
  • 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
  • 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  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. 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. 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. 31 Obrigado! Carlos E. Cirilo [email protected] Antonio F. Prado [email protected] Luciana A. M. Zaina [email protected] http://www.ges.dc.ufscar.br Wanderley L. de Souza [email protected]

Notas do Editor

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