Universidade Federal de São CarlosCentro de Ciências Exatas e TecnologiaPrograma de Pós-Graduação em Ciência da Computação
Carlos Eduardo CiriloAntonio Francisco do PradoWanderley 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 Engenhariade 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 modelosPersistê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
Sem adaptação Com adaptação
15/04/23Carlos 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
Antonio F. Prado
Luciana A. M. Zaina
www.ges.dc.ufscar.br
Wanderley L. de [email protected]