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

31
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

Transcript of Model Driven RichUbi - A Model-Driven Process to Construct Rich Interfaces for Context-Sensitive...

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

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

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

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

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

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)

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

4

Motivação Computação Ubíqua

Heterogeneidade dos dispositivos de acesso Necessidade de adaptação das interfaces das aplicações

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

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

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

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

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

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

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

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

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

9

Modelagem Específica de Domínio (DSM)

DSM no desenvolvimento de interfaces

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

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

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

11

Engenharia de Domínio

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

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

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

13

Engenharia de Domínio

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

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

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

15

Engenharia de Domínio

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

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

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

17

Engenharia de Domínio

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

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

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

19

Engenharia de Domínio

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

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)

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

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

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

22

Engenharia de Aplicação

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

23

Engenharia de Aplicação

Analisar

A aplicação é especificada a partir de seus requisitos

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

24

Engenharia de Aplicação

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

25

Engenharia de Aplicação

Projetar

Refinamento das especificações da aplicação Modelagem das interfaces da aplicação como instância do metamodelo

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

26

Engenharia de Aplicação

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

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

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

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.

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

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

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

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)

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

31

Obrigado!Carlos E. Cirilo

[email protected]

Antonio F. Prado

[email protected]

Luciana A. M. Zaina

[email protected]://

www.ges.dc.ufscar.br

Wanderley L. de [email protected]