04.01.2014 Views

TRABALHO FINAL DE CURSO - INESC-ID

TRABALHO FINAL DE CURSO - INESC-ID

TRABALHO FINAL DE CURSO - INESC-ID

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MobileREVS 15-10-2006<br />

Virtual Machine), a CLDC opera sobre a máquina virtual KVM (KiloByte Virtual<br />

Machine). Esta máquina virtual foi construída de raiz para dispositivos com limitações<br />

de memória e processamento, sendo personalizada para o sistema operativo de cada<br />

dispositivo.<br />

Seguidamente, são apresentados com mais detalhes os componentes da<br />

arquitectura da plataforma J2ME utilizados nos telemóveis (CLDC e M<strong>ID</strong>P), dado o seu<br />

enquadramento no projecto MobileREVS.<br />

CLDC<br />

Conforme foi indicado anteriormente, a Configuration CLDC [Giguere02a] foi<br />

desenhada para dispositivos com limitações ao nível das capacidades de processamento<br />

e armazenamento (e.g. telemóveis e alguns PDAs). Estes dispositivos têm, tipicamente,<br />

CPUs de 16 ou 32 bits e, em 2002, tinham entre 128KB e 512KB de memória<br />

disponível para a instalação da plataforma J2ME e aplicações associadas. No entanto, as<br />

limitações em termos de memória têm vindo a diminuir ao longo do tempo com a<br />

introdução de cartões de memória no mercado com capacidades superiores, que já<br />

atingem hoje em dia 1GB.<br />

O objectivo da criação da CLDC foi a definição de um padrão que permitisse às<br />

aplicações móveis abstraírem-se de operações nativas específicas dos sistemas<br />

operativos dos dispositivos, oferecendo-lhes portabilidade. Além disso, a máquina<br />

virtual KVM, usada pela CLDC, possui algumas restrições relativamente à<br />

convencional JVM (para efeitos de minimização do espaço ocupado em memória e<br />

consumo de energia dos dispositivos). A CLDC permite colmatar algumas das<br />

restrições da máquina virtual providenciando suporte a objectos de vírgula flutuante e a<br />

weak references, i.e. referências que não evitam a recolha dos objectos referenciados<br />

por parte do garbage collector.<br />

Adicionalmente, a CLDC fornece um pequeno subconjunto de classes J2SE,<br />

para utilização por parte das aplicações, e um conjunto de interfaces genéricas de<br />

suporte a funções de entrada/saída de dados, a Generic Connection Framework (GCF).<br />

Note-se que nem a GCF nem o CLDC implementam nenhuma função de entrada/saída<br />

de dados, pois elas estariam inevitavelmente associadas a modelos de funcionamento<br />

que nem todos os dispositivos poderiam suportar. Por isso, e para manter a<br />

compatibilidade, os aspectos específicos da implementação devem ficar a cargo dos<br />

Profiles utilizados (ver secção seguinte) ou dos fabricantes dos dispositivos. Estes<br />

devem ser capazes de mapear um protocolo de ligação (definido pelo programador) num<br />

objecto de comunicação que implemente a API da GCF, para manipulação das funções<br />

de entrada/saída de dados.<br />

Todos os aspectos relacionados com a interface utilizador não são definidos pelo<br />

CLDC.<br />

Hoje em dia já existem duas versões do CLDC: a 1.0 e a 1.1. No âmbito do<br />

projecto MobileREVS qualquer uma delas é plausível para o desenvolvimento do<br />

sistema. A principal diferença da versão 1.1 para a versão 1.0 consiste na colmatação<br />

das restrições da máquina virtual, anteriormente referidas.<br />

M<strong>ID</strong>P<br />

O Profile M<strong>ID</strong>P [Giguere02b] é uma especificação imposta pela Sun para a<br />

utilização de Java em sistemas embebidos como os telemóveis. Esta oferece as funções<br />

requeridas e específicas dos dispositivos em causa (neste caso telemóveis), incluindo a<br />

Luis Costa, Nuno Santos 19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!