Exploração do Espaço de Projeto em Hw/Sw Co-design de Sistemas Tempo-Real Embarcados Orientados a Objetos: o Objeto Escalonador

Tamanho: px
Começar a partir da página:

Download "Exploração do Espaço de Projeto em Hw/Sw Co-design de Sistemas Tempo-Real Embarcados Orientados a Objetos: o Objeto Escalonador"

Transcrição

1 Exploração do Espaço de Projeto em Hw/Sw Co-design de Sistemas Tempo-Real Embarcados Orientados a Objetos: o Objeto Escalonador Elias Teodoro Silva Jr 1,4, Marco A. Wehrmeister 1, Fabiano C. Carvalho 1, Leandro Buss Becker 3, Carlos Eduardo Pereira 2, Flávio Rech Wagner 1, Luigi Carro 2 1 Instituto de Informática - UFRGS, Brasil 2 Departamento de Engenharia Elétrica - UFRGS, Brasil 3 Departamento de Automação e Sistemas - UFSC, Brasil 4 D e p a r t a m e n t o d e T e l e m á t i c a CEFET/CE, Brasil {etsilvajr, mawehrmeister, fccarvalho, flavio}@inf.ufrgs.br, {cpereira, carro}@eletro.ufrgs.br, lbecker@das.ufsc.br Abstract. This paper discusses a design flow for multithread object-oriented realtime applications, running on top of an embedded, platform-based, customizable Java processor, which is prototyped using affordable FPGAs. The proposed approach enforces design space exploration activities, taking into account aspects like temporal behavior, memory footprint, and power/energy consumption. A case study containing a task scheduler implementation as both software and hardware modules is presented, evaluating latency and area. While both implementations are compatible with the developed program from an interface point of view, they lead to different timing and footprint requirements. Resumo. Este trabalho propõe um fluxo de projeto para aplicações tempo-real orientadas a objetos, executando em uma plataforma embarcada customizável. A plataforma alvo é um processador Java, o qual pode ser prototipado em FPGA. Um estudo de caso de implementação do escalonador de tarefas tanto em hardware quanto em software é apresentado, avaliando as latências e a área no chip. O desenvolvedor pode facilmente optar por uma das versões, pois ambas são compatíveis do ponto de vista da sua interface, embora elas se apliquem a diferentes requisitos de tempo, memória e energia. 1. Introdução Sistemas de Tempo-real dependem não somente dos resultados lógicos da computação, mas também do tempo de ocorrência destes resultados [Stankovic 1996]. Particularmente, sist emas embarcados e de tempo-r eal vêm crescendo em termos de complexidade, demandando ferramentas que trabalhem em níveis mais altos de abstração. A fim de reduzir o time-to-market, os desenvolvedores procuram por componentes reusáveis (tanto em software quanto em hardware). Além disso, o projetista deve poder comparar entre versões em software (maior flexibilidade) e hardware (maior desempenho e menor potência) dos componentes e sub-sistemas. O projeto SEEP (Sistemas Embarcados Baseados em Plataformas) [UFRGS 2004], que está em andamento na Universidade Federal do Rio Grande do Sul, propõe uma

2 metodologia completa e integrada para o projeto e teste de sistemas embarcados e de t e m p o -real, levando em conta requisitos funcionais e também não funcionais, como comportamento temporal e consumo de potência. A metodologia SEEP faz uso intensivo de conceitos de orientação a objetos, desde a especificação do sistema até a sua implementação, visando à obtenção de componentes reusáveis que possam ser aproveitados e m d i ferentes implementações e que atendam a diversas restrições de projetos. A abordagem utiliza componentes de hardware e software e baseia-se na configuração de plataformas arquiteturais implementadas usando dispositivos de lógica programável. Alguns trabal hos têm proposto a implementação de serviços do sistema operacional em hardware [Burleson 1999] [Kuacharoen 2003] [Kohout 2003] [Götz 2004], procurando tirar vantagem da natureza paralela deste tipo de implementação. Assim, o conhecido overhead introduzido no sistema por aqueles serviços, quando implementados em software, é significativamente reduzido. Esta idéia é estendida neste trabalho, encapsulando serviços do sistema operacional em um objeto, aumentando assim o re-uso. O presente trabalho também disc ute questões relacionadas com a exploração do espaço de projeto na metodologia definida pelo projeto SEEP usando como exemplo um componente de escalonamento de tarefas. Ao longo do artigo é descrita a exploração do espaço de projeto r e l a t i v a m e n t e à i m p l e m e ntação deste componente em hardware ou em software, mantido o mesmo modelo de objetos da aplicação, seguindo a definição RTSJ (Real-Time Specification for Java) [Bollella 2001]. 2. Um Processador Java-RT Configurável 2.1 Processador FemtoJava O FemtoJava [Ito 2001] é um processador de pilha que executa bytecodes J a v a e q u e t e m como principais características um conjunto reduzido e configurável de instruções, arquitetura Harvard e tamanho pequeno. O FemtoJava implementa uma máquina Java em hardware, que é compatível com a especificação JVM (Java Virtual Machine). Para a versão do núcleo do processador usada neste trabalho, todas as instruções são executadas em 3, 4, 7 ou 14 ciclos. Para que pudesse suportar multi-tarefa o FemtoJava teve o seu conjunto de instruções expandido [Rosa 2003] [Wehmeister 2004]. Ganhos de desempenho foram obtidos com uso de Pipeline e de VLIW em outras versões do processador [Beck 2003]. 2.2 API baseada na RTSJ Java vem ganhando popularidade nos últimos anos como uma linguagem aplicável ao desenvolvimento de sistemas embarcados e de tempo-r eal, especialmente devido à definição da RTSJ. A especificação define uma API para a linguagem Java que permite a criação, verificação, análise, execução e gerenciamento de threads, cujo correto fu ncionamento depende do atendimento de requisitos de tempo. O ambiente Sashimi [Ito 2001] é um exemplo de otimização da JVM para sistemas embarcados. Ele oferece um ambiente simples e poderoso que tem sido aplicado com sucesso em diferentes estudos de caso. O ambiente Sashimi foi estendido para incorporar uma API que suporte a especificação orientada a objetos de tarefas concorrentes e com restrições de tempo [Wehmeister 2004]. Estes recursos elevam o nível de abstração do projeto e otimizam o desenvolvimento de sistemas embarcados. A figura 1 mostra um modelo UML de parte da API apresentada em [Wehmeister 2004], usada neste trabalho.

3 Esta API oferece uma alternativa para simplificar o projeto de aplicações orientadas a objetos e de tempo-r e a l, e x e c u t a n d o e m um processador de código nativo Java. Usando esta API, junto com o ambiente Sashimi, o programador pode desenvolver aplicações com tarefas concorrentes de tempo-real e sintetizá -las em um processador FemtoJava. Figura 1. Classes dos escalonadores da API. 3. Alternativas de Implementação para o Objeto Escalonador 3.1 Objeto Escalonador em Software A estrutura do escalonador consiste em um processo adicional que se encarrega da alocação da CPU para aqueles processos de aplicação que estão prontos para execu t a r, e x a t a m e n t e como ocorre em um RTOS (Real Time Operating System). O desenvolvedor de aplicações pode escolher o algoritmo de escalonamento mais adequado em tempo de projeto. Assim, um escalonador personalizado é sintetizado juntamente com toda a aplicação no sistema embarcado alvo. 3.2 Objeto Escalonador em Hardware O escalonador em hardware contém tabelas que armazenam descritores das tarefas, enviados pelo processador FemtoJava, bem como os operadores que manipulam estas tabelas. Ele é encapsulado por uma classe chamada HardwareScheduler, que interage com o hardware e realiza as ações de troca de contexto e despacho. Estas ações têm um baixo custo relativamente à ação de escalonar as tarefas, especialmente quando se trata de algoritmos de escalonamento complexos Arquitetura A arquitetura proposta para o escalonador em hardware é mostrada na Figura 2. Os componentes principais do escalonador em hardware, que age como um coprocessador, são: General Register, Scheduler, SyncEvent e AsyncEvent. O bloco General Register contém os descritores de todas as tarefas independentemente de seu estado (running, blocked e ready). A qualquer momento, o processador pode incluir ou remover tarefas neste bloco. O bloco AsyncEvent recebe tarefas que serão disparadas por eventos e monitora eventos externos de hardware cujos instantes de ocorrência não podem ser definidos a priori. Estes eventos ou sinais são tipicamente associados a sensores, tais como ocorrência de alarmes. Quando um evento associado a uma tarefa acontece, o ID da tarefa é enviado para o bloco Scheduler. O bloco SyncEvent é similar ao bloco AsyncEvent e monitora tarefas da aplicação sensíveis a eventos do relógio de tempo-real do sistema. A execução deste tipo de tarefa depende do relógio e pode ocorrer periodicamente ou em instantes específicos. O bloco Scheduler recebe tarefas que estão prontas para executar, enviadas pelos blocos SyncEvent ou AsyncEvent, e as coloca em sua tabela, classificando-as de acordo

4 c o m a o r d e m e s t a b e l e c i d a p e l a p o l í t i c a de escalonamento. O bloco Scheduler envia tarefas para o processador em duas situações: 1) A tarefa atual concluiu a sua execução. O processador executa uma operação de leitura e recebe a próxima tarefa informada pelo coprocessador. 2) A tarefa recentemente inserida na primeira posição da tabela do bloco Scheduler tem prioridade sobre a tarefa atualmente em execução no processador. O coprocessador interrompe o processador, provocando a preempção da tarefa que estava em execução. FemtoJava Processor Co-processor GeneralRegister Scheduler Sync Event Async Event Figura 2. Arquitetura geral do escalonador em Hardware Comandos do escalonador em Hardware Para operar o escalonador em hardware, o FemtoJava pode usar cinco comandos diferentes, conforme a Tabela 1. Todas estas operações são realizadas pela classe HardwareScheduler e são transparentes para o programador que desenvolve sua aplicação sobre a API. Tabela 1. Descrição dos comandos do escalonador em hardware. Comando Descrição Inclui tarefa O coprocessador recebe um conjunto de parâmetros que descrevem a tarefa a ser escalonada. A figura 3 mostra os detalhes destes parâmetros. Remove tarefa O coprocessador remove uma tarefa previamente programada. Inicia tarefa O coprocessador move uma tarefa previamente programada para o estado Ativa e pode escalonar aquela tarefa quando os seus eventos chegarem. Tarefa concluída O coprocessador fornece o ID da primeira tarefa na fila de tarefas prontas. Tarefa O coprocessador fornece o ID da primeira tarefa na fila de tarefas prontas e re-escalona a tarefa preemptada atualmente em execução. Tabela 2. Descrição dos campos das palavras de programação do escalonador em hardware. Campo St_Priority EV ID Sync_or_Async Start Period Descrição Prioridade estática da tarefa. Define qual entrada de evento externo vai disparar a tarefa (apenas para tarefas assíncronas). Código de identificação da tarefa. Define se esta tarefa é Síncrona (periódica ou one-shot) ou Assíncrona (Esporádica). 3 palavras de bits indicam quando a tarefa deve ser iniciada pela primeira vez (se síncrona). 3 palavras de bits indicam o período de re-ativação da tarefa (se periódica). Se a tarefa não for periódica estes campos devem permanecer em zero Interface do escalonador em Hardware O FemtoJava se comunica com o coprocessador e com os demais dispositivos de I/O via um barramento de bits. Durante a programação de cada tarefa, um bloco semelhante ao

5 apresentado na figura 3 é enviado pelo processador ao coprocessador. No estudo de caso deste trabalho, um conjunto de sete palavras de bits é usado para descrever uma tarefa síncrona em um algoritmo baseado em prioridade fixa. A primeira palavra é a palavra de controle. Seus campos e os demais parâmetros são mostrados na Tabela Exploração do Espaço de Projeto para o Objeto Escalonador: um Estudo de Caso E sta sessão ilustra o uso da API proposta no projeto de um sistema embarcado, destacando aspectos da implementação em hardware e em software do escalonador. O sistema a ser modelado consiste de uma carga sintética que simula uma aplicação real. O uso de versões hardware e software do escalonador é demonstrado em um exemplo de implementação. St_Priority (not used) EV Start (days) Start (milis) Start (nanos) Period (days) Period (milis) Period (nanos) Sync_or_Async (not used) ID Figura 3. Formato das palavras de programação do coprocessador para um algoritmo de escalonamento baseado em prioridades fixas. 4.1 Implementação em Software Para exemplificar um projeto, serão usadas duas tarefas hipotéticas Task1 e Task2. A classe principal será chamada de TaskTest. Esta classe é responsável pela alocação e inicialização de objetos e disparo das tarefas. Um esquema do código fonte do exemplo é dado nas figuras 4 e 5. O método initsystem() representa o ponto de partida do fluxo da aplicação. As tarefas de tempo-real são passadas ao coprocessador pelo método addtofeasibility() e são disparadas pelo método start(). O método idletask() será chamado quando as tarefas estiverem lançadas e não houver nenhuma tarefa pronta para ser executada. O código de uma das tarefas, cuja instância é chamada de t1 na classe TaskTest, é mostrado na figura 5. Neste exemplo, esta tarefa é disparada periodicamente a cada 25ms. public class TaskTest { // static allocations // public static PriorityScheduler mysched = new PriorityScheduler(); public static void initsystem() { Scheduler.setDefaultScheduler(mySched); t1.addtofeasibility(); t2.addtofeasibility(); t1.start(); t2.start(); idletask(); } //... // } Figura 4. Classe principal para o exemplo de aplicação usando escalonador em software. public class Task1 extends RealtimeThread { // constructors // public void maintask() { while (m_schedcount < 15) { m_schedcount++; //...Repetitive operations waitfornextperiod(); } finish(); } public void exceptiontask() {// handle deadline missing } } Figura 5. Classe Task1 para o exemplo de aplicação.

6 4.2 Implementação em Hardware A implementação do coprocessador escalonador foi descrita em VHDL. Para os testes deste trabalho, o algoritmo de escalonamento utilizado é de prioridade fixa. public class TaskTest { // idem public static HardwareScheduler mysched = new HardwareScheduler(); public static void initsystem() { // idem } Figura 6. Classe principal para o exemplo de aplicação usando escalonador em hardware. Para usar o escalonador em hardware, o desenvolvedor segue a mesma metodologia mostrada na sessão 4.1. Usando o exemplo das figuras 4 e 5 a aplicação pode ser completamente reusada. A única modificação necessária é a classe do escalonador, conforme destaque na figura 6. Uma vez que o coprocessador apenas executa as ações de escalonamento, o chaveamento de contexto e o despacho continuam sendo realizados em software, pela classe HardwareScheduler. 5. Resultados Experimentais Para os estudos experimentais foi feita uma restrição no projeto de maneira que as definições de tempo utilizassem apenas um campo de bits para representar tempos em milisegundos, embora nos estudos iniciais e no Java seja possível representar o tempo em três campos de bits cada (dias, milisegundos e nanosegundos). Também o bloco AsyncEvent foi retirado para simplificar os testes. Todos os experimentos foram feitos com tarefas síncronas e periódicas. Utilizando a ferramenta da Altera Quartus II 4.0 Web Edition Full, o modelo em VHDL foi compilado. Nesta descrição foram utilizados registradores para implementar as tabelas de dados dos sub-sistemas. Para a síntese foram indicados dispositivos da família Cyclone. A Tabela 3 mostra a área de cada bloco em Células Lógicas, sendo dividida em sínteses para 4 e 8 tarefas. A área apresentada pelo coprocessador é elevada, já que o processador FemtoJava custa aproximadamente 3500 células lógicas. Entretanto este parece ser o preço a ser pago para se obter determinismo elevado e baixa energia, conforme será mostrado adiante. O bloco RTC é o relógio de tempo-real e o bloco Converter é uma m á q u i na de estados que recebe as palavras vindas do processador e as entrega para o bloco GeneralRegister, já em um formato adequado. Tabela 3. Número de Células lógicas usadas pelo coprocessador 8 tarefas / Device: EP1C20F4C6 Total GeneralRegister Converter SyncEvent RTC Scheduler tarefas / Device: EP1C4F4C6 Total GeneralRegister Converter SyncEvent RTC Scheduler Um modelo do coprocessador descrito em Linguagem C foi simulado utilizando versões adaptadas do SASHIMI e do CACO-PS [Beck 2003], um simulador ciclo-a -c i c l o. Foram feitos testes com 2, 4 e 8 tarefas. Cada tarefa é executada 15 vezes. Para a simulação foi adotado um clock de 500KHz. Para verificar as propriedades temporais do escalonador foram feitas medidas da latência da tarefa de maior prioridade, ou seja, o tempo decorrido entre o instante em que

7 ela foi programada para iniciar sua execução e o instante em que ela efetivamente começa a executar. O gráfico da figura 7 mostra estas latências para os experimentos com 2 e com 8 tarefas, para cada uma das 15 execuções. Excluindo a primeira execução, o jitter m á x i m o para os dois casos é exatamente o mesmo: 39 ciclos, ou 78 µs. A figura também mostra que o tempo de espera da tarefa para entrar em execução é muito baixo (entre 403 e 442 ciclos de clock) e independente do número de tarefas em execução. Uma vez que a troca de contexto e o despacho têm custo fixo e a ação de escalonamento é feita no hardware, o número de tarefas não afeta o tempo de processamento Nº de Ciclos de Clock Nº de Ciclos de Clock Ciclos de Execução das Tarefas 2 tarefas 8 tarefas 0 Ciclos de Execução das Tarefas Versão SW Versão HW Figura 7. Latência para a tarefa de maior prioridade. Figura 8. Tempo de chaveamento entre duas tarefas subseqüentes. Uma versão do escalonador implementada em software foi testada com os mesmos benchmarks. Apenas a freqüência do processador foi aumentada para 5MHz a fim de atender aos deadlines das tarefas, já que agora o escalonador consome um tempo bem maior. A necessidade de aumentar a freqüência do processador indica que haverá um aumento na energia gasta pelo sistema (por limitações de espaço não serão mostrados aqui dados de potência e energia). Para comparar o tempo de chaveamento entre duas tarefas consecutivas foi construído o gráfico da figura 8. Estes tempos dão uma idéia do custo de processamento do algoritmo de escalonamento da versão software. A versão software consome sempre 5385 ciclos de clock (já que são apenas duas tarefas), à exceção da primeira execução, que consome ciclos. A versão hardware consome 1114 ciclos na primeira execução e 1150 nas demais. O esc alonamento em hardware é mais rápido porque manipula suas tabelas em poucos ciclos de clock, enquanto a versão software realiza dezenas de instruções para isto. 6. Conclusões e Trabalhos Futuros Este trabalho apresenta como um desenvolvedor pode usar uma API para implementar uma aplicação, sem que o processo de desenvolvimento seja influenciado por aspectos arquiteturais, de maneira que esta possa ser facilmente portada de um escalonador em software para um em hardware. O princípio do encapsulamento de um recurso de hardware por uma classe foi testado e validado, podendo ser re-aproveitado em outros recursos como comunicação entre processos e/ou entre processadores, aumentando a sua reusabilidade. O principal custo imposto pelo coprocessador escalonador é a sua área. No exemplo com oito tarefas a área do coprocessador fica maior que a área do processador FemtoJava. Isto decorre do mapeamento das tabelas do escalonador em registradores e pode ser otimizado futuramente. Entretanto, o escalonamento em hardware oferece melhorias nas propriedades de previsibilidade, desejáveis em aplicações de tempo-r e a l, a l é m d e d i m i n u i r l a t ê n c i a e jitter.

8 Ao mover o algoritmo de escalonamento do software para o hardware, estas ações do sistema operacional não mais competem com a aplicação pelo uso do processador. A unidade de hardware dedicada ao escalonamento pode agora: 1) executar algoritmos de escalonamento mais complexos, e 2) prover um escalonamento de tarefas não intrusivo. Como trabalho futuro, os autores pretendem implementar algoritmos de escalonamento mais complexos, uma das vantagens que um escalonador em hardware pode oferecer. Bibliografia Beck Filho, A.C.S., Mattos, J., Wagner, F.R. and Carro, L. (2003) CACO-PS: A General- Purpose Cycle-Accurate Configurable Power Simulator. In: Proceedings of the 16th Symposium on Integrated Circuits and Systems Design, (São Paulo, Brazil). IEEE Computer Society Press Beck Filho, A.C.S. and Carro, L. (2003) Low Power Java Processor for Embedded Applications. In: IFIP VLSI-SOC, Darmstadt. IFIP WG 105 Proceedings. p Bollella, G., Gosling, J. and Brosgol, B. (2001) The Real-Time Specification for Java. -V1.0.pdf Burleson, W., Stankovic, J.A. et al. (1999) The Spring Scheduling Co-Processor: A Sc heduling Accelerator. IEEE Transactions on VLSI Systems, 7(1):38 48 Götz, M. (2004) Dynamic Hardware-Software Codesign of a Reconfigurable Real-T i m e Operating System. In: International Conference on Reconfigurable Computing and FPGAs 2004 (ReConFig04), Mexican Society of Computer Science, SMCC, September 2004, p Ito, S.A., Carro, L. and Jacobi, R.P. (2001) Making Java Work for Microcontroller Applications. IEEE Design & Test of Computers, vol. 18, n. 5, pp Kohout, P., Ganesh, B. and Jacob, B. (2003) Hardware support for real-time operating systems. In: International Symposium on Systems Synthesis, pages Proceedings of the 1st IEEE/ACM/IFIP International conference on HW/SW Codesign and System Synthesis Kuacharoen, P., Shalan, M. and Mooney, V. (2003) A configurable hardware scheduler for realtime systems. In: International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA), pages Rosa Jr., L.S. et al. (2003) Scheduling Policy Costs on a Java Microcontroller. In: Proceedings of the workshop on Java Technologies for Real -T i m e a n d E m b e d d e d Systems (JTRES), (Catania, Italy) pp Stankovic, J.A. et al. (1996) Strategic Directions in Real-Time and Embedded Systems. ACM Computing Surve ys 28, 4, Pages UFRGS. (2004) LSE - Embedded Systems Lab. In: < Wehmeister, M.A., Becker, L.B. and Pereira, C.E. (2004) Optimizing Real-T i m e Embedded Systems Development Using a RTSJ -based API. In: Workshop on Java T echnologies for Real-Time and Embedded Systems - JTRES 2004, Agia Napa, Cyprus. Proceedings Springer LNCS, pp

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização Hardware: Componentes Básicos Arquitetura dos Computadores Dispositivos de Entrada Processamento Dispositivos de Saída Armazenamento Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Sistema de

Leia mais

Metodologia de Projeto Orientada a Objetos Baseada em Plataformas para Sistemas Tempo-Real Embarcados

Metodologia de Projeto Orientada a Objetos Baseada em Plataformas para Sistemas Tempo-Real Embarcados Metodologia de Projeto Orientada a Objetos Baseada em Plataformas para Sistemas Tempo-Real Embarcados Marco Aurélio Wehrmeister 1, Leandro Buss Becker 2, Carlos Eduardo Pereira 3 1 Instituto de Informática

Leia mais

UNIVERSIDADE F EDERAL DE PERNAMBUCO DESENVOLVIMENTO DE UM SISTEMA DE AQUISIÇÃO PARA RESSONÂNCIA MAGNÉTICA NUCLEAR BASEADO EM FPGA

UNIVERSIDADE F EDERAL DE PERNAMBUCO DESENVOLVIMENTO DE UM SISTEMA DE AQUISIÇÃO PARA RESSONÂNCIA MAGNÉTICA NUCLEAR BASEADO EM FPGA UNIVERSIDADE F EDERAL DE PERNAMBUCO GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA 2013.2 DESENVOLVIMENTO DE UM SISTEMA DE AQUISIÇÃO PARA RESSONÂNCIA MAGNÉTICA NUCLEAR BASEADO EM FPGA PROPOSTA

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado

Leia mais

Modelagem De Sistemas

Modelagem De Sistemas Modelagem De Sistemas UNIP Tatuapé - SP Aplicações em Linguagem de Programação Prof.Marcelo Nogueira Uma empresa de software de sucesso é aquela que consistentemente produz software de qualidade que vai

Leia mais

Supervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW

Supervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW Supervisório Remoto aplicado em Dispositivo Móvel na Plataforma NI LabVIEW "Este artigo demonstra os recursos e passos necessários para implementar um sistema supervisório de consumo energético e controle

Leia mais

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Organização e Arquitetura de Computadores. Ivan Saraiva Silva Organização e Arquitetura de Computadores Hierarquia de Memória Ivan Saraiva Silva Hierarquia de Memória A Organização de Memória em um computador é feita de forma hierárquica Registradores, Cache Memória

Leia mais

10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções...

10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10 4 10. CPU (CENTRAL PROCESSOR UNIT) Como vimos no capítulo

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

Fundamentos de Teste de Software

Fundamentos de Teste de Software Núcleo de Excelência em Testes de Sistemas Fundamentos de Teste de Software Módulo 1- Visão Geral de Testes de Software Aula 2 Estrutura para o Teste de Software SUMÁRIO 1. Introdução... 3 2. Vertentes

Leia mais

Fundamentos de Programação. Diagrama de blocos

Fundamentos de Programação. Diagrama de blocos Fundamentos de Programação Diagrama de blocos Prof. M.Sc.: João Paulo Q. dos Santos E-mail: joao.queiroz@ifrn.edu.br Página: http://docente.ifrn.edu.br/joaoqueiroz/ O processo de desenvolvimento (programação),

Leia mais

Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control

Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control Tibor Horvath and Tarek Abdelzaher and Kevin Skadron and Xue Liu Universidade Federal Fluminense Diego Passos Apresentação

Leia mais

Arquitecturas de Software Enunciado de Projecto 2007 2008

Arquitecturas de Software Enunciado de Projecto 2007 2008 UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Enunciado de Projecto 2007 2008 1 Introdução Na primeira metade da década de 90 começaram a ser desenvolvidas as primeiras

Leia mais

Unidade 1: O Computador

Unidade 1: O Computador Unidade : O Computador.3 Arquitetura básica de um computador O computador é uma máquina que processa informações. É formado por um conjunto de componentes físicos (dispositivos mecânicos, magnéticos, elétricos

Leia mais

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios SISTEMAS OPERACIONAIS INF09344 - Sistemas Operacionais / INF02780 - Sistemas Operacionais / INF02828 - Sistemas de Programação II Prof a. Roberta Lima Gomes (soufes@gmail.com) 3ª. Lista de Exercícios Data

Leia mais

Controlador de DMA. Gustavo G. Parma

Controlador de DMA. Gustavo G. Parma Controlador de DMA Gustavo G. Parma Controlador de DMA Transferência de um dado de um dispositivo I/O para a memória Iniciada pela CPU Transferência efetuada e terminada pelo controlador de DMA CPU pode

Leia mais

Conceitos básicos sobre computadores

Conceitos básicos sobre computadores SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Conceitos básicos sobre computadores Prof. Vanderlei Bonato: vbonato@icmc.usp.br Sumário O que é um computador e onde podemos encontrá-los? Divisão:

Leia mais

Microprocessadores. Memórias

Microprocessadores. Memórias s António M. Gonçalves Pinheiro Departamento de Física Covilhã - Portugal pinheiro@ubi.pt Arquitectura de Microcomputador Modelo de Von Neumann Barramento de Endereços µprocessador Entrada/Saída Barramento

Leia mais

O Funcionamento do Processador

O Funcionamento do Processador O Funcionamento do Processador Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Os cinco componentes clássicos de um Computador - Controle O

Leia mais

Avaliando e Compreendendo o Desempenho. Capítulo 4

Avaliando e Compreendendo o Desempenho. Capítulo 4 Avaliando e Compreendendo o Desempenho Capítulo 4 Desempenho Mensurar, analisar e informar Fazer escolhas inteligentes Por que um hardware é melhor que outro para programas diferentes? Que fatores do desempenho

Leia mais

Laboratório Virtual de Sistema de Controle Via Web em Labview. 1/6 www.ni.com

Laboratório Virtual de Sistema de Controle Via Web em Labview. 1/6 www.ni.com Laboratório Virtual de Sistema de Controle Via Web em Labview "Utilizou-se o Labview 8.6 para criar a VI, uma placa de aquisição da NI e uma webcam para poder acessar e visualizar a planta." - Fernando

Leia mais

Eventos, Tarefas,Tempos e Prazos

Eventos, Tarefas,Tempos e Prazos Eventos, Tarefas,Tempos e Prazos Um STR reage a eventos Evento do ambiente Eventos de um relógio do sistema Cada evento é processado por uma tarefa Eventos ocorrem em instantes de Tarefas ocupam do processador

Leia mais

Implementação de um serviço de correio eletrônico na Intranet do Pólo de Touros utilizando o ambiente SQUIRELMAIL e POSTFIX em um Servidor Linux

Implementação de um serviço de correio eletrônico na Intranet do Pólo de Touros utilizando o ambiente SQUIRELMAIL e POSTFIX em um Servidor Linux UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ - EAJ CURSO TÉCNICO DE INFORMÁTICA Projeto das Disciplinas de Sistemas Operacionais de Redes e Projeto de Redes Implementação de um

Leia mais

Aula 1 Restrições temporais: origem e caracterização

Aula 1 Restrições temporais: origem e caracterização Sistemas de Tempo-Real Aula 1 Restrições temporais: origem e caracterização Conceitos básicos de tempo-real Requisitos dos Sistemas de Tempo-Real Adaptado dos slides desenvolvidos pelo Prof. Doutor Luís

Leia mais

Metodologias de PETI. Prof. Marlon Marcon

Metodologias de PETI. Prof. Marlon Marcon Metodologias de PETI Prof. Marlon Marcon PETI O PETI é composto de: Planejamento Estratégico da organização, que combina os objetivos e recursos da organização com seus mercados em processo de transformação

Leia mais

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios O Método Intuitivo de elaboração de circuitos: As técnicas de elaboração de circuitos eletropneumáticos fazem parte

Leia mais

Componentes de Software Baseados em Engenharia de

Componentes de Software Baseados em Engenharia de 19 a 21 de mar o de 2010 117 Componentes de Software Baseados em Engenharia de Domínio Leonardo Ciocari, Rafael Cancian 1 Centro de Ciências Tecnológicas da Terra e do Mar (CTTMar) Universidade do Vale

Leia mais

Análise de Sistemas 3º Bimestre (material 2)

Análise de Sistemas 3º Bimestre (material 2) Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado

Leia mais

Introdução à orientação a objetos

Introdução à orientação a objetos Universidade Federal de Juiz de Fora PET Elétrica Introdução à orientação a objetos Tutor: Francisco José Gomes Aluno: João Tito Almeida Vianna 18/05/2013 1 Programação Estruturada x Orientação a objetos

Leia mais

DOCUMENTO DE REQUISITO DE SOFTWARE

DOCUMENTO DE REQUISITO DE SOFTWARE DOCUMENTO DE REQUISITO DE SOFTWARE PARTICIPANTES Belo Horizonte - 1

Leia mais

Circuito Decodificador BCD para Display de Sete Segmentos

Circuito Decodificador BCD para Display de Sete Segmentos Prática 5 Linguagem VHDL Prof. Cesar da Costa Circuito Decodificador BCD para Display de Sete Segmentos Um dos métodos mais simples para apresentação de dígitos alfanuméricos, em circuitos digitais, é

Leia mais

Avaliação de desempenho de virtualizadores no envio e recebimento de pacotes em sistemas Linux

Avaliação de desempenho de virtualizadores no envio e recebimento de pacotes em sistemas Linux Universidade Federal de Pernambuco Graduação em Engenharia da Computação Centro de Informática 2015.1 Avaliação de desempenho de virtualizadores no envio e recebimento de pacotes em sistemas Linux Proposta

Leia mais

AVALIAÇÃO DE UM TANQUE DE DECANTAÇÃO DE SÓLIDOS UTILIZANDO FLUIDODINÂMICA COMPUTACIONAL

AVALIAÇÃO DE UM TANQUE DE DECANTAÇÃO DE SÓLIDOS UTILIZANDO FLUIDODINÂMICA COMPUTACIONAL AVALIAÇÃO DE UM TANQUE DE DECANTAÇÃO DE SÓLIDOS UTILIZANDO FLUIDODINÂMICA COMPUTACIONAL E. F. S. PEREIRA e L. M. N de Gois Universidade Federal da Bahia, Escola Politécnica, Departamento de Engenharia

Leia mais

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens Roteiro... Conceitos de SD, vantagens e desvantagens Infra-estrutura de um SD Considerações de projeto Sistemas Distribuídos Aula 4 Karine de Pinho Peralta Modelos de Comunicação - comunicação entre processos

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Programação Orientada a Objetos 1.1 - Perspectiva histórica: Conceitos A evolução das linguagens de programação tem-se feito na procura de ferramentas: -cada vez mais próximas da percepção humana - e que

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 02: Organização e Arquitetura de Computadores / Lógica Digital (Parte I) O conteúdo deste documento tem por objetivo

Leia mais

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Programação Orientada a Objetos SANTOS, Rafael

Programação Orientada a Objetos SANTOS, Rafael Programação Orientada a Objetos SANTOS, Rafael É parte do software, e deve atender os requisitos do usuário Controla o hardware, incluindo periféricos de entrada e saída Usa um conjunto de comandos e regras:

Leia mais

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação

Leia mais

Manual Mobuss Construção - Móvel

Manual Mobuss Construção - Móvel Manual Mobuss Construção - Móvel VISTORIA & ENTREGA - MÓVEL Versão 1.0 Data 22/04/2014 Mobuss Construção - Vistoria & Entrega Documento: v1.0 Blumenau SC 2 Histórico de Revisão Versão Data Descrição 1.0

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 2 Princípios de Programação Prof. Belarmino Linguagem de Computadores Internamente os computadores usam instruções e armazenam os dados no formato numérico binário

Leia mais

Proposta e desenvolvimento de um sistema de controle de baixo custo para irrigação automatizada

Proposta e desenvolvimento de um sistema de controle de baixo custo para irrigação automatizada II Semana de Ciência e Tecnologia do IFMG - Campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009 Proposta e desenvolvimento de um sistema de controle de baixo custo para irrigação automatizada

Leia mais

A dissertação é dividida em 6 capítulos, incluindo este capítulo 1 introdutório.

A dissertação é dividida em 6 capítulos, incluindo este capítulo 1 introdutório. 1 Introdução A escolha racional dos sistemas estruturais em projetos de galpões industriais é um fator de grande importância para o desenvolvimento de soluções padronizadas e competitivas. No mercado brasileiro

Leia mais

2 Segmentação de imagens e Componentes conexas

2 Segmentação de imagens e Componentes conexas Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Informática (DAINF) Algoritmos II Professor: Alex Kutzke (alexk@dainf.ct.utfpr.edu.br) Especificação do Primeiro Trabalho Prático

Leia mais

O Sistema de Computação

O Sistema de Computação Departamento de Ciência da Computação - UFF O Sistema de Computação Profa. Débora Christina Muchaluat Saade debora@midiacom.uff.br O Sistema de Computação Capítulo 2 Livro do Mário Monteiro Componentes

Leia mais

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores 1 Processamento de Dados aplicado à Geociências AULA 1: Introdução à Arquitetura de Computadores UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOLÓGICO CURSO SUPERIOR DE TECNOLOGIA EM GEOPROCESSAMENTO

Leia mais

PLANO MUNICIPAL DE SANEAMENTO BÁSICO PMSB PRODUTO IX METODOLOGIA PARA CRIAÇÃO DO SISTEMA DE INFORMAÇÕES PARA AUXÍLIO À TOMADA DE DECISÃO

PLANO MUNICIPAL DE SANEAMENTO BÁSICO PMSB PRODUTO IX METODOLOGIA PARA CRIAÇÃO DO SISTEMA DE INFORMAÇÕES PARA AUXÍLIO À TOMADA DE DECISÃO PLANO MUNICIPAL DE SANEAMENTO BÁSICO PMSB PRODUTO IX METODOLOGIA PARA CRIAÇÃO DO SISTEMA DE INFORMAÇÕES PARA AUXÍLIO À TOMADA DE DECISÃO Terra Estudos e Projetos Ambientais 11ª Avenida, nº 686 Setor Universitário

Leia mais

MODELAGEM DE UM CONVERSOR ESTÁTICO PARA APLICAÇÃO EM REDES DE DISTRIBUIÇÃO MONOFÁSICA 1

MODELAGEM DE UM CONVERSOR ESTÁTICO PARA APLICAÇÃO EM REDES DE DISTRIBUIÇÃO MONOFÁSICA 1 MODELAGEM DE UM CONVERSOR ESTÁTICO PARA APLICAÇÃO EM REDES DE DISTRIBUIÇÃO MONOFÁSICA 1 Carlos Moises Tiede 2, Taciana Paula Enderle 3. 1 Projeto de Pesquisa realizado no curso de Engenharia Elétrica Câmpus

Leia mais

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados Prof. Hugo Souza Após vermos uma breve contextualização sobre esquemas para bases dados e aprendermos

Leia mais

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores Sistemas Operacionais Sincronização: Semáforos Problema dos Leitores/Escritores Autoria Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina:

Leia mais

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

Leia mais

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas ,QVWDODomR 5HTXLVLWRV0tQLPRV Para a instalação do software 0RQLWXV, é necessário: - Processador 333 MHz ou superior (700 MHz Recomendado); - 128 MB ou mais de Memória RAM; - 150 MB de espaço disponível

Leia mais

Aula 10: Escalonamento da CPU

Aula 10: Escalonamento da CPU Aula 10: Escalonamento da CPU O escalonamento da CPU é a base dos sistemas operacionais multiprogramados. A partir da redistribuição da CPU entre processos, o sistema operacional pode tornar o computador

Leia mais

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva ARQUITETURA DE COMPUTADORES Professor: Clayton Rodrigues da Siva OBJETIVO DA AULA Objetivo: Conhecer a estrutura da arquitetura da Máquina de Von Neumann. Saber quais as funcionalidades de cada componente

Leia mais

Sistemas Computacionais e Hardware. Disciplina: Informática Prof. Higor Morais

Sistemas Computacionais e Hardware. Disciplina: Informática Prof. Higor Morais Sistemas Computacionais e Hardware Disciplina: Informática Prof. Higor Morais 1 Agenda Sistema Computacional O Computador e seus componentes Hardware 2 Unidade de entrada Unidade de saída Unidade de Processamento

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 7 Programação Genética M.e Guylerme Velasco Programação Genética De que modo computadores podem resolver problemas, sem que tenham que ser explicitamente programados para isso?

Leia mais

Introdução. Modelo de um Sistema de Comunicação

Introdução. Modelo de um Sistema de Comunicação I 1 Comunicação de Dados e Redes de Computadores Introdução FEUP/DEEC/CDRC I 2002/03 MPR/JAR Modelo de um Sistema de Comunicação» Fonte gera a informação (dados) a transmitir» Emissor converte os dados

Leia mais

Desenvolvimento de Software

Desenvolvimento de Software PODER JUDICIÁRIO JUSTIÇA DO TRABALHO TRIBUNAL REGIONAL DO TRABALHO DA 15ª REGIÃO Secretaria de Tecnologia da Informação e Comunicações Total de Páginas:16 Versão: 1.0 Última Atualização: 26/07/2013 Índice

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Alexandre Meslin (meslin@nce.ufrj.br) Objetivo do Curso Apresentar os conceitos básicos de informática, de software e de hardware. Introduzir os conceitos relativos à representação

Leia mais

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados

Leia mais

Projeto de Desenvolvimento de Software

Projeto de Desenvolvimento de Software Projeto de Desenvolvimento de Software Introdução a Engenharia de Software (continuação) Msc. Eliezio Soares eliezio.soares@ifrn.edu.br http://docente.ifrn.edu.br/elieziosoares Engenharia de Software Definição

Leia mais

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante Microcontroladores e Microprocessadores Conversão de Bases Prof. Samuel Cavalcante Conteúdo Conversão de Qualquer base para Decimal Decimal para Binário Hexadecimal para binário Componentes básicos de

Leia mais

ANÁLISE DE CIRCUITOS I ( AULA 03)

ANÁLISE DE CIRCUITOS I ( AULA 03) ANÁLISE DE CIRCUITOS I ( AULA 03) 1.0 O CAPACÍMETRO É o instrumento usado para medir o valor dos capacitores comuns e eletrolíticos. Há dois tipos de capacímetro: o analógico (de ponteiro) e o digital

Leia mais

Revisão Diagrama de Caso de Uso. Rodolfo Adamshuk Silva 30/08/2013

Revisão Diagrama de Caso de Uso. Rodolfo Adamshuk Silva 30/08/2013 Revisão Diagrama de Caso de Uso Rodolfo Adamshuk Silva 30/08/2013 Processo Unificado (PU) É um modelo de processo de software baseado no modelo incremental, visando a construção de software orientado a

Leia mais

Backup. José Antônio da Cunha CEFET-RN

Backup. José Antônio da Cunha CEFET-RN José Antônio da Cunha CEFET-RN Introdução Sendo as informações o bem mais valioso da empresa e estando estas informações armazenadas nos bancos de dados da empresa, é de fundamental importância que tenhamos

Leia mais

MODELAGENS. Modelagem Estratégica

MODELAGENS. Modelagem Estratégica Material adicional: MODELAGENS livro Modelagem de Negócio... Modelagem Estratégica A modelagem estratégica destina-se à compreensão do cenário empresarial desde o entendimento da razão de ser da organização

Leia mais

DIMENSÕES DE PESQUISA EM ENGENHARIA DE SOFTWARE

DIMENSÕES DE PESQUISA EM ENGENHARIA DE SOFTWARE ESPECIAL Engenharia de Software DIMENSÕES DE PESQUISA EM ENGENHARIA DE SOFTWARE por Paulo Borba DECISÕES IMPORTANTES A SEREM TOMADAS NOS PROJETOS E NA CARREIRA DE UM PESQUISADOR EM ENGENHARIA DE SOFTWARE.

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Introdução Slide 1 Nielsen C. Damasceno Introdução Tanenbaum (2007) definiu que um sistema distribuído é aquele que se apresenta aos seus usuários como um sistema centralizado, mas

Leia mais

Acionamento de Motores: PWM e Ponte H

Acionamento de Motores: PWM e Ponte H Warthog Robotics USP São Carlos www.warthog.sc.usp.br warthog@sc.usp.br Acionamento de Motores: PWM e Ponte H Por Gustavo C. Oliveira, Membro da Divisão de Controle (2014) 1 Introdução Motores são máquinas

Leia mais

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé Análise e Projeto Orientado a Objetos Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé O que veremos hoje? Análise e Projeto Definição Comparação Análise e Projeto OO Definição

Leia mais

Flávia Rodrigues. Silves, 26 de Abril de 2010

Flávia Rodrigues. Silves, 26 de Abril de 2010 Flávia Rodrigues STC5 _ Redes de Informação e Comunicação Silves, 26 de Abril de 2010 Vantagens e Desvantagens da Tecnologia Acessibilidade, quer a nível pessoal quer a nível profissional; Pode-se processar

Leia mais

Emparelhamentos Bilineares Sobre Curvas

Emparelhamentos Bilineares Sobre Curvas Emparelhamentos Bilineares Sobre Curvas Eĺıpticas Leandro Aparecido Sangalli sangalli@dca.fee.unicamp.br Universidade Estadual de Campinas - UNICAMP FEEC - Faculdade de Engenharia Elétrica e de Computação

Leia mais

No contexto das ações de Pesquisa e Desenvolvimento

No contexto das ações de Pesquisa e Desenvolvimento Um método para avaliar o desempenho ótico de LEDs O LABelectron desenvolveu um método de testes para analisar influências ópticas em diferentes modos de acionamentos de LEDs André Andreta No contexto das

Leia mais

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br

Microcontroladores. Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br Prof. Nivaldo T. Schiefler Jr. M.Eng Homepage: www.joinville.ifsc.edu.br/~nivaldo Email: nivaldo@ifsc.edu.br Conceito final será constituído de duas avaliações: 1ª Conceito avaliação teórica 2ª Conceito

Leia mais

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP Planejamento - 2 Definição de atividades Sequenciamento das atividades 1 6.1 Definir as atividades 1 Lista das atividades A lista das atividades é uma lista abrangente que inclui todas as atividades necessárias

Leia mais

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br

Sistemas Operacionais. Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br. www.fgp.com.br Sistemas Operacionais Rodrigo Rubira Branco rodrigo@kernelhacking.com rodrigo@fgp.com.br Tipos de Sistemas Operacionais De Sistemas Embarcados (PalmOS,WinCE,WinXPEmbbeded,Linux) Hardware simples, especifico

Leia mais

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva

Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM. Pipeline. Gabriel P. Silva. Gabriel P. Silva Univ ersidade Feder al do Rio de Janei ro Informáti ca DCC/IM Arquitetura de Computadores II Pipeline Introdução Pipeline é uma técnica de implementação de processadores que permite a sobreposição temporal

Leia mais

Processo de Desenvolvimento de Software

Processo de Desenvolvimento de Software Processo de Desenvolvimento de Software Programação Orientada a Objetos Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Processo de Desenvolvimento de Software O desenvolvimento de software é uma

Leia mais

Instrumentação Aplicada

Instrumentação Aplicada Instrumentação Aplicada Simbologia Não é que eu procure falar difícil, é que as coisas têm nome João Guimarães Rosa Assuntos Conceitos Simbologia Representação Exercícios Assunto Conceitos Conceitos SIMBOLOGIA

Leia mais

Barramentos de campo. Modelo OSI para sistemas comunicantes

Barramentos de campo. Modelo OSI para sistemas comunicantes Barramentos de campo Bibliografia H. Kopetz, Design Principles for Distributed Embedded Applications, Kluwer Academic Publishers, 1997. 1 Modelo OSI para sistemas comunicantes OSI Open Systems Interconnect

Leia mais

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1 BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1 Introdução ao Curso 2 Carga horária semanal 2 aulas teóricas e 2 aulas práticas (ambas em laboratório)

Leia mais

Tipologia dos Escritórios de Projeto

Tipologia dos Escritórios de Projeto Tipologia dos Escritórios de Projeto Tipologia dos Escritórios de Negócio Todos sabemos que conduzir projetos é muito mais do que uma arte e que ao Gerente de Projetos cabe a responsabilidade de gerenciar

Leia mais

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro Princípios e Conceitos de Desenho de Software Projeto de Sistemas de Software Prof. Rodrigo Ribeiro Revisando... Processo Unificado PRAXIS Processo unificado: Dividido em fases e fluxos Fases Concepção,

Leia mais

BIOS - Códigos de erro

BIOS - Códigos de erro Durante o boot, o BIOS realiza uma série de testes, visando detectar com exatidão os componentes de hardware instalados no micro. Este teste é chamado de POST, acrônimo de "Power-On Self Test". Os dados

Leia mais

Módulo 8 Entradas Digitais 24 Vdc Monitorado. Os seguintes produtos devem ser adquiridos separadamente para possibilitar a utilização do produto:

Módulo 8 Entradas Digitais 24 Vdc Monitorado. Os seguintes produtos devem ser adquiridos separadamente para possibilitar a utilização do produto: Descrição do Produto O módulo, integrante da Série Ponto, possui 8 pontos de entrada digital +24 Vdc isolada e monitorada, é indicado para aplicações onde a situação de linha rompida necessita ser detectada

Leia mais

Arquitetura e Organização de Computadores I

Arquitetura e Organização de Computadores I AULA 09 Estruturas de Interconexão (Barramentos) II Existem algumas questões relacionadas ao desempenho do sistema e os barramentos que merecem ser destacadas. 1. a quantidade de dispositivos conectados

Leia mais

Análise de Requisitos

Análise de Requisitos Análise de Requisitos Análise de Requisitos O tratamento da informação é um requisito que fundamenta o processo de desenvolvimento de software antes da solução de tecnologia a ser aplicada. Cada projeto

Leia mais

CPGP 2016 CONGRESSO PARANAENSE DE GERENCIAMENTO DE PROJETOS CHAMADA DE TRABALHOS

CPGP 2016 CONGRESSO PARANAENSE DE GERENCIAMENTO DE PROJETOS CHAMADA DE TRABALHOS CPGP 2016 CONGRESSO PARANAENSE DE GERENCIAMENTO DE PROJETOS CHAMADA DE TRABALHOS I. DATA E LOCAL Data: 25 e 26 de Agosto de 2016 Local: FIEP Campus da Indústria Av. Comendador Franco, 1341, Jardim Botânico

Leia mais

Seminário: Uso de Simuladores no Ensino da Robótica

Seminário: Uso de Simuladores no Ensino da Robótica 1 o SICGRAPI - Simpósio em Computação Gráfica e Processamento de Imagens LARVA LAboratório de Realidade Virtual Aplicada Seminário: Uso de Simuladores no Ensino da Robótica Conteúdo Introdução (~10 ) Demonstrações

Leia mais

JAVA Express com Lógica. Subtítulo

JAVA Express com Lógica. Subtítulo JAVA Express com Lógica Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras

Leia mais

Ao considerar o impacto ambiental das empilhadeiras, observe toda cadeia de suprimentos, da fonte de energia ao ponto de uso

Ao considerar o impacto ambiental das empilhadeiras, observe toda cadeia de suprimentos, da fonte de energia ao ponto de uso Energia limpa Ao considerar o impacto ambiental das empilhadeiras, observe toda cadeia de suprimentos, da fonte de energia ao ponto de uso Empilhadeira movida a hidrogênio H oje, quando se trata de escolher

Leia mais

QUESTIONAMENTO ACERCA DO EDITAL DO PREGÃO ELETRÔNICO AA Nº 03/2014 - BNDES

QUESTIONAMENTO ACERCA DO EDITAL DO PREGÃO ELETRÔNICO AA Nº 03/2014 - BNDES QUESTIONAMENTO ACERCA DO EDITAL DO PREGÃO ELETRÔNICO AA Nº 03/2014 - BNDES Item 1.2 Grupo 1 do termo de referencia No grupo 1 o órgão solicita protocolo ISDN. Solicitamos que seja permitido o protocolo

Leia mais

Utilização de threads em Java

Utilização de threads em Java Universidade Federal do Rio de Janeiro IM/DCC Utilização de threads em Java Prof. Austeclynio Pereira e-mail: austeclyniop@posgrad.nce.ufrj.br Ciclo de vida de uma thread nascimento start notify notifyall

Leia mais

J.I.T. - Just In Time

J.I.T. - Just In Time Publicação Nº 1-2 Dezembro 2009 J.I.T. - Just In Time PONTOS DE INTERESSE: Vantagens e desvantagens 5 S SMED Kanban Just In Time (JIT) é uma filosofia Global de produção, com origem oriental, que consiste

Leia mais

T.I. para o DealerSuite: Servidores Versão: 1.1

T.I. para o DealerSuite: Servidores Versão: 1.1 T.I. para o DealerSuite: Servidores Versão: 1.1 Lista de Figuras T.I. para o Dealer Suite: Servidores Figura 1 Tela Principal do ESXi...4 Figura 2 Tela VMware Player...5 Figura 3 Arquivo /etc/exports do

Leia mais

Adotada Total / Parcial. Fundamento da não adoção. Recomendação. Não adotada. 1. Princípios Gerais

Adotada Total / Parcial. Fundamento da não adoção. Recomendação. Não adotada. 1. Princípios Gerais / 1. Princípios Gerais As instituições devem adotar uma política de remuneração consistente com uma gestão e controlo de riscos eficaz que evite uma excessiva exposição ao risco, que evite potenciais conflitos

Leia mais

MODELO SUGERIDO PARA PROJETO DE PESQUISA

MODELO SUGERIDO PARA PROJETO DE PESQUISA MODELO SUGERIDO PARA PROJETO DE PESQUISA MODELO PARA ELABORAÇÃO DE PROJETO DE PESQUISA (Hospital Regional do Mato Grosso do Sul- HRMS) Campo Grande MS MÊS /ANO TÍTULO/SUBTÍTULO DO PROJETO NOME DO (s) ALUNO

Leia mais

Plano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Plano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias Plano de Projeto Tema 3. Gerência de Projetos Profa. Susana M. Iglesias Modelos Empíricos Modelos de Estimativas de Custo e Esforço. Modelos Empíricos: Usam formulas empíricas para predizer esforço em

Leia mais