1 / 22

A utomated S ynthesi S of E mbedded T echnology

Aplicação ao Estudo de Caso: Sistema de Reserva de Hotéis. A utomated S ynthesi S of E mbedded T echnology. Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz. Tópicos Abordados. Recordando a metodologia ASSET Descrição e especificação Requisitos não-funcionais Projeto

Download Presentation

A utomated S ynthesi S of E mbedded T echnology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aplicação ao Estudo de Caso: Sistema de Reserva de Hotéis AutomatedSynthesiS ofEmbeddedTechnology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz

  2. Tópicos Abordados • Recordando a metodologia ASSET • Descrição e especificação • Requisitos não-funcionais • Projeto • Verificação e Validação do Projeto • Notas finais e conclusões • Bibliografia

  3. Recordando... • O Asset é composto por 3 fases: • Especificação (Verificação) • Especificação. • Descrição das Funções. • Código Dummy. • Log e Grafo de Dependência. • Geração do ESIR. • Estimação e Particionamento • Seleção do Processador. • Estimativas de Hardware • Estimativas de Software • Particionamento • Síntese • Implementação

  4. Estudo de Caso – Reserva em Hotel Descrição: • Uma rede de hotéis deseja tornar seus sistemas de reserva um diferencial para clientes VIP’s. • É negociado com a operadora e com a fábrica de celulares um sistema de reserva de quartos usando o celular. • No celular do cliente são exibidos uma lista de quartos disponíveis e sua cotação (de 1 a 5 estrelas). • O cliente pode selecionar um quarto e efetuar a reserva. • O celular deve se conectar a um servidor; este por sua vez deve enviar a resposta ao cliente.

  5. Estudo de Caso – Reserva em Hotel

  6. Estudo de Caso – Reserva em Hotel Especificação: • Especificação: • Caso de uso: Verificação de Disponibilidade. Descrição: Lista todos os quartos disponíveis para o hotel selecionado. Atores: Cliente Pré-Condições: O cliente deve ter selecionado um hotel Fluxo-Básico: 1 O cliente seleciona um hotel. 2 Sistema solicita a lista de quartos disponíveis. 3 Sistema recebe a lista de quartos disponíveis e a exibe. Fluxo-Alternativo: 2.1 Sistema não consegue enviar solicitação. 2.1.1 Sistema tenta novamente após 4 segundos. 2.1.2 Sistema cancela operação após 5 tentativas. 3.1 Sistema não recebe a lista dentro de 10 segundos. 3.1.1 Sistema envia pedido novamente 3.1.2 Sistema cancela a operaçào após 5 tentativas

  7. Estudo de Caso – Reserva em Hotel Especificação (cont.) – Descrição Alto Nível: 1. Listagem de hotéis disponíveis para a execução do sistema. 2. O cliente seleciona um hotel cuja disponibilidade de quartos deseja verificar. 3. Tenta-se conectar ao servidor do hotel selecionado. 3.1. São realizadas no máximo cinco tentativas de acesso ao servidor do hotel escolhido. 3.2. Cada tentativa deve possuir tempo limite de 4 segundos. 3.3. Caso não seja possível efetuar a conexão, o sistema deve retornar para a etapa de escolha de hotéis. 4. Os dados de disponibilidade de quartos são recebidos 4.1. São realizadas no máximo 5 tentativas de obtenção de dados. 4.2. Cada tentativa deve possuir tempo limite igual a 10 segundos. 4.3. Caso não seja possível obter os dados, o sistema deve retornar para a etapa de escolha de hotéis.

  8. Estudo de Caso – Reserva em Hotel Especificação (cont.) – Descrição Alto Nível: 5. Os dados recebidos (referentes ao hotel selecionado) são atualizados na base de dados do aparelho. 6. São exibidos para o cliente os quartos disponíveis do hotel selecionado 6.1. Caso não haja nenhum quarto disponível no hotel selecionado uma mensagem informativa é dada. 6.1.1 O sistema deve retornar para a etapa de escolha de hotéis. 7. O cliente seleciona então um quarto disponível que deseja ver em detalhes. 8. São exibidos os detalhes do quarto selecionado pelo cliente. 8.1 Se o cliente desejar pode ou voltar para a lista de quartos do hotel selecionado ou voltar para a seleção dos hotéis.

  9. Estudo de Caso – Reserva em Hotel Especificação (cont.) – Refinamento Procedural: Criamos a descrição das funções a serem criadas:

  10. Estudo de Caso – Reserva em Hotel Especificação (cont.): • Grafo de Dependência.

  11. Estudo de Caso – Reserva em Hotel Especificação (cont.) – Input do SUIF e criação da RI do Projeto (ESIR): • Criação do código Dummy • Representação ESIR

  12. Estudo de Caso – Reserva em Hotel Estimação e Particionamento: • Requisitos não funcionais. • São indispensáveis nessa fase da metodologia. • Os requisitos não funcionais são as métricas que auxiliam na estimação e particionamento. • Exemplos: • Hardware: Plataforma, Número de Registradores, Clock do Processador, Mémoria disponível, Capacidade de Escalonamento, Capacidade de Armazenamento, etc. • Software: Tempo de Resposta, Carga de Usuários, etc.

  13. Estudo de Caso – Reserva em Hotel Estimação e Particionamento (cont.) – selecionando o processador: • Apoiado no ESIR • ESIR contêm informações que permitem uma estimativa do número de ciclos por unidade de tempo para o codigo Dummy utilizado para o caso de uso. • A partir dessa estimativa é possível que se realize a seleção do melhor processador a ser utilizado para o conjunto de funções dado. • Com isso temos a seguinte tabela:

  14. Estudo de Caso – Reserva em Hotel Estimação e Particionamento (cont.) – selecionando o processador: SPARC foi escolhido!!!

  15. Estudo de Caso – Reserva em Hotel Estimação e Particionamento (cont.): Submetemos nosso ESIR ao Software Estimator:

  16. Estudo de Caso – Reserva em Hotel Estimação e Particionamento (cont.): Submetemos nosso ESIR ao Hardware Estimator

  17. Estudo de Caso – Reserva em Hotel Estimação e Particionamento (cont.): • Criamos um modelo de Programação Linear que conterá as métricas para o Particionamento. • Variáveis de Decisão: • tsi = Tempo de execução da função i em sw • thi = Tempo de execução da função i em hw • T = Tempo total de execução • ci = 1 se a função i é invocada por uma função de hardware e invoca uma de software (vice-versa) ou 0 se ele é invocada e invoca funções do mesmo tipo (em hardware e software). • hi = 1 se a função i é implementada em hw, 0 caso contrário • si = 1 se a função i é implementada em sw, 0 caso contrário • tci= Tempo de execução da função na Interface. • Restrições: • Min (T) = (h1*th1 + s1*ts1) + ... + (hn*thn + sn*tsn) • hi + si + ci = 1 • ci = 1 se s(i-1) + s(i+1) = 1 • tci = min (tci,thi)

  18. Estudo de Caso – Reserva em Hotel Estimação e Particionamento (cont.): • Configuramos o Partitioner com a PL modelada. • Aplicamos a saida do Sofware Estimantor e Hardware Estimator.

  19. Estudo de Caso – Reserva em Hotel Estimação e Particionamento (cont.): • Temos dessa maneira como será realizada a divisão das partes do projeto e podemos partir para a fase de síntese em si. • showScreen_hoteis • getHotelInDatabase • getRoom • getRooms • showScreen_quartos • showScreen_quarto • sendRequest • sendResponseAck • Connect • waitForRequestAck

  20. Estudo de Caso – Reserva em Hotel Estudo de Caso – Reserva em Hotel Verificação e Validação do Projeto: Verificação e Validação do Projeto: • A Validação do Sistema é feita por co-simulação: • VHDL • Liguagem que simula dispositivos de Hardware. • SystemC • Conjunto de Classes C++ que auxiliam no desenvolvimento de simuladores de hardware. • ArchC • É uma linguagem open source usada descrição de arquiteturas. • É baseada em SystemC. • Simula as hierarquias de memória, pipeline, tamanho dos registradores e outras caracteristicas mais específicas. • Muito útil no desenvolvimento de processadores. • Essas ferramentas são usadas para validar o comportamento da aplicação no processador selecionado e medir a performance. • Auxiliam também na decisão do processador a ser utilizado.

  21. Estudo de Caso – Reserva em Hotel Conclusões e Notas Finais: • A metodologia aplica-se melhor em projetos de dispositivos altamente embarcados e com especificidade alta, tais como os de tecnologia aeroespacial. • A necessidade de velocidade e as altas restrições de requisitos não-funcionais são prioridades e portanto exigem um método de desenvolvimento rápido e simples. • Pontos Positivos: • Sendo a metodologia totalmente baseada em ferramentas, encontramos: • Facilidade de definição da arquitetura utilizada • Forte automação do processo de desenvolvimento • Rapidez nas tomadas de decisões durante o ciclo de design • Verificação do sistema é possível em todas as etapas de desenvolvimento • Pontos Negativos: • Especificação do projeto deixa a desejar em alguns aspectos. • Não possui uma fácil manutenção do sistema (fluxo de desenvolvimento unidirecional). • Não foi possível utilizar as ferramentas (proprietárias) de estimativas, de difícil acesso.

  22. Bibliografia • http://www.cse.iitd.ernet.in/esproject : Architectures and CAD for Embedded Systems. Acessado em 01/12/04. • Vinod Gupta, Purvesh Sharma, M. Balakrishnan, and Sharad Malik. Processor Evaluation in an Embedded Systems Design Environment. In Proc. of the Intl. Conf. on VLSI Design, Calcutta, India, Jan. 2000. Trechos cedidos. • Vivek Haldar, Gokul Varadhan, Abhishek Saxena, M. Balakrishnan, and Subhashis Banerjee. Design of Embedded Systems for Real-Time Vision. In Proc. ICVGIP, 2000. Trechos cedidos. • Aviral Shrivastava, Mohit Kumar, Sanjiv Kapoor, Shashi Kumar, and M. Balakrishnan. Optimal Hardware/Software Partitioning for Concurrent Specication using Dynamic Programming. In Proc. Intl. Conf. on VLSI Design, IEEE CS Press, Calcutta, India, pages 110.113, 2000. Trechos cedidos. • http://suif.stanford.edu/ : The Stanford SUIF Compiler Group. Acessado em 02/12/04. • http://www.archc.org :The ArchC Project Home Page. Acessado em 03/12/04. • http://www.systemc.org :The SystemC Project Home Page. Acessado em 03/12/04. • http://www.ginvhdl.com.br : VHDL Reference. Acessado em 03/12/04.

More Related