SlideShare ist ein Scribd-Unternehmen logo
1 von 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
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

Weitere ähnliche Inhalte

Ähnlich wie Processo Dirigido a Modelos para Interfaces Ubíquas

TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...Marcelo Palladino
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...tdc-globalcode
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaElvis Fusco
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Fabrício Lopes Sanchez
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivoelliando dias
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeAlessandro Binhara
 
Portais Corporativos e Gestao de Conteudo
Portais Corporativos e Gestao de ConteudoPortais Corporativos e Gestao de Conteudo
Portais Corporativos e Gestao de ConteudoRicardo Martins Neves
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Fundamentos do asp.net
Fundamentos do asp.netFundamentos do asp.net
Fundamentos do asp.netleojr_0
 
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Opencadd Advanced Technology
 

Ähnlich wie Processo Dirigido a Modelos para Interfaces Ubíquas (20)

TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC Marília
 
DotNet vs. Java
DotNet vs. JavaDotNet vs. Java
DotNet vs. Java
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivo
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
Arquitetura[.net]
Arquitetura[.net]Arquitetura[.net]
Arquitetura[.net]
 
Introducao ao .Net
Introducao ao .NetIntroducao ao .Net
Introducao ao .Net
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
Netbeans
NetbeansNetbeans
Netbeans
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
.NET Micro Framework
.NET Micro Framework.NET Micro Framework
.NET Micro Framework
 
Portais Corporativos e Gestao de Conteudo
Portais Corporativos e Gestao de ConteudoPortais Corporativos e Gestao de Conteudo
Portais Corporativos e Gestao de Conteudo
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
JavaServer Faces
JavaServer FacesJavaServer Faces
JavaServer Faces
 
Fundamentos do asp.net
Fundamentos do asp.netFundamentos do asp.net
Fundamentos do asp.net
 
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
Openday PUC-RIO - Ferramenta gráfica para modelagem e análise em Engenharia E...
 

Mehr von Luciana Zaina

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

Mehr von Luciana Zaina (18)

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

Processo Dirigido a Modelos para Interfaces Ubíquas

  • 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 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

Hinweis der Redaktion

  1. Mais especificamente, é necessário adaptar as interfaces do usuário.