Máquina virtual Java em FPGA - Carvalho, Íris Daniela Gouveia Pereira Pinto (2015)
A utilização de tecnologia Java, através da implementação e aplicação de máquinas virtuais, é muito vasta pois apresenta uma grande vantagem. Elimina a necessidade de programar individualmente dispositivos computacionais distintos, com especificações diferentes, tornando compatíveis e homogéneos sistemas que integram dispositivos diferentes como computadores, impressoras e telemóveis. Também as redes de sensores e atuadores sofisticadas, usadas em agricultura de precisão por exemplo, podem beneficiar da utilização de máquinas virtuais. Neste tipo de sistemas, a implementação de máquinas virtuais está restrita, por norma, ao uso de microcontroladores tradicionais com reduzidas capacidades de processamento e memória. A máquina virtual está, portanto, sujeita a uma arquitetura fixa. Uma alternativa a este tipo de implementação de redes de sensores consiste substituir o microcontrolador por um dispositivo semicondutor programável que permite desenvolver hardware, denominado por FPGA (Field Programmable Gate Array). Para além de possuir mais memória e uma maior capacidade de processamento, é mais versátil do que um microcontrolador. É de esperar que a FPGA, ao permitir criar hardware à medida das necessidades do programador, leve a uma implementação da máquina virtual de acordo com os requisitos e funcionalidades pretendidas. A arquitetura do hardware é criada de propósito para a máquina virtual. Na presente dissertação é desenvolvida uma máquina virtual Java (JVM - Java Virtual Machine) numa FGPA para avaliar se esta pode constituir uma boa alternativa à utilização de microcontroladores em algumas aplicações.