Banca do PCC: Andrws Aires Vieira

UNIVERSIDADE FEDERAL DE PELOTAS
CENTRO DE DESENVOLVIMENTO TECNOLÓGICO
CURSO DE CIÊNCIA DA COMPUTAÇÃO

Apresentações do Projeto de Conclusão de Curso (2012/2)

Geração de Código e Avaliação de Diferentes Paradigmas de Projeto de Algoritmos para Aplicações Android

por
Andrws Aires Vieira

Banca:
Prof. Julio Carlos Balzano de Mattos (orientador)
Prof. Felipe de Souza Marques (co-orientador)
Profa. Lisane Brisolara de Brisolara
Prof. Rafael Iankowski Soares

Data: 07 de março de 2013

Hora: 15:30h

Local: Sala 415

Resumo do Trabalho:

Em aplicações embarcadas, as características como, desempenho, consumo de energia, redução do tamanho de software e/ou hardware, entre outros aspectos, devem ser consideradas. Dentre os atuais sistemas embarcados, os dispositivos móveis com sistema operacional Android estão em pleno destaque no mercado atual devido ao grande número de dispositivos comercializados. Com isso se faz necessário uma análise de requisitos não funcionais durante o desenvolvimento de aplicativos para estes dispositivos, tendo em vista que a energia destes aparelhos é fornecida por uma bateria. Nesta linha, este trabalho irá propor a implementação de diversas aplicações para a plataforma Android, fazendo uso de diferentes paradigmas de projetos de algoritmos. Deste modo, pretende-se avaliar o impacto desses métodos para o sistema operacional Android embarcado em dispositivos portáteis como, smartphones e tablets. Para avaliar as aplicações que serão descritas neste trabalho, serão usadas ferramentas e aplicações de profiling que irão fornecer dados de energia consumida, potência dissipada e o tempo de execução. Assim diagnosticando a melhor versão de um determinado método algorítmico para um determinado objetivo. Ao fim deste trabalho são apresentados os resultados das análises de diferentes paradigmas de projetos de algoritmos, como recursão, divisão e conquista, backtracking, programação dinâmica entre outros e o diagnostico de quais técnicas tem um desempenho melhor e pior para plataforma Android em diferentes situações. Com base nos resultados foi possível determinar quais métodos foram mais eficientes do ponto de vista de desempenho, como de economia de energia ou de memória. Em geral as estruturas recursivas demostram ter um desempenho inferior quando comparados aos demais, também é comprovado que a substituição de cálculos extensos por tabelas estáticas apresenta ganhos de desempenho e energético bem elevado com apenas um irrelevante acréscimo no uso de memória. Além disso, dentre os algoritmos de ordenação analisados o Tim Sort apresentou melhor desempenho para a plataforma Android. Já quanto as Collections do Java quando submetidas ao benchmark desenvolvido neste trabalho, a que apresentou melhor performance foi a ArrayList.

Para mais informações acesse: http://inf.ufpel.edu.br/nopcc/doku.php?id=bancas:2012_2