Uma contribuição importante do Model Driven RichUbi é a estratégia híbrida empregada para adaptação do conteúdo das interfaces ricas desenvolvidas. O processo combina geração de código a partir da modelagem em tempo de desenvolvimento (facilitada pelo reúso do metamodelo e das transformações), com a geração de código em tempo de execução (facilitada pelo reúso dos adaptadores de conteúdo). Dessa forma, versões mais genéricas da interface são construídas, cada qual adequada a um determinado grupo de dispositivos (adaptação estática). Os adaptadores de conteúdo, no acesso à aplicação, completam, quando necessário, o restante da adaptação conforme as peculiaridades do dispositivo (adaptação dinâmica). Assim, o desenvolvimento torna-se simplificado, uma vez que um número menor de versões podem ser desenvolvidas.
Para apoio à adaptação híbrida, foi também desenvolvido um framework, chamado Ubiquitous Context Framework (UbiCon). O UbiCon, que é baseado na
Arquitetura de Contexto proposta por Santos (2008), encapsula as tarefas de
manipulação do contexto e fornece funcionalidades para adaptação do conteúdo de interfaces ricas de forma híbrida. Tais funcionalidades foram desenvolvidas reaproveitando-se os adaptadores de conteúdo produzidos durante a execução da etapa de ED do Model Driven RichUbi. A ideia do UbiCon é fornecer aos desenvolvedores um “esqueleto” que possa ser instanciado para o desenvolvimento de aplicações ubíquas que adaptam suas interfaces ricas de maneira híbrida através da combinação de diferentes perfis recuperados do contexto (e.g. dispositivo, usuário, rede). O UbiCon pode, então, ser empregado na etapa de EA do Model
Driven RichUbi de modo a estender a adaptação das interfaces ricas para atender a
variados perfis de entidades contextuais usualmente presentes em um ambiente ubíquo.
Para validação do trabalho, dois tipos de experimentos foram conduzidos. Primeiro, foi realizado um estudo de caso preliminar utilizando o processo e o
framework UbiCon no desenvolvimento das interfaces ricas do módulo Web de uma
aplicação ubíqua experimental. O objetivo do estudo de caso foi avaliar a aplicabilidade das atividades da EA e dos artefatos reutilizáveis desenvolvidos na ED para suporte à construção das interfaces ricas adaptativas, bem como verificar o comportamento dos serviços de adaptação fornecidos pelo UbiCon e sua capacidade de carga. Em seguida, um experimento foi realizado com o intuito de investigar o impacto do Model Driven RichUbi na eficiência de equipes desenvolvendo interfaces ricas adaptativas.
Os resultados obtidos com o estudo de caso mostraram que as atividades da etapa de EA do processo colaboraram para simplificar o desenvolvimento das versões das interfaces. O uso de modelos específicos do Domínio de Interfaces Ricas facilitou a modelagem das interfaces, elevando o nível de abstração e possibilitando gerar grande parte do código de forma automatizada. A adaptação fornecida pelo framework UbiCon mostrou-se satisfatória, atendendo às peculiaridades dos dispositivos. Com relação à sua capacidade de carga, apesar do aumento no tempo de resposta da adaptação híbrida em decorrência de uma maior carga de processamento da adaptação por conta de um número maior de acessos simultâneos, houve uma redução da complexidade do desenvolvimento. A adaptação híbrida facilitou o trabalho de autoria de interfaces adaptativas, permitindo atender uma gama maior de dispositivos com um número reduzido de versões das interfaces em vista do refinamento realizado em tempo de execução. Além disso, o refinamento dinâmico das interfaces com o uso do contexto permite obter uma adaptação mais precisa das interfaces, o que também colabora para fornecer aos usuários finais um grau maior de satisfação.
Durante a experimentação do processo, grupos de estudantes executaram a etapa de EA do Model Driven RichUbi, enquanto outros grupos seguiram as disciplinas do ciclo de vida clássico, sem aplicar MDD, para a construção das interfaces ricas adaptativas de uma aplicação ubíqua. Os dados coletados durante o estudo referentes ao tempo gasto e ao total de linhas de código implementadas
pelos grupos de ambos os processos serviram de base para análise. Os resultados obtidos, mesmo que em contexto universitário, evidenciaram o potencial do processo proposto em colaborar para o aumento da eficiência de equipes no desenvolvimento de interfaces ricas na Computação Ubíqua em termos de tempo despendido e produtividade. Em geral, os grupos que aplicaram o processo Model Driven RichUbi foram mais rápidos e produtivos do que os grupos que não usaram o processo proposto. Os dados evidenciaram que, com o uso do Model Driven RichUbi, os esforços de desenvolvimento podem ser significativamente reduzidos sem afetar negativamente a produtividade das equipes. Isto graças ao emprego de modelos específicos do Domínio de Interfaces Ricas, que facilita a tradução dos requisitos da aplicação em componentes de interfaces, e também ao uso de transformações M2C, que encapsulam grande parte das tarefas de codificação das interfaces para diferentes plataformas. Além disso, o reúso framework UbiCon possibilitou abstrair as tarefas de aquisição e manipulação do contexto do perfil do dispositivo, permitindo que o foco dos grupos fosse mantido apenas no desenvolvimento das interfaces.
Em síntese, ao explorar as concepções de MDD, DSM e sensibilidade ao contexto no desenvolvimento de interfaces ricas na Computação Ubíqua, o processo definido neste trabalho contribui para a Engenharia de Software nas seguintes áreas:
• Reúso. Através dos artefatos construídos na ED, é possível desenvolver mais facilmente e rapidamente as interfaces ricas adaptativas de aplicações de diferentes áreas durante a EA. Pelo fato do Domínio de Interfaces Ricas se tratar de um domínio transversal ao domínio de aplicações, o metamodelo, as transformações M2C e os adaptadores de conteúdo podem ser reutilizados no desenvolvimento das interfaces ricas de aplicações ubíquas em diferentes domínios de problema;
• Modelagem Específica de Domínio (DSM). O metamodelo específico do Domínio de Interfaces Ricas facilita a modelagem das aplicações ubíquas com interfaces ricas. A geração parcial do código colabora para a redução dos esforços de desenvolvimento. A grande vantagem da DSM é o reúso no nível da modelagem, o que possibilita que as interfaces de uma aplicação possam ser implementadas para
diferentes dispositivos da Computação Ubíqua a partir dos mesmos modelos aplicando-se as transformações M2C apropriadas;
• Sensibilidade ao Contexto. Durante a ED são desenvolvidos os adaptadores de conteúdo que desempenham a adaptação dinâmica das interfaces conforme o perfil do dispositivo de acesso recuperado do contexto. O reúso desses artefatos na EA possibilita aos desenvolvedores focarem-se mais em tarefas associadas aos requisitos de negócio da aplicação;
• Adaptação de Conteúdo. Os adaptadores de conteúdo produzidos na ED foram evoluídos e incorporados ao framework UbiCon, de forma a apoiar a adaptação híbrida das interfaces atendendo aos variados perfis de entidades contextuais (e.g. dispositivo, usuário, rede) presentes num ambiente ubíquo;
• Apoio Computacional. O metamodelo e as transformações M2C desenvolvidos na ED foram incorporados à ferramenta MVCASE, que por sua vez encontra-se integrada ao IDE Eclipse para apoiar grande parte das atividades dos Engenheiros de Domínio e de Aplicação.