Uma metodologia de participação para o co-projecto de sistemas digitais embebidos - Esteves, António (2001)
Esta tese propõe uma metodologia de partição automática, que é parte integrante duma metodologia mais abrangente orientada para o desenvolvimento de sistemas embebidos predominantemente de fluxo de dados. É formulado o problema de partição, tarefa que depende da arquitectura alvo e que se integra na fase de implementação dos sistemas com múltiplos componentes de hardware e/ou de software. A partir do levantamento sobre os meta-modelos mais utilizados em sistemas embebidos, Justifica-se a selecção de PSM para representação de interface entre a tarefa de partição e a restante metodologia de desenvolvimento. Para representar os sistemas internamente ao processo de partição desenvolveu-se o meta-modelo PSMfg. Apresenta-se a arquitectura alvo actualmente suportada pela metodologia de partição proposta, a qual é composta por uma plataforma EDgAR-2 ligada a um sistema hospedeiro. A organização da metodologia de partição desenvolvida inclui um algoritmo de partição construtivo e a respectiva função de proximidade, um algoritmo de partição iterativo e a correspondente função de custo e os estimadores de métricas, O algoritmo construtivo gera uma solução de partição inicial, que o algoritmo iterativo procura melhorar em sucessivas tentativas. Mostra-se como é que, partindo dum conjunto de algoritmos de partição referenciados na bibliografia, se chegou à selecção do algoritmo construtivo de crescimento de grupos e do algoritmo iterativo de pesquisa tabu. Descreve-se o processo de construção de soluções de partição com o algoritmo construtivo de crescimento de grupos, a função de proximidade por ele utilizada e a estimação das métricas necessárias a esta função. A adaptação do algoritmo de pesquisa tabu ao presente problema de partição é explicada, sendo de destacar a implementação dos tipos de tabu, da lista tabu, do historial de soluções visitadas, da pesquisa na subvizinhança, dos critérios de aspiração e dos mecanismos de convergência para a solução óptima e de fuga a mínimos locais. A função de custo utilizada pelo algoritmo de pesquisa tabu é definida a partir dum conjunto de métricas e dos condicionalismos ou requisitos que lhe estão associados. Para estimar as métricas da função de custo definiram-se modelos de software para o processador, de hardware para as FPGAs e os CPLDs e de comunicação para os recursos de interligação. Para reduzir o tempo de cálculo e manter uma precisão elevada nas estimativas, a estimação é incremental e funciona em dois níveis de abstracção: (i) no nível de abstracção mais elevado, obtêm-se estimativas para o espaço ocupado pelo caminho de dados e pela unidade de controlo das partições de hardware e para o desempenho do sistema e (ii) no nível de abstracção mais baixo, obtêm-se estimativas para métricas relativas aos objectos do modelo do sistema. A validação da metodologia de partição traduziu-se no estudo de dois exemplos: a convolução duma imagem e um algoritmo de criptografia. Os aspectos avaliados foram a qualidade das soluções de partição geradas automaticamente, a precisão e a fidelidade das estimativas, o desempenho da ferramenta desenvolvida e o apoio que presta à implementação das soluções de partição.