440 likes | 535 Views
SEM0544 Desenvolvimento de Produtos Mecatrônicos. Sistemas de Tempo Real Não se trata de seguir uma receita de bolo ! Estímulo para pensar em hardware e software de uma forma diferente. Pontos de vista controvertidos?. Glauco Caurin Dalton Matsuo Jean Minar Jorge Felix Herrera
E N D
SEM0544Desenvolvimento de Produtos Mecatrônicos Sistemas de Tempo Real Não se trata de seguir uma receita de bolo ! Estímulo para pensar em hardware e software de uma forma diferente. Pontos de vista controvertidos? Glauco Caurin Dalton Matsuo Jean Minar Jorge Felix Herrera Jose Martins Jr. Kelen Teixeira Vivaldini Leonardo Pedro Aula 1 – Conceitos Básicos
Programa de Aulas Aula 1 – Conceitos Básicos
Programa de Aulas Aula 1 – Conceitos Básicos
Bibliografia e Material de Aula • Laplante, P.A.,Real Time Systems Design and Analysis, IEEE Press, 3rd. Edition, 2004 • Tanenbaum, Modern Operating Systems, 2nd Edition • Agrawala, A. K., Real-Time System Design • MISRA-C 2004 Guidelines for the use of the C language in critical systems • MISRA, Development Guidelines For Vehicle Based Software, 1994 • Mechatronics Real Time Linux http://143./~aroca/slax-rt/ http://www.windriver.com/developers/workbench/index.html Aula 1 – Conceitos Básicos
Guia para o Design de Produtos Mecatrônicos O Nome do Jogo: Melhor, + Rapido, + Economico
Identificação de Dependências, Requisitos:Chave para as tomadas de decisões
Virginia Tech Usuário LabVIEW Robotics Software and NI RIO Hardware Bundle for Autonomous System Design
Sistema iDrive da BMW Mitel ICP 3000 IP PBX Roteador wireless Linksys WRT54G (versões 5.0 e posterior) Impressoras Xerox Phaser
Linguagens de Programação Preferenciais • C, C++ • ADA • Java Antigas • Assembly • FORTRAN, PASCAL e até VB Pre-Requisitos • Programação • Cálculo Discreto • Probabilidade e Estatística Aula 1 – Conceitos Básicos
Introdução Sistemas que precisam ser processados num ritmo regular e temporizado: • Aviões - Sequencias de pulso de acelerômetro para determinar sua posição Sistemas que precisam ser processados rapidamente em situações não regular: • Alarme de superaquecimento numa usina nuclear Aplicações que de “certa forma” requerem tipicamente soluçoes de TEMPO-REAL Guichê de aeroporto – 5 minutos ?? Tempo real ?? Aula 1 – Conceitos Básicos
1.Terminologia 1.1 Conceitos do sistemas Programas do Sistema – software de propósito genérico – software que se relaciona com o hardware subordinado – software que serve como ferramenta (compiler, assemblers e linkers) Programas Aplicativos – software de propósito especifico Aula 1 – Conceitos Básicos
1.Terminologia 1.1 Definições de Tempo Real Aula 1 – Conceitos Básicos
1.Terminologia Quando um sistema é de Tempo Real? Aula 1 – Conceitos Básicos
1.Terminologia A Natureza do tempo Fim de um Prazo é um instante no Tempo ! Como são definidos os Prazos ? • Fisica dos processos • Suposições e palpites • Importância da imprecisão dos relógios ! Aula 1 – Conceitos Básicos
Mudanças de estado resultam em mudanças no controle de fluxo de um programa 1.Terminologia 1.1 Eventos e Determinismo Aula 1 – Conceitos Básicos
Eventos Síncronos e Eventos Assíncronos Eventos Síncronos -> Ocorrem em tempos previsíveis dentro do fluxo de controle Eventos Assíncronos -> Ocorrem em tempos imprevisiveis dentro do fluxo de controle Eventos Periódicos e Aperiódicos 1.Terminologia Aula 1 – Conceitos Básicos
Eventos Síncronos e Eventos Assíncronos 1.Terminologia Aula 1 – Conceitos Básicos
Perigo 1.Terminologia Determinismo Manter o controle é fundamental ! O software deve ser capaz de prever e evitar cenarios instaveis Outra característica de sistema controlados por software: A CPU busca continuamente e executa instruções do programa na área de memória ao invés de outras áreas de dados ou áreas indesejadas da memória Controle de software e hardware é mantido quando se consegue prever o próximo estado, dado o estado atual e o conjunto de entradas Determinismo de eventos próximos estados e saídas de um sistema são conhecidos para entradas que disparam eventos Aula 1 – Conceitos Básicos
1.Terminologia 1.4 Utilização da CPU Aula 1 – Conceitos Básicos
1.Terminologia 1.4 Utilização da CPU Período de Execução p Freqüência de Execução f Tempo de Execuça – e – worst case Fator de utilização - u Aula 1 – Conceitos Básicos
2. Desafios do Design de Sistemas de Tempo Real Aula 1 – Conceitos Básicos
2. Desafios do Design de Sistemas de Tempo Real Problemas que requerem a atenção: • Seleção de software e Hardware e avaliaçao de COMPROMISSO custo x (sistema distribuído, paralelismo e sincronismo) • Especificação e design do RTS e “representação” correta do seu comportamento temporal Nuances das linguagens de programação • Design e gerenciamento de testes, seleção de equipamentos de desenvolvimento e teste • Aproveitar as vantagens de sistemas abertos, avaliar a interoperabilidade entre eles (Padrão de Tempo Real CORBA). • Medição e Previsão de tempos de respostas e sua redução. Execução de analises de escalonamento (agendamento), ou seja, determinando e garantindo a satisfação deadlines. Aula 1 – Conceitos Básicos
3. Exemplos de Sistemas de Tempo Real Sistema de medidas inercial 10 ms medidas em x,y,z pulsos de acelerômetros Tarefa fornecer para um display a 40 ms vetores de posição, velocidade e aceleração Tarefas com correlação de tempo Sistema de monitoramento de usina nuclear Lidar com três eventos sinalizados por interrupção 1o. Evento disparado por qualquer sinal severo entre os vários pontos de segurança Resposta em 1 s 2o. Evento indica que o núcleo alcançou uma sobretemperatura Resposta em 1 ms Display de operação atualizado 30 vezes por segundo • Como se consegue que uma indicação de • eminência de derretimento interrompa • qualquer outro processo ???? Aula 1 – Conceitos Básicos
3. Exemplos de Sistemas de Tempo Real Sistema de reserva de lugares em aviões Lidar com três eventos sinalizados por interrupção Tempo de retorno de qualquer transação deve ser menor que 15 s Sem “overbooking” (sistema ideal) Vários agentes podem querer acessar o sistema ao mesmo tempo Trancamento de gravação, Mecanismos de comunicação que protegem o banco de dados de reservas contra alterações de mais de um atendente por vez, Como isto é feito ????? Sistema de inspeção de garrafas Fabrica da Kaizer Limpeza, Nível de Liquido, Presença de Tampa, etc ... Sistema de controle de semáforo em um cruzamento com duas vias de mão dupla Aula 1 – Conceitos Básicos
4. Falsos Conceitos 1. Sistemas de Tempo real são a mesma coisa que sistemas rápidos 2. Analise de taxa monofônica resolveram o “problema de tempo real” 3. Existem metodologias universais amplamente aceitas para a especificação e design de sistemas de tempo real 4. Não existe nunca a necessidade de se construir um sistema de tempo real, pois já existem muitos sistemas comerciais 5. O estudo de sistema de tempo real é preponderantemente um estudo da teoria de agendamentos Aula 1 – Conceitos Básicos
5. Breve Histórico Avanços Teoricos Sistemas de hardware pioneiros Desenvolvimentos de Hardware Softwares Pioneiros Suporte de Sistemas operacionais comerciais Aula 1 – Conceitos Básicos
Exercícios 1.1 Considere um sistema de pagamento para uma pequena firma de manufatura. Descreva 3 cenários diferentes nos quais o sistema pode ser justificado como Hard, Firm e Soft Real Time 1.2 Discuta se os seguintes sistemas são Hard, Firm ou Soft Real Time: (a) O sistema de banco de dados de publicações disponíveis na Biblioteca da EESC. (b) O banco de dados da policia que fornece informações sobre veículos roubados (c) Uma maquina de jogos eletrônicos que opera com moeda (d) Um sistema de notas de uma Universidade (e) Um switch controlado por computador utilizado em uma compania de telefonia local como roteador 1.3 Considere um sistema de controle de tempo real para armamentos abordo de um avião caça. Discuta quais dos seguintes eventos podem ser considerados síncronos e quais seria assíncronos: (a) Um clock de interrupção gerado externamente com 10 ms (b) Um trap de divisão por zero (c) Um software de teste de falha embutido (d) Um sinal discreto gerado por um piloto apertando um botão de disparo de um foguete (e) Um sinal discreto indicando falta de combustível Aula 1 – Conceitos Básicos
Exercícios 1.4 Descreva um sistema completamente não-tempo real, ou seja, não ha restrições qualquer tempo de resposta. 1.5 Para os seguintes conceitos, preencha as células da tabela de taxonomia com os descritores para possíveis eventos. Estime os tempos para os eventos periódicos (a) Controle de elevador: este sistema controla todos os aspectos de um conjunto elevadores que serve a um predio de 40 andares no centro de São Paulo. (b) Controle Automotivo: este sistema para evitar colisões on-board usa dados de uma variedade de sensores e toma decisões e afeta comportamentos para evitar colisões ou proteger os ocupantes num evento de colisão iminente. O sistema pode ter a necessidade de tomar o comando do automóvel do motorista. 1.6 Para o sistema do exercício 1.2 quais seriam os tempos de resposta razoáveis para todos os eventos ? 1.7 Para os sistemas exemplo apresentados no capitulo, enumere alguns eventos possíveis e marque se eles são periódicos, esporádico, assíncronos. Discuta tempos de resposta razoáveis para os eventos. Aula 1 – Conceitos Básicos