Differences
This shows you the differences between two versions of the page.
elisa [2014/08/21 17:31] endler [Architecture] |
elisa [2017/07/21 03:08] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{template>: | ||
- | | name=ELISA | ||
- | | version=0.1 | ||
- | | accountable=Fulano | ||
- | | depdency= | ||
- | }} | ||
- | |||
- | ====== ELISA ====== | ||
- | A Energy-aware LIbrary of Services for Andrioid (ELISA) é uma biblioteca multi-thread para aplicações Android, que consiste de um par de serviços Android, o LocationService e o ConnectivityService e um conjunto de Broadcast Receivers (Android) que conjuntamente registram a posição geográfica do nó (p.ex. usando GPS), e realizam o envio de mensagens da aplicação carregando a posição corrente do nó,. ELISA verifica o nível da bateria do dispositivo a cada T minutos (usando o Android AlarmManager) e de acordo com a classsificacão em um de três níveis de energia - alta, média e baixa - define as frequências da leitura de posição e do envio dos dados, de modo a minimizar o consumo de energia do dispositivo. O ConnectivityService utiliza a ClientLib para bufferizacão, | ||
- | |||
- | ===== Usage ===== | ||
- | Explicar aqui como utilizar. Quais são as principais interfaces, elementos etc. Dar um rápido exemplo de como utilizar. Se possível e aplicável fazer um breve "hello world" | ||
- | |||
- | <file java Hello.java> | ||
- | public class Hello { | ||
- | | ||
- | // Teste | ||
- | double x = 2; | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | * '' | ||
- | |||
- | * '' | ||
- | |||
- | ===== Architecture ===== | ||
- | ELISA consiste de dois Android Services, que executam em treads independentes (vide Figura) | ||
- | |||
- | O **LocationService** periodicamente verifica a posição do dispostivo (usando o Location Manager do Android), e caso esta tenha mudado, gera o broadcast NEW_LOCATION. Possui também um Broadcast Receiver, CHG_LOCATION_INTERVAL, | ||
- | |||
- | O **Connection Service** gerencia uma lista de mensagens (MsgList), que acumula mensagens a serem enviadas para o Gateway através | ||
- | |||
- | Além disso, ELISA usa o AlarmManager do Android para periodicamente gerar o Intent (CHECK_BATTERY_LEVEL) para verificar o nível de energia, e classifica-lo em " | ||
- | |||
- | {{: | ||
- | |||
- | |||
- | ===== Implementation Details ===== | ||
- | Detalhes de implementação, | ||
- | |||
- | ===== References ===== | ||
- | Bibtex/PDF entry dos papers sobre esse componente. | ||