Proposta de Projeto Título do Projeto Aplicando Métodos Formais na Especificação e Verificação de um modelo de QoS para Redesem-Chip Edital Edital MCT/CNPq Nº 014/2008 Universal Instituição Proponente UERN Universidade do Estado do Rio Grande do Norte Coordenadora Karla Darlene Nepomuceno Ramos CPF: 275.222.883-04 Resumo do Projeto Este projeto propõe estender a metodologia apresentada na tese de doutorado intitulada CADZ: Uma Metodologia de Projeto baseada em Z para Redes-em-Chip. A principal característica da metodologia CADZ (Computer Aided Design based on Z) é o reuso de especificações de componentes, descritas formalmente na notação Z e armazenadas em uma biblioteca. A ampliação proposta implica no desenvolvimento de um modelo de QoS para auxiliar o projetista no desenvolvimento de Redes-em-Chip. Estas estruturas de comunicação apresentam similaridades com as redes tradicionais, contudo, projetá-las não é uma tarefa trivial, visto que as peculiaridades de sistemas embarcados, tais como restrições de espaço e energia, devem ser explicitamente consideradas. Ademais, as Redes-em-Chip apresentam requisitos de desempenho similares aos clusters de computadores paralelos, o que torna o tratamento de QoS um desafio ainda maior. É precisamente neste contexto que se insere este projeto de pesquisa, que visa o tratamento integrado entre os requisitos de QoS no nível da aplicação e as funcionalidades providas no nível do hardware. Embora a garantia de QoS em sistemas embarcados seja objeto de diferentes pesquisas, a formalização proposta pela metodologia CADZ permite a análise qualitativa por meio da verificação de propriedades do sistema de comunicação, mesmo antes do desenvolvimento do próprio sistema, o que permite acelerar o desenvolvimento do projeto. O modelo de QoS proposto será validado por meio de um projeto de desenvolvimento de sistema em chip para TV Digital com compressão de vídeo baseada no padrão H.264/AVC. Descrição do Problema A contínua evolução tecnológica impõe crescentes desafios ao projetista de Chip. Esses desafios envolvem aspectos da estrutura física de interconexão, sincronização, integridade do sinal, consumo de energia, desempenho, comunicação e, conseqüentemente, produtividade. A densidade dos transistores contribui para o aumento da complexidade do projeto de um SoC (System-on-Chip), pois favorece a inserção de mais componentes permitindo o desenvolvimento de novas aplicações, que possivelmente serão executadas concorrentemente. Segundo Luca Benini [1], o maior desafio de um projeto MPSoC (Multiprocessor System-on-Chip) é o fornecimento da funcionalidade correta, que depende dentre outros fatores, da comunicação on-chip. Os projetistas de Chip têm buscado soluções para conectar diferentes blocos IP
(Intellectual Property) visando tornar mais eficiente o uso da estrutura física de interconexão. Apesar do desenvolvimento de Redes-em-Chip utilizar a prototipagem como forma de validação [2, 3], essa técnica é cara em relação ao tempo gasto para o desenvolvimento do projeto, e só pode ser executada após a definição de muitos detalhes de projeto. Por sua vez, o trabalho de simulação de um dia pode cobrir somente milissegundos do tempo real. Deste modo, um projeto validado por simulação pode ter erros e omissões detectados somente após a obtenção do produto final [4], aumentando o tempo e custo de fabricação. Portanto, é notória a necessidade de técnicas de análise e validação que possam cobrir todos os casos de testes, a fim de garantir um produto final de acordo com as especificações funcionais definidas nas fases iniciais do projeto. Uma alternativa para o problema de simulações exaustivas e lentas é a utilização de métodos formais, que ampliam o conjunto de vetores de testes abrangendo todos os possíveis casos, posibilitando a realização de uma verificação abrangente do comportamento do sistema em um alto nível de abstração. É possível ainda, documentar um projeto complexo e auxiliar os projetistas a esclarecer as escolhas de projetos e resolver inconsistências problemáticas nas fases iniciais do ciclo de vida. É nesse contexto que se insere a metodologia CADZ [5], que considera que uma Rede-em-Chip pode ser genericamente definida e sucessivamente refinada em uma outra mais específica, conservando as propriedades definidas e garantidas nas especificações formais, realizadas anteriormente. Uma característica fundamental da metodologia CADZ refere-se à reusabilidade, que é obtida a partir do aproveitamento de componentes especificados e suas propriedades estáticas e dinâmicas presentes em circuitos com funcionalidade semelhante. Dessa forma, é possível reduzir o tempo de projeto, uma vez que somente propriedades de novos componentes ou as propriedades derivadas da associação entre componentes precisam ser validadas. Em termos práticos, tais elementos compõem uma biblioteca em um ambiente de projeto, a exemplo dos ambientes CAD. É importante ressaltar que a reusabilidade se dá em diferentes níveis de granularidade, ou seja, de elementos simples e de elementos compostos. Por exemplo, uma especificação completa de Rede-em-Chip pode ser totalmente reutilizada em diferentes projetos de SoC ou MPSoC. Embora a validação da metodologia CADZ tenha considerado o requisito roteamento e largura de banda [5,6,7,8], neste projeto de pesquisa pretende-se incluir o tratamento de outros requisitos de QoS, tais como consumo de energia e latência. Além da identificação e especificação formal de requisitos de QoS relevantes para o projeto de sistemas embarcados, pretende-se, ainda, especificar técnicas de gerência, dentre as quais melhor esforço, reserva de recursos e gerenciamento dinâmico baseado em prioridades. O gerenciamento de QoS pode considerar diferentes níveis de acordo, tais como corretude do pacote, entrega do pacote e latência máxima [9]. Por exemplo, a ausência de acordo caracteriza um serviço de melhor esforço. A adoção de técnicas formais em projetos de SoC, particularmente no aspecto da comunicação, vem ganhando espaço em diferentes iniciativas de pesquisas. Provavelmente, a característica de poder detectar falhas nas fases iniciais do ciclo de vida do projeto, ao contrário das linguagens de descrição de hardware, que só detectam as falhas na fase de simulação ou verificação funcional, tem justificado esse uso. Schmaltz e Borrione, por exemplo, apresentaram em [10, 11, 12] a especificação formal da Redeem-Chip Octagon [13] na lógica ACL2 (A Computational Logic for Applicative Common Lisp)(Kauffman, 2000). Em [9], os autores desenvolveram uma metodologia de especificação e verificação funcional para os primeiros passos de módulos virtuais para comunicação parametrizada. Em [10] foi definido e validado um algoritmo de roteamento, um algoritmo de escalonamento e as provas que uma mensagem ou é perdida, ou eventualmente alcança o destino esperado sem ser modificada. Em [12] um modelo de Rede-em-Chip denominado GeNoC é apresentado. O modelo identifica funções e restrições que devem ser satisfeitas para provar a corretude da GeNoC. Esses trabalhos apresentam como contribuição um modelo genérico para Redes-em-Chip e uma biblioteca específica de funções e teoremas. A modelagem formal proposta nesta pesquisa, embora apresente similaridades, difere dos
trabalhos mencionados, por permitir agrupar conhecimento adquirido sobre QoS em NoC e seu reuso em diferentes projetos. Visando contribuir para a geração de conhecimento na área de microeletrônica e do sistema de TV Digital do país, o modelo de QoS proposto será validado por meio de um projeto de desenvolvimento de sistema em chip para TV Digital com compressão de vídeo baseada no padrão H.264/AVC [14]. Objetivo Geral Estender a metodologia CADZ para incluir a especificação formal de requisitos de QoS relevantes para projetos de sistemas embarcados, bem como a especificação formal de técnicas de gerência de QoS. Objetivos Específicos Aprofundar o conhecimento sobre os requisitos de QoS em sistemas embarcados; Investigar técnicas de gerenciamento de QoS no contexto de sistemas embarcados Identificar e especificar formalmente os requisitos de QoS relevantes para projetar sistemas embarcados; Especificar formalmente técnicas de gerenciamento de QoS em sistemas embarcados Documentar resultados. Metodologia Este projeto de pesquisa dá continuidade a tese de doutorado apresentada ao Programa de Pós- Graduação em Engenharia Elétrica e Computação da UFRN. O desenvolvimento do projeto darse-á nas linhas de execução abaixo relacionadas: 1. Estudo e aprofundamento do conhecimento sobre os requisitos e técnicas de gerenciamento de QoS; 2. Extensão da metodologia CADZ para especificar formalmente os requisitos de QoS relevantes para projetar sistemas embarcados; 3. Especificação das técnicas de gerenciamento de QoS em sistemas embarcados; 4. Validação das especificações dos requisitos e das técnicas de gerenciamento de QoS tendo como estudo de caso um projeto de desenvolvimento de sistema em chip para TV Digital com compressão de vídeo baseada no padrão H.264/AVC. Contribuições Esperadas Considerando que a metodologia CADZ é aplicada na fases iniciais do projeto de sistemas embarcados, a extensão desta metodologia para incluir a especificação de requisitos e técnicas de gerenciamento de QoS possibilitará a avaliação antecipada de propriedades do projeto, identificando em tempo hábil potenciais problemas, que possam vir a comprometer o sistema. Outra contribuição importante que se espera desta pesquisa é a retenção do conhecimento sobre as técnicas de gerenciamento de QoS, bem como sobre os requisitos de QoS em sistemas embarcados, que serão armazenados em uma biblioteca proporcionando uma base
para reuso. De modo geral, espera-se que a aplicação de métodos formais na especificação e verificação de um modelo de QoS para Redes-em-Chip amplie o conhecimento na área de desenvolvimento de sistemas embarcados, fortalecendo o desempenho científico e tecnológico do país e aumentando a competitividade internacional da pesquisa brasileira. Orçamento Detalhado Item Discriminação Valor %item %proj CUSTEIO 8.431,32 100% 42,5% Material de consumo, componentes e/ou peças de reposição de equipamentos, software, instalação, recuperação e manutenção de equipamentos Toner, papel, licenças de software para especificação formal 3.000,00 86% 15,1% Obras de infra-estrutura, para ampliação e/ou recuperação de laboratórios Pequenas adaptações na infra-estrutura existente 500,00 14% 2,5% sub-total 3.500,00 42% 17,6% Passagens e diárias Passagens nacionais e internacionais - 2 conferências anuais de referência: Sistemas Embarcados e Métodos Formais 3.300,00 67% 16,6% Diárias Nacionais (R$ 187,83) 751,32 15% 3,8% Diárias Internacionais (US$ 220,00) 880,00 18% 4,4% sub-total 4.931,32 58% 24,9% CAPITAL 11.400,00 100% 57,5% Equipamentos e materiais permanentes 2 Computadores desktop: R$ 2.300,00 4.600,00 49% 23,2% 1 HD externo para Backup 2.000,00 21% 10,1% 1 impressora laser multifuncional 1.000,00 11% 5,0% 2 estabilizadores/nobreak 1.000,00 11% 5,0% 1 armário com chave 800,00 9% 4,0% sub-total 9.400,00 47% 47,4% Material bibliográfico Livros específicos 2.000,00 100% 10,1% sub-total 2.000,00 10% 10,1% CUSTO TOTAL DO PROJETO 19.831,32 100,0% Orçamento Físico-Financeiro Ações Semestre 1 Semestre 2 Semestre 3 Semestre 4 Aquisição de equipamentos e demais providências para instalação da infra-estrutura 2.600,00 300,00 300,00 300,00 Passagens nacionais e internacionais 0,00 1.650,00 0,00 1.650,00 Diárias nacionais 0,00 375,66 0,00 375,66 Diárias internacionais 0,00 440,00 0,00 440,00 Equipamentos e materiais permanentes 9.400,00 0,00 0,00 0,00 Material bibliográfico 1.000,00 500,00 500,00 0,00 sub-total 13.000,00 3.265,66 800,00 2.765,66 TOTAL ANO 16.265,66 3.565,66 TOTAL GERAL 19.831,32
Equipe Nome Título Função Atividades Karla Darlene Nepomuceno Ramos, docente da UERN, CPF 275.222.883-04 Bartira Paraguaçu docente da UERN, doutoranda da UFRN, CPF 914.040.024-72 Doutorado Coordenadora Coordenação do projeto, Sistemas Integrados, Especificação formal em Z Doutoranda Pesquisadora Especificação Formal Colaborações ou parcerias já estabelecidas com outros centros de pesquisa na área Atualmente, a UERN e a UFRN são parceiras no Projeto intitulado Desenvolvimento de Arquiteturas para Compressão de Vídeo em Sistemas Embarcados baseado no padrão H.264/AVC, submetido à FAPERN, por meio do Edital 003/2007 - FAPERN/CNPq - Programa Primeiros Projetos PPP. Esta parceria começou a ser fomentada por ocasião do doutorado, que teve como resultado a metodologia CADZ. Além da parceria citada, os pesquisadores dos grupos de especificação formal e de sistemas embarcados da UFRN, que acompanharam o desenvolvimento da metodologia CADZ, continuam mantendo pesquisas em conjunto com os pesquisadores da UERN. Infra-estrutura e Apoio Técnico A pesquisa será desenvolvida nas Universidade do Estado do Rio Grande do Norte, a qual concederá a infra-estrutura adequada para a instalação dos equipamentos solicitados neste projeto, bem como o apoio técnico para o bom andamento da pesquisa. Referências [1] Benini L. and De Micheli, G. (2004), Networks on Chip: A new paradigm for component-based MPSoC design, in A. Jerrraya and W. Wolf Editors, Multiprocessors Systems on Chips, Morgan Kaufman, pp. 49-80 [2] Holsmark, R., Högberg, M. and Kumar, S. (2003), Modelling and Evaluation of a Network on Chip Architecture Using SDL. Springer Berlin / Heidelberg, Vol. 2708/2003, pages: 166-182. [3] Lee, H., Ogras, U., Marculescu, R., Chang, N. (2006), Design Space Exploration and Prototyping for on-chip Multimedia Applications, Design Automation Conference, pp. 137-142. [4] Vahid, F. and Givargis, T. (2001), Platform Tuning for Embedded Systems Design, IEEE Computer, vol. 34, Issue 3, pp 112-114. [5] Ramos, K. D. N. (2007), CADZ: Uma Metodologia de Projeto baseada em Z para Redes-em- Chip. Tese de Doutorado. Brasil: Universidade Federal do Rio Grande do Norte. [6] Ramos, K., Ribeiro, C., Moreira, A. and Silva, I. (2006a), A Formal Approach for Network on Chip Design, Proc. International Workshop on SoC and MCSoC Design, pp. 347-358. [7] RAMOS, Karla D. N., RIBEIRO, Claudia M. F. A., MOREIRA, Anamaria M., SILVA, Ivan S. A Formal Approach for Network on Chip Design In: Multicore Systems on Chips. Ed. Kerala, India : Research Signpost, 2008, p. 141-162. [8] Murali, S. and De Micheli, G. (2004), Bandwidth-Constrained Mapping of Cores onto NoC Architectures, Proc. Design, Automation and Test in Europe Conference and Exhibition. [9] Goossens, K., Dielissen, J., van Meerbergen, J., Poplavko, P., Radulescu, A., Rijpkema, E., Waterlande, E. and Wielage, P. (2003), Guaranteeing the Quality of Services in Networks on Chip. In
A. Jantsch and H. Tenhunen, editors, Networks on Chip. Kluwer. [10] Schmaltz, J. and Borrione, D. (2004a), A Functional Approach to the Formal Specification of Networks on Chip. In. Proc. of Formal Methods in Computer-Aided Design. A. J. Hu and A. K. Martin (eds), LNCS 3312, Springer-Verlag, pp 52-66. [11] Schmaltz, J. and Borrione, D. (2004b), A Functional Specification and Validation Model for Networks on Chip the ACL2 Logic. In Proceedings of the 5th International Workshop on the ACL2 Theorem Prover and its Applications. [12] Schmaltz, J. and Borrione, D. (2005), A Generic Network on Chip Model. Proceedings TPHOLs 2005, Springer LNCS 3603. [13] Karim, F., Nguyen, A. and Dey, S. (2002), Na Interconnect Architecture for Networking Systems on Chips, IEEE Micro 22(5), 36 45. [14] INTERNATIONAL TELECOMMUNICATION UNION. (2005) ITU-T Recommendation H.264/AVC (03/05): advanced video coding for generic audiovisual services.