• Nenhum resultado encontrado

Trabalhos Relacionados

3.2 Trabalhos Analisados

3.2.1 Uma Arquitetura de Serviço para Avaliação de Contextos em Redes de TV Digital

Ao gerar conteúdo televisivo, é interessante para as emissoras de TV saber qual é o grau de adequação entre o conteúdo sendo gerado e as características envolvendo o seu público alvo. Com essa informação, as emissoras podem adaptar suas futuras transmissões visando aumentar o número e a satisfação de seus telespectadores.

58

qualidades diferentes podem ser enviadas via broadcast junto com aplicações que as manipulam, essa adaptação pode ser feita em tempo real.

Tendo isso em vista, Leite et al. (2007) define uma arquitetura de serviço para avaliação do grau de adequação do conteúdo televisivo de acordo com informações de contexto - utilizado porLeite et al. (2007) como sendo conceitos relativos ao telespectador, à plataforma e ao ambi- ente. Essas informações podem, então, ser utilizadas para adaptar o comportamento dos XLets, aplicativos imperativos do padrão do SBTVD, e, logo, do conteúdo sendo exibido.

Nessa arquitetura (Figura 3.1), cada dispositivo receptor oferece um Web Service que é utilizado pelas emissoras, ou produtores de conteúdo, para enviarem uma descrição de como as informações de contexto adquiridas pela plataforma devem ser utilizadas para avaliar o grau de adequação do conteúdo sendo apresentado. Essa descrição forma uma base de conhecimento, que juntamente com uma base de fatos, formada pelas informações contextuais obtidas pelo receptor, são processadas por um motor de inferência baseado em lógica fuzzy que envia a avaliação de volta para a emissora.

Figura 3.1: Arquitetura de Serviço para Avaliação de Contextos em Redes de TV Digital. Fonte: (LEITE et al.,2007)

As informações contextuais utilizadas tanto para descrição das regras de avaliação quanto para a armazenagem na base de fatos devem estar de acordo com uma ontologia de domínio para a TV Digital, definida porLeite et al. (2007) em OWL (Web Ontology Language) .

59

3.2.2 Um Framework Sensível ao Contexto para Sistemas de Tomadas de Decisão de Governança em Saúde

O controle de epidemias e doenças infecto-contagiosas representa um grande desafio para os gestores dos Sistemas de Saúde, pois necessitam de soluções eficientes e de baixo custo. Outro desafio no âmbito dos Sistemas de Saúde é o grande número de atendimentos presenciais em centros de emergência e de internações.

Nesse cenário, um sistema de monitoramento de saúde remoto poderia ser utilizado. No primeiro caso, as informações obtidas por esse monitoramento poderiam ser utilizadas para auxiliar as tomadas de decisão dos gestores de saúde, enquanto, no segundo, informações sobre aspectos da saúde de pacientes poderiam ser monitorados e o tratamento poderia ser feito à distância, diminuindo o fluxo de pessoas nos hospitais.

Tendo isso em vista,Oliveira et al.(2010) propõe um framework para suporte de aplicações sensíveis ao contexto para apoio à tomada de decisão de governança em saúde que utiliza o dispositivo receptor de TV Digital para aquisição de informações contextuais que são enviadas via canal de interatividade. Essas informações devem estar de acordo com uma ontologia de domínio definida em OWL-DL que as divide em contexto local e global.

Baseada nessa ontologia, são criadas regras no modelo ECA (Event-Condition-Action) para descrever regras lógicas que são traduzidas para SRWL (Semantic Web Rule Language) , per- mitindo a inferência de informações contextuais de mais alto nível e a tomada automática de decisão (ou o auxílio dela).

3.2.3 Contextual Ginga: Uma Ferramenta de Autoria de Aplicações Intera- tivas Sensíveis ao Contexto de TV digital para Ginga-NCL

Como visto, a característica de sensibilidade ao contexto pode tornar aplicações interativas de TV Digital mais atrativas. Além disso, a velocidade em que o conteúdo televisivo deve ser produzido faz com que essas aplicações precisem de ter um ciclo de desenvolvimento mais curto, o que pode ser feito por meio de ferramentas de autoria.

Dessa forma,Carvalho e Ferraz(2010) implementa uma ferramenta de autoria que permite a produção de aplicações interativas sensíveis ao contexto para a TV Digital brasileira. Essa ferra-

60

menta provê uma interface gráfica para a construção dessas aplicações que podem ser adaptadas pelas informações de faixa etária e sexo do telespectador; data, hora e dia da semana em que a aplicação é acessada; e código postal de onde ela é exibida.

A Figura 3.2 apresenta a interface gráfica dessa ferramenta sendo utilizada para a imple- mentação de um EPG que se adapta às informações contextuais definidas.

Figura 3.2: Ferramenta de Autoria de Aplicações Sensíveis ao Contexto. Fonte: (CARVALHO; FERRAZ,2010)

Carvalho e Ferraz (2010) define, ainda, qual deve ser o processo de criação das aplicações desenvolvidas nessa ferramenta. São elas: (i) identificar os tipos de informações contextuais de interesse para a aplicação, (ii) criar todos os componentes da aplicação (mídias), (iii) definir o conjunto de valores das informações contextuais identificadas que caraterizam os perfis (personas) para os quais a aplicação será adaptada, (iv) definir o comportamento da aplicação direcionada a cada perfil e (v) geração de código NCL referente a mesma.

3.2.4 Desenvolvimento de Aplicações Sensíveis ao Contexto no Ambiente De- clarativo do Sistema Brasileiro de TV Digital

Mielke (2010) também é motivado pelos benefícios trazidos pela inserção de sensibilidade ao contexto no cenário de TV Digital para fazer uma avaliação dos elementos da plataforma Ginga- NCL com o objetivo de identificar os elementos que podem ser utilizados para facilitar a realização de aplicações sensíveis ao contexto.

Considerando que informações contextuais podem ser adquiridas por meio de sensores,Mielke

61

Canal de Interatividade por meio de scripts NCLua. Para isso, estes devem fazer uso do serviço de eventos desse ambiente, disponibilizado por meio do módulo event. Nesse caso, o script pode se comunicar com o Canal de Interatividade por meio de eventos da classe “tcp” para adquirir uma informação da rede e, em seguida, atualizar uma âncora de propriedade da aplicação NCL por meio de eventos da classe “ncl”.

De acordo comMielke(2010), muitas vezes o mecanismo de tratamento de eventos do NCLua impõe dificuldades ao desenvolvimento de alguns tipos de aplicações, como é o caso daquelas que necessitam gerenciar várias conexões TCP (MIELKE, 2010), ou das que necessitam da utilização de protocolos de camadas acima da camada de transporte, como HTTP ou SOAP (FILHO; GONDIM,2011). Além disso, não existe uma correspondência direta entre âncoras de propriedades em documentos NCL e variáveis nos scritps NCLua (MIELKE,2010).

É percebido por Mielke (2010), então, que os eventos utilizados pelo mecanismo padrão de tratamento eventos de NCLua podem ser traduzidos como funções de componentes da aplicação NCL. Por exemplo, o evento de solicitação de conexão pode ser representado por um método de conexão em um objeto que representa um cliente no Canal de Interatividade.

Baseado nisto,Mielke(2010) apresenta as bibliotecas NCLua TCPEventHandler e Properties que facilitam, respectivamente, o acesso ao Canal de Interatividade e a comunicação entre scripts NCLua e documentos NCL, o que pode auxiliar na distribuição e no tratamento de eventos contextuais na plataforma Ginga. Estas bibliotecas abstraem a estrutura dos eventos de NCLua e disponibilizam funcionalidades por meio de conceitos de orientação a objetos, como métodos e tratadores de eventos específicos, que lidam, por exemplo, com a atribuição de uma variável no documento NCL ou a chegada de dados em uma conexão.

As Figuras 3.3e 3.4mostram o diagrama de classes conceitual dessas duas bibliotecas.

Figura 3.3: Modelo da biblioteca TCPEventHandler para comunicação com o canal de interati- vidade. Fonte: (MIELKE,2010)

62

implementa o comportamento necessário para realizar o controle da comunicação com o Canal de Interatividade, cabendo ao tratador de eventos apenas implementar o comportamento específico da aplicação, que deve ser implementado no script NCLua que utiliza a biblioteca.

Figura 3.4: Modelo da biblioteca Properties para comunicação com o documento NCL. Fonte: (MIELKE,2010).

Como representado na Figura 3.4, a biblioteca Properties.lua disponibiliza métodos para atribuir valores a âncoras de propriedades no documento NCL, obter valores dessas propriedades e registrar funções para serem executadas quando o valor de propriedades específicas são alteradas. Por realizarem o controle da comunicação com o Canal de Interatividade e o documento NCL em um nível mais alto de abstração, essas bibliotecas podem ser reutilizadas em diversos cenários, como para aquisição de informações contextuais de dispositivos externos à plataforma. Para validar sua abordagem,Mielke(2010) apresenta dois estudos de caso em domínios diferentes: um medidor de audiência para adequação de conteúdo, um e monitor cardíaco para acionamento de serviços de emergência.

3.2.5 Abordagem Orientada a Modelos para o Desenvolvimento de Aplica- ções Sensíveis ao Contexto para a TV Digital

Como já dito, o desenvolvimento de aplicações sensíveis ao contexto deve ser feito de forma integrada, ou seja, cada etapa, da modelagem de contexto e situações, passando pela especificação do comportamento reativo da aplicação, até a implementação, deve se comprometer com a etapa anterior. Além disso, é natural se pensar que a implementação de componentes dessas aplicações no cenário do SBTVD seja feita em NCL e NCLua, já que são linguagens padrão.

Nesse sentido,Vale (2011) observa que uma regra escrita em ECA-DL, linguagem utilizada para especificar o comportamento reativo de aplicações sensíveis ao contexto (Seção4.3), possui uma correspondência com os elementos da linguagem NCL. Contudo, uma simples regra ECA- DL, que normalmente, por ser específica de domínio, pode ser escrita em poucas linhas, gera uma

63

grande quantidade de linhas de código NCL e, geralmente, muitas dessas linhas são semelhantes em várias aplicações (MIELKE,2010).

Com base nisso, Vale (2011) define uma nova linguagem baseada na ECA-DL, mas que incorpora conceitos do domínio da TV Digital, chamada ECA-DL TVD, e utiliza técnicas da área de Desenvolvimento Orientado a Modelos (MDA) [Almeida, Pires & Sinderen 2004] a fim de permitir a geração automática de código NCL a partir de regras especificadas nessa linguagem. MDA permite que isso seja feito a partir do mapeamento dos elementos dos metamodelos de ECA-DL TVD e NCL e de frameworks de transformação de modelos.

Assim como a ECA-DL, a ECA-DL TVD se baseia nos modelos contextuais e de situação definidos porCosta(2007) (Seção4.2) para a definição do comportamento reativo da aplicação, o que mantém uma relação direta entre a etapa de modelagem de contexto, situações e regras, e a geração de código responsável pelo comportamento reativo da aplicação. Vale(2011) define, então, os mapeamentos tanto entre elementos da linguagem ECA-DL TVD e da NCL, quanto entre elementos da linguagem de definição da modelagem contextual e da NCL.

Como prova de conceito,Vale(2011) utiliza sua abordagem para implementar duas aplicações sensíveis ao contexto: uma no domínio das “Casas Inteligentes”, na qual uma mensagem de aviso é apresentada para um telespectador assistindo um filme, quando sua pipoca fica pronta no microondas; e uma no domínio de segurança para “Home Banking”, onde a imagem que exibe o saldo da conta corrente do usuário é ocultada quando é identificada a presença de mais de uma pessoa na sala.

3.2.6 Integração entre o Middleware Brasileiro de TV Digital e Serviços de Dispositivos Eletrônicos em Redes OSGi

Com o desenvolvimento de novos dispositivos e novas tecnologias de comunicação, aumentou con- sideravelmente a quantidade de serviços oferecidos e compartilhados por dispositivos eletrônicos com elevado poder de processamento, como smartphones e ipads, assim como dispositivos que comumente não tinham essa capacidade, como ar condicionados e controladores de iluminação e portas (VIANA,2009).

Com o advento da TV Digital, a TV também pode ser considerado um desses dispositivos. Além disso, devido a possibilidade de prover várias interfaces de comunicação, ela pode ser

64

utilizada para centralizar o controle de dispositivos numa rede doméstica e para prover acesso a serviços externos à residência via canal de interatividade.

Motivado por esse cenário, foram desenvolvidos vários trabalhos abordando a integração entre os padrões existentes para TVD (ACAP, MHP, Ginga, etc.) e frameworks de Home Networks. Um trabalho em particular (VIANA,2009) analisa e compara várias dessas diferentes abordagens para essa integração, levando em consideração características como (i) o tipo de integração (se são separados ou integrados numa mesma arquitetura); (ii) a necessidade de modificação dos padrões utilizados; e (iii) as formas de comunicação (uni ou bi direcionais).

Feita a análise, Viana (2009) define e implementa uma arquitetura Ginga-OSGi para inte- gração entre as duas plataformas, tanto para o ambiente Ginga-J, quanto para o Ginga-NCL. Considerando-se apenas o ambiente GingaNCL-OSGi, essa integração é possibilitada pela imple- mentação de novos Adapters, elementos do Ginga-NCL que associados aos Players são respon- sáveis por executar as mídias controladas pelas aplicações.

Esses novos Adapters, chamados GingaNCL2OSGiAdapter e OSGiGingaNCLAdapter, são utilizados para dar acesso a serviços cadastrados no OSGi, como os providos por dispositivos eletrônicos variados, para serem acessados via aplicação NCL, e dar acesso a elementos do Ginga, como regiões na tela e propriedades das mídias, para serem utilizados por bundles cadastrados no OSGi.

3.2.7 Discussão

Após uma breve descrição dos trabalhos analisados, é feita uma discussão à luz dos seguintes as- pectos de interesse para esta dissertação: (i) abordagem usada para modelagem de contextos; (ii) existência de suporte arquitetural para manipulação de contextos; (iii) estratégia para aquisição de informações contextuais.

3.2.7.1 Modelagem de Contexto

Partindo das abordagens menos interessantes para as mais interessantes, no que se diz respeito à modelagem contextual, pode-se dizer que Carvalho e Ferraz (2010) faz apenas uma categori- zação das informações que podem ser utilizadas para a adaptação das aplicações geradas pela sua ferramenta utilizando as dimensões Who, When e Where. Além disso, ao propor uma me-

65

todologia para utilização de sua plataforma, não é proposto nenhum tipo de modelagem para o comportamento reativo da aplicação. Essa abordagem restringe muito os cenários abrangidos pelas aplicações desenvolvidas para sua plataforma e dificulta o desenvolvimento das mesmas, já que o comportamento reativo pode ser bastante complexo. Um ponto interessante do trabalho é a própria ideia de uma ferramenta de autoria para aplicações sensíveis ao contexto, o que pode resultar num trabalho futuro para esta dissertação.

Mielke(2010) utiliza diagramas de classes UML (Universal Markup Language) para modelar as entidades e as informações contextuais envolvidas em suas aplicações sensíveis ao contexto e um diagrama de sequência para modelar seu comportamento reativo. Essa abordagem permite a modelagem de uma maior gama de cenários, e facilita o entendimento sobre o comportamento reativo da aplicação. A utilização de diagramas de classe UML, porém, permite a criação de modelos ambíguos (GUIZZARDI, 2005). Além disso, existem outras formas mais interessantes para a modelagem de comportamento reativo, como a utilização de regras, que aliadas a mo- delos baseados em ontologias, permitem o processamento automático dessas regras para gerar informações de contexto de mais alto nível e, automaticamente, adaptar as aplicações.

Pelo fato de atuar no domínio de TV Digital, Leite et al.(2007) define uma ontologia para esse domínio utilizando a linguagem OWL que deve ser utilizada para classificar as informações contextuais que podem ser utilizadas nas aplicações. Da mesma forma, Oliveira et al. (2010) define uma ontologia OWL, mas, nesse caso, para definir o domínio em que se insere sua apli- cação (relacionada à saúde). Essa abordagem é bastante interessante por permitir a modelagem do comportamento reativo da aplicação em forma de regras, assim como é proposto por ambos os trabalhos, as quais podem ser processadas automaticamente facilitando o trabalho do de- senvolvedor e potencializando a criação de novas aplicações. Além disso, pela avaliação desses trabalhos, OWL parece poder ser utilizada para a modelagem de aplicações sensíveis ao contexto em domínios diferentes.

A utilização da OWL, porém, é interessante para facilitar o raciocínio lógico automático, não para a representação do mundo real (GUIZZARDI,2005), a qual é característica desejável para a etapa de modelagem. A utilização da OWL pode, assim como a utilização de UML, resultar na criação de modelos ambíguos, dificultando o entendimento entre os interessados na aplica- ção. Uma solução para esse problema poderia ser a utilização de ontologias de fundamentação (GUIZZARDI, 2005) (Seção 4.2), que restringem a utilização dos elementos das ontologias de

66

domínio, promovendo a criação de modelos que representam fielmente elementos do mundo real, possibilitando a criação de modelos não ambíguos.

Para a etapa de modelagem contextualVale (2011), utiliza elementos de uma ontologia de fundamentação propostos por Costa (2007), possibilitando a definição de modelos não ambí- guos, a delimitação precisa do escopo da aplicação e o entendimento entre os envolvidos no seu desenvolvimento. Um dos elementos, chamado de Situação, permite a modelagem dos estados das entidades e contextos que sejam de interesse da aplicação. Vale (2011) utiliza, ainda, uma linguagem específica de domínio que se baseia nos elementos da modelagem para a criação de regras para a especificação do comportamento reativo da aplicação, facilitando o entendimento e o desenvolvimento dessas aplicações.

Esta dissertação usa a mesma abordagem utilizada por Vale (2011) para a modelagem de contexto, situações e regras de comportamento reativo, por se mostrar a melhor abordagem a ser utilizada para a realização dessa etapa no desenvolvimento de aplicações sensíveis ao contexto para a TV Digital.

3.2.7.2 Arquiteturas

Dos trabalhos apresentados, os únicos que apresentam soluções arquiteturais para dar suporte à execução de aplicações sensíveis ao contexto no dispositivo receptor do sinal de TV Digital, sãoLeite et al. (2007) e Vale(2011). Oliveira et al.(2010) também apresenta uma arquitetura, contudo ele utiliza o dispositivo receptor apenas para a aquisição de informação contextual, mantendo o restante da arquitetura centralizado num servidor remoto. Uma arquitetura no próprio receptor que pré processasse informações contextuais poderia ser interessante nesse caso para desafogar o processamento no servidor.

Apesar de ter sido definida especificamente para detecção, por parte das emissoras, do grau de adequação do conteúdo televisivo enviado para cada receptor, a arquitetura apresentada porLeite et al. (2007) possui elementos interessantes para dar suporte a aplicações sensíveis ao contexto de domínios variados. São eles: Base de Fatos, Base de Conhecimento e Motor de Inferência. Para serem utilizados em outros domínios, basta que seja utilizadas outras ontologias.

Leite et al. (2007), porém, não define os elementos dessa arquitetura que devem realizar ações de interação com o Ginga para permitir que os resultados do processamento das infor-

67

mações contextuais sejam utilizados para adaptar a execução das aplicações. Além dissoLeite et al. (2007) não define um elemento arquitetural que seja responsável por compor informações contextuais a partir de outras, característica normalmente necessária em aplicações sensíveis ao contexto.

Vale (2011) utiliza uma arquitetura conceitual baseada na definida por Costa (2007) que provê elementos arquiteturais genéricos e reutilizáveis que podem ser especializados de acordo com os requisitos das aplicações. Esses elementos oferecem serviços comuns para suporte de aplicações sensíveis ao contexto, como provisionamento de informações contextuais, inferência de contexto, execução de regras de comportamento reativo e execução de ações. Contudo,Vale

(2011) realiza esses elementos nas próprias aplicações, ao invés de fazer isso no receptor, tornando a reutilização desses elementos mais difícil por parte do programador.

Aqui advoga-se, porém, que essa arquitetura deve ser realizada na própria plataforma Ginga, o que permite uma abordagem de desenvolvimento voltado ao reuso e a distribuição da respon- sabilidade do desenvolvimento da aplicação por todos os envolvidos, o que facilita e promove o desenvolvimento de aplicações sensíveis ao contexto mais elaboradas e em diferentes domínios.

3.2.7.3 Aquisição de Informações contextuais

Dos trabalhos apresentados, Carvalho e Ferraz (2010), Oliveira et al. (2010), Mielke (2010) e

Vale(2011) se preocupam com a forma em que os dados contextuais devem ser adquiridos pela aplicação.

Carvalho e Ferraz (2010), por utilizar apenas informações contextuais que devem ser dispo- nibilizadas pelo Ginga, por padrão, consegue adquirir todas as informações necessárias para as aplicações sensíveis ao contexto apenas pela forma padrão, por exemplo pela utilização do mó- dulo settings de NCLua. Esta dissertação, porém, admite a utilização de informações contextuais

Documentos relacionados