Computação de Alto Desempenho com Qualidade: Desafios e Perspectivas

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

Download "Computação de Alto Desempenho com Qualidade: Desafios e Perspectivas"

Transcrição

1 Computação de Alto Desempenho com Qualidade: Desafios e Perspectivas Paulo Sérgio Lopes de Souza Universidade de São Paulo / ICMC / SSC São Carlos Laboratório de Sistemas Distribuídos e Programação Concorrente Intel Innovation Week e 25 de setembro de 2014 Centro Universitário Senac São Paulo - SP

2 Agenda A Universidade de São Paulo em São Carlos Software com qualidade Teste de aplicações de alto desempenho Perspectivas futuras Conclusões

3 USP São Carlos Dados de Abril/2014 7,7k alunos de graduação e pós-graduação 522 Professores 23 Cursos de graduação 18 Programas de pós-graduação 5 Unidades: ICMC, EESC, IFSC, IQSC e IAU

4 Teste de programas concorrentes Pesquisadores Paulo S. L. Souza (LASDPC/ICMC/USP) Simone Senger de Souza (LABES/ICMC/USP) Júlio Cézar Estrella (LASDPC/ICMC/USP) Sarita Mazzini Bruschi (LASDPC/ICMC/USP) Márcio Delamaro (LABES/ICMC/USP) João Lourenço (FCT/UNL) Ed Zaluska (ECS/Soton) ~16 alunos (IC/ME/DO)

5 Agenda A Universidade de São Paulo em São Carlos Software com qualidade Teste de aplicações de alto desempenho Perspectivas futuras Conclusões

6 Software com qualidade A importância da qualidade no que fazemos! Como aferir qualidade no software? Sequencial Faz o prometido? (Foi feito o que se esperava?) Faz de maneira correta (Isso aí está certo?) Tem o desempenho esperado (Como é feito isso?)... manutenção, flexibilidade, usabilidade.

7 Software com qualidade O que é o Teste de Software? Teste Examina comportamento do programa Heurística: pode-se revelar defeitos quando se testa Como garantir que o código está correto? Objetivo do Teste => melhorar os casos de teste! Teste não é depuração! Depuração localiza causas que levam à falha Como escolher casos de teste? Critérios de teste e elementos requeridos

8 Software concorrente com qualidade Foco das pesquisas Encontrar defeitos difíceis de serem revelados em programas concorrentes Comunicação & sincronização entre processos Teste de software concorrente As mesmas preocupações do software sequencial e mais: Não determinismo - diferentes saídas para a mesma entrada Deadlock e starvation Diferentes paradigmas de comunicação e sincronização Escalabilidade Segurança Portabilidade...

9 Não determinismo recv(p0) P1 P0 P2 1 1 send(p1) 2 send(p2) 1 recv(p0) send(p0) 2 3 recv(-1) 2 send(p0) 4 recv(-1) Sincronizações: (1 0,1 1 ), (2 0,1 2 ), (2 2,3 0 ), (2 1,4 0 ) Sincronizações: (1 0,1 1 ), (2 0,1 2 ), (2 1,3 0 ), (2 2,4 0 )? 9

10 Agenda A Universidade de São Paulo em São Carlos Software com qualidade Teste de aplicações de alto desempenho Perspectivas futuras Conclusões

11 Teste de aplicações de alto desempenho Exemplo com passagem de mensagens GCD (Greatest Common Divisor) para três números para x = 1, y = 2 e z = 1 P 0 {gcd} x = 1, y = 2 {mgcd} P mestre y = 2, z = 1 x' = 1 y' = 1 P 1 {gcd} z = 1 (gcd) P 2 {gcd}

12 Teste de aplicações de alto desempenho Programa GCD para três números para x = 3, y = 6 e z = 4 Foi testado o suficiente? P 0 {gcd} x = 3, y = 6 {mgcd} P mestre y = 6, z = 4 x' = 3 y' = 2 P 1 {gcd} x = 3, y = 2 z = 1 (gcd) P 2 {gcd}

13 Teste de aplicações de alto desempenho /* Master program GCD - mgcd */ main() { /*1*/ integer x,y,z, slv[3], buf[2]; /*1*/ read (x, y, z); /*1*/ spawn_process("gcd", NULL, 3, slv); /*2*/ buf[0] = x; buf[1] = y; /*2*/ send(slv[0], 2, buf); /*3*/ buf[0] = y; buf[1] = z; /*3*/ send(slv[1], 2, buf); /*4*/ recv(*, x); /*5*/ nb_recv(*, y); /*6*/ if ( ( x>1 ) && ( y>1 ) ) { /*7*/ buf[0] = x; buf[1] = y; /*7*/ send(slv[2], 2, buf); /*8*/ recv(*, z); /*9*/ else { /*9*/ finalize_process(slv[2]); /*9*/ z = 1; /*9*/ } /*10*/ print (z); /*10*/ finalize(); /*10*/ } /* Slave program GCD - gcd */ main(){ /*1*/ integer pid, x, y, buf[2]; /*1*/ pid = my_father(); /*2*/ recv(pid, 2, buf); /*2*/ x = buf[0]; /*2*/ y = buf[1]; /*3*/ while (x!= y){ ( x<y ) /*4*/ if /*5*/ y = y - x; /*6*/ else /*6*/ x = x - y; /*7*/ } /*8*/ send(pid,1, x); /*9*/ finalize(); /*9*/ } nb_recv chegando depois x = 1 y =? x = 1 e y = 2 z = 1 (saída esperada ) nó 5 m como nb_recv(*, y) - o correto era recv(*, y) {x=1, y=2, z=1} não revela o defeito {x=3, y=6, z=4} pode revelar o defeito

14 Teste de aplicações de alto desempenho /* Master program GCD - mgcd */ main() { /*1*/ integer x,y,z, slv[3], buf[2]; /*1*/ read (x, y, z); /*1*/ spawn_process("gcd", NULL, 3, slv); /*2*/ buf[0] = x; buf[1] = y; /*2*/ send(slv[0], 2, buf); /*3*/ buf[0] = y; buf[1] = z; /*3*/ send(slv[1], 2, buf); /*4*/ recv(*, x); /*5*/ nb_recv(*, y); /*6*/ if ( ( x>1 ) && ( y>1 ) ) { /*7*/ buf[0] = x; buf[1] = y; /*7*/ send(slv[2], 2, buf); x = 3 e y = 6 /*8*/ recv(*, z); /*9*/ else { /*9*/ finalize_process(slv[2]); /*9*/ z = 1; /*9*/ } /*10*/ print (z); /*10*/ finalize(); /*10*/ } z = 3 (esperava 1 ) nb_recv antes depois x = 3 y =? /* Slave program GCD - gcd */ main(){ /*1*/ integer pid, x, y, buf[2]; /*1*/ pid = my_father(); /*2*/ recv(pid, 2, buf); /*2*/ x = buf[0]; /*2*/ y = buf[1]; /*3*/ while (x!= y){ ( x<y ) /*4*/ if /*5*/ y = y - x; /*6*/ else /*6*/ x = x - y; /*7*/ } /*8*/ send(pid,1, x); /*9*/ finalize(); /*9*/ } nó 5 m como nb_recv(*, y) (o correto era recv(*, y) ) {x=1, y=2, z=1} não revela o defeito {x=3, y=6, z=4} pode revelar o defeito

15 Teste de aplicações de alto desempenho /* Master program GCD - mgcd */ main() { /*1*/ integer x,y,z, slv[3], buf[2]; /*1*/ read (x, y, z); /*1*/ spawn_process("gcd", NULL, 3, slv); /*2*/ buf[0] = x; buf[1] = y; /*2*/ send(slv[0], 2, buf); /*3*/ buf[0] = y; buf[1] = z; /*3*/ send(slv[1], 2, buf); /*4*/ recv(*, x); /*5*/ nb_recv(*, y); /*6*/ if ( ( x>1 ) && ( y>1 ) ) { /*7*/ buf[0] = x; buf[1] = y; /*7*/ send(slv[2], 2, buf); x = 3 e y = 2 /*8*/ recv(*, z); /*9*/ else { /*9*/ finalize_process(slv[2]); /*9*/ z = 1; /*9*/ } /*10*/ print (z); /*10*/ finalize(); /*10*/ } z = 1 (Saída esperada ) /* Slave program GCD - gcd */ main(){ /*1*/ integer pid, x, y, buf[2]; /*1*/ pid = my_father(); /*2*/ recv(pid, 2, buf); /*2*/ x = buf[0]; /*2*/ y = buf[1]; /*3*/ while (x!= y){ ( x<y ) /*4*/ if /*5*/ y = y - x; /*6*/ else /*6*/ x = x - y; /*7*/ } /*8*/ send(pid,1, x); /*9*/ finalize(); /*9*/ } nb_recv chegando depois x = 3 y = 2 nó 5 m como nb_recv(*, y) - o correto era recv(*, y) {x=2, y=4, z=6} não revela o defeito {x=3, y=6, z=4} pode revelar o defeito

16 Teste de aplicações de alto desempenho Como atacar esses desafios? Técnicas de Teste Quais técnicas existem? Funcional, Estrutural e Baseada em Defeitos Por que usar a estrutural? Oferece cobertura de código Detalhes da comunicação e sincronização Detalhes do fluxo de controle e dados em diferentes threads Não encapsular não determinismo inerente à IPC

17 Teste de aplicações de alto desempenho Como aplicar o teste estrutural Modelos de Teste Critérios de Teste Ferramentas de Teste

18 Modelos de Teste Parallel Control Flow Graph Representação de itens relevantes ao teste Essenciais para a qualidade do teste Afetam diretamente os custos da atividade de teste Exemplos: Grafos, MEFs, Redes de Petri,...

19 Critérios de Teste Exemplos Arestas de sincronização Definição e uso de variáveis em diferentes threads Elementos requeridos Nó n p1,t0 2 Aresta de sincronização (n 2 p0,t0, n 5 p1,t0 )

20 Critérios de Teste Nova Família Legados Fluxos de controle e dados all-nodes, all-defs, all-s-uses Voltados à HPC Fluxo de controle e comunicação/sincronização all-nodes-s, all-edges-s e all-s-cuses

21 Ferramenta de Teste Suporte à atividade de teste Ex: Chess (Microsoft), Contest (IBM) e ValiPar (ICMC/USP) Test input parallel program Instrumented program Graphs (i) and inheritor reduced CFGs ValiExec Test output CFGs ValiInst ValiElem Required elements Executed paths Data flow Information descritor ValiEval Testing criteria Covered elements Coverage

22 Há interesse em teste para HPC?

23 Países mais influentes 23

24 Abordagem de teste Quais abordagens foram pesquisadas? Teste determinístico 61 (18,26%) 10,78% 5,69% 1,50% 1% Teste de cobertura 85 (25,45%) 5,39% 1,50% 2,1% 17,96% Teste baseado na especificação 68 (20,36%) 10,78% 7,19% 2,10% 1% Teste baseado em defeitos 87 (26,05%) 9,28% 11,08% 1,80% 1,80% 4,1% 3,1% Geração automática de dados de teste 33 (9,88%) 6,29% 2,69% 0,60% 1% Abordagem Ferramenta Framework Benchmark Estudo Secundário 184 (55,09%) 107 (32,04%) 25 (7,49%) 6 (1,80%) 9 (2,69%) Taxonomia 3 (0,90%) Tipo de pesquisa

25 Quais ferramentas foram propostas? Abordagem de teste Teste determinístico 13 (13,4%) 1% 3,1% 4,1% 5,2% Teste de cobertura 15 (15,5%) 1% 7,2% 1% 3,1% 3,1% Teste baseado na especificação 24 (24,7%) 11,3% 10,3% 2,1% 1% Teste baseado em defeitos 35 (36,1%) 15,5% 16,5% 2,1% 2,1% Geração automática de dados de teste 8 (8,2%) 5,2% 2,1% 1% Java C/C++ C/MPI C/PVM C/Pthreads 37 (38,1%) 39 (40,2%) 5 (5,2%) 4 (4,1%) 10 (10,3%) Linguagem

26 Alguns desafios Disponibilizar infra-estrutura básica ao teste eficiente, robusta e flexível às necessidades Gerar automaticamente casos de teste Analisar critérios Eficácia para revelar defeitos, Relação de inclusão dos critérios Investigar aspectos complementares eficiência e custo Qual técnica de teste utilizar?

27 Agenda A Universidade de São Paulo em São Carlos Software com qualidade Teste de aplicações de alto desempenho Perspectivas futuras Conclusões

28 Perspectiva Futura Selecionar e avaliar técnicas e ferramentas de teste para HPC apoio à aplicação prática de técnicas / ferramentas para profissionais de teste 28

29 Motivação Teste estrutural Desenvolvimento dirigido a teste Satisfação do testador Custo para usar Injeção de defeitos Eficácia revelar defeitos Análise dinâmica Eficiência do uso Teste de mutação Teste baseado em busca Análise estática Análise simbólica Execução determinística Teste de cobertura Verificação formal Verificação preditiva Teste baseado na especificação Teste baseado em modelos Monitoramento Teste baseado em modelos Teste de alcançabilidade Detecção de violação de atomicidade Geração automática de dados de teste Teste ativo 14

30 Como avaliar técnicas de teste? Questões de Pesquisa A tecnologia é adequada no contexto industrial? Estudo de Caso na Indústria A tecnologia é adequada no contexto do processo de software? Estudo de caso no Processo de Software A aplicação prática da tecnologia faz sentido? Estudo de Observação A tecnologia é viável? Estudo de Viabilidade Linha do Tempo 30

31 O que ela envolve? Metodologias de Avaliação e Seleção Parceiros na Indústria Teste de Software Programação Concorrente 31

32 Agenda A Universidade de São Paulo em São Carlos Software com qualidade Teste de aplicações de alto desempenho Perspectivas futuras Conclusões

33 Conclusões Programação Concorrente com qualidade: É necessária nos dias de hoje e será também no futuro Está repleta de novos desafios maior demanda com novas arquiteturas necessidade de maior produtividade redução dos custos de manutenção explorar o desempenho de pico das arquiteturas Teste ainda é muito limitado complexidade e custo

34 Conclusões Há um caminho já percorrido Infra-estrutura básica para suporte a técnicas, critérios e modelos de teste Avaliações parciais quanto à cobertura, capacidade para revelação de defeitos Falta desenvolvimento mais próximo à indústria Inserção no processo de teste Adequação ao contexto industrial

35 Computação de Alto Desempenho com Qualidade: Desafios e Perspectivas Paulo Sérgio Lopes de Souza Universidade de São Paulo / ICMC / SSC São Carlos Laboratório de Sistemas Distribuídos e Programação Concorrente Intel Innovation Week e 25 de setembro de 2014 Centro Universitário Senac São Paulo - SP

DISCIPLINAS A CARGO DO SSC 1º SEMESTRE DE 2015

DISCIPLINAS A CARGO DO SSC 1º SEMESTRE DE 2015 DISCIPLINAS A CARGO DO SSC 1º SEMESTRE DE 2015 DISCIPLINA CURSO TURMA HORÁRIO DOCENTE SALA SSC0103 Programação Orientada a Objetos BCCA 1 Seg. 10:10/11:50 Adenilso da Silva Qui. 14:20/16:00 Simão 4003

Leia mais

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins Testes Baseados na Implementação (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins 1 Tópicos O que é Grafo de fluxo de controle Critérios de cobertura 2 Referências B.Beizer R.Binder

Leia mais

1. Qual das seguintes alternativas não é um tipo de revisão? 2. Qual das alternativas é um atributo da qualidade?

1. Qual das seguintes alternativas não é um tipo de revisão? 2. Qual das alternativas é um atributo da qualidade? Simulado CTFL- BSTQB Tempo de duração: 30 minutos 1. Qual das seguintes alternativas não é um tipo de revisão? a) Acompanhamento b) Revisão técnica c) Revisão informal d) Aprovação da gerência 2. Qual

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Geração automática de dados de teste para programas concorrentes com meta-heurística. José Dario Pintor da Silva

Geração automática de dados de teste para programas concorrentes com meta-heurística. José Dario Pintor da Silva Geração automática de dados de teste para programas concorrentes com meta-heurística José Dario Pintor da Silva SERVIÇO DE PÓS-GRADUAÇÃO DO ICMC-USP Data de Depósito: 21/11/2014 Assinatura: Geração automática

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA PROGRAMA DE DISCIPLINA Disciplina: Introdução à Programação Carga horária total: 60 Carga horária teórica: 0 Carga horária prática: 60 Código da Disciplina: CCMP0041 Período de oferta: 2010.2 Turma: CA

Leia mais

Engenharia de software para desenvolvimento com LabVIEW: Validação

Engenharia de software para desenvolvimento com LabVIEW: Validação Engenharia de software para desenvolvimento com LabVIEW: Orientação a Objetos, Statechart e Validação André Pereira Engenheiro de Vendas (Grande São Paulo) Alexsander Loula Coordenador Suporte Técnico

Leia mais

Tipos de teste de software

Tipos de teste de software Tipos de teste de software Volnys Borges Bernal volnys@lsi.usp.br Adilson Hira ayhira@lsi.usp.br Laboratório de Sistemas Integráveis Departamento de Sistemas Eletrônicos Escola Politécnica da USP Sumário

Leia mais

Programação Concorrente

Programação Concorrente + XV Jornada de Cursos CITi Programação Concorrente Aula 1 Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres + Suposições básicas Conhecimento básico sobre Programação Orientada a Objetos

Leia mais

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA PROGRAMA DE DISCIPLINA Disciplina: INTRODUÇÃO À PROGRAMAÇÃO Carga horária total: 60 h Carga horária teórica: 30 h Carga horária prática: 30 h Código da Disciplina: CCMP0041 Período de oferta: 2015.2 Turma:

Leia mais

DIM0436. 26. Testes de caixa branca Cobertura estrutural DIM0436 20141104 1 / 37

DIM0436. 26. Testes de caixa branca Cobertura estrutural DIM0436 20141104 1 / 37 DIM0436 26. Testes de caixa branca Cobertura estrutural 20141104 DIM0436 20141104 1 / 37 Sumário 1 Introdução 2 Cobertura do fluxo de controle 3 Cobertura do fluxo de dados DIM0436 20141104 2 / 37 1 Introdução

Leia mais

Sistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos

Sistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos Sistemas Operacionais Capítulo 7 Sincronização e Comunicação entre Processos Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado

Leia mais

Sumário. Objectivos Técnicas Casos Notáveis Exemplo Conclusões. Testes de Software 2

Sumário. Objectivos Técnicas Casos Notáveis Exemplo Conclusões. Testes de Software 2 Testes de Software Sumário Objectivos Técnicas Casos Notáveis Exemplo Conclusões Testes de Software 2 Objectivos Verificação o programa está de acordo com a especificação (construímos bem o produto?) Validação

Leia mais

Introdução a Verificação, Validação e Teste de Software

Introdução a Verificação, Validação e Teste de Software Engenharia de Software I 2012.2 Introdução a Verificação, Validação e Teste de Software Ricardo A. Ramos [Baseado na apresentação do LABS ICMC-USP -> http://www.labes.icmc.usp.br] Organização Introdução

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Teste de Software Engenharia de Software 2o. Semestre de 2005 Slide

Leia mais

Teste de programas concorrentes com memória compartilhada. Felipe Santos Sarmanho

Teste de programas concorrentes com memória compartilhada. Felipe Santos Sarmanho Teste de programas concorrentes com memória compartilhada Felipe Santos Sarmanho SERVIÇO DE PÓS-GRADUAÇÃO DO ICMC-USP Data de Depósito: Assinatura: Teste de programas concorrentes com memória compartilhada

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto Introdução Processo cooperativo é aquele que pode afetar outros processos em execução no sistema Ou ser por eles afetado Processos

Leia mais

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade

Orientação a Objetos. Conceitos Iniciais Introdução a Linguagem Java. Gil Eduardo de Andrade Orientação a Objetos Conceitos Iniciais Introdução a Linguagem Java Gil Eduardo de Andrade Conceitos: Orientação a Objeto Introdução Abordagem típica no desenvolvimento de sistemas complexos; Consiste

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada

Leia mais

FATEsC - Uma Ferramenta de apoio ao teste estrutural de componentes

FATEsC - Uma Ferramenta de apoio ao teste estrutural de componentes FATEsC - Uma Ferramenta de apoio ao teste estrutural de componentes Vânia Somaio Teixeira 1,2, Marcio Eduardo Delamaro 1, Auri Marcelo Rizzo Vincenzi 3 1 Programa de Pós-graduação em Ciência da Computação

Leia mais

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES.

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Tópico 20 janeiro 27 janeiro 3 fev 10 fev 17 fev 24 fev 3 março Paradigma de Paralelismo

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 2- Teste Estático e Teste Dinâmico Aula 6 Teste Dinâmico: Técnicas de Especificação SUMÁRIO INTRODUÇÃO... 3 TÉCNICAS BASEADAS

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Arquiteturas RISC. (Reduced Instructions Set Computers)

Arquiteturas RISC. (Reduced Instructions Set Computers) Arquiteturas RISC (Reduced Instructions Set Computers) 1 INOVAÇÕES DESDE O SURGIMENTO DO COMPU- TADOR DE PROGRAMA ARMAZENADO (1950)! O conceito de família: desacoplamento da arquitetura de uma máquina

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

SO Sistemas Operacionais

SO Sistemas Operacionais GOVERNO DO ESTADO DO RIO DE JANEIRO FUNDAÇÃO DE APOIO A ESCOLA TÉCNICA ESCOLA TÉCNICA ESTADUAL REPÚBLICA SO Sistemas Operacionais Curso de Informática ETE REPÚBLICA - Rua Clarimundo de Melo, 847, Quintino

Leia mais

Hardware e Software das TI

Hardware e Software das TI Licenciatura em Gestão de Informação / Sistemas e Tecnologias de Informação Hardware e Software das TI Prof. Victor Lobo Prof. Roberto Henriques Hardware e Software das TI Sistemas Operativos 2 Sistema

Leia mais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema Sistemas Operacionais I Parte III Estrutura dos SOs Prof. Gregorio Perez gregorio@uninove.br 2007 Roteiro Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema

Leia mais

1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória cache.

1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória cache. Frequência II, 3 de Junho de 2011 Grupo A: Gestão de Memória (7 Valores) 1. Discute as vantagens e desvantagens dum sistema de memória paginada, indicando também a importância do sistema dispôr duma memória

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Uma visão de Intratabilidade, Classes P e NP - redução polinomial - NP-completos e NP-difíceis Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com http://www.bolinhabolinha.com

Leia mais

Programação Concorrente

Programação Concorrente Programação Concorrente Conceito de Programa e Execução Graduação em Ciência da Computação Universidade do Vale do Rio dos Sinos Prof. Gerson Cavalheiro Programação Paralela e Distribuída 2006 CC / UNISINOS

Leia mais

Introdução ao Javascript. Parte 2 Prof. Victor Hugo Lopes

Introdução ao Javascript. Parte 2 Prof. Victor Hugo Lopes Introdução ao Javascript Parte 2 Prof. Victor Hugo Lopes agenda Estruturas de comandos Modularização A primeira estrutura de comando da linguagem é baseada na noção da estrutura sequencial, no estilo top-down:

Leia mais

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho. Computação Paralela Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Outubro 2005 Desenvolvimento de Aplicações Paralelas Uma Metodologia

Leia mais

Programação Modular. Alessandro Garcia. DI/PUC-Rio Março 2013

Programação Modular. Alessandro Garcia. DI/PUC-Rio Março 2013 Programação Modular Alessandro Garcia DI/PUC-Rio Março 2013 Programação Modular Quem sou eu? Quem são vocês? Qual é o problema abordado no curso? Qual é o objetivo do curso Organização: aulas, avaliação

Leia mais

Implementação de um analisador léxico: a primeira etapa na construção do compilador Marvel

Implementação de um analisador léxico: a primeira etapa na construção do compilador Marvel Implementação de um analisador léxico: a primeira etapa na construção do compilador Marvel Cláudio Lopes (peso 0.3), Gildo Leonel (peso 0.3), Sérgio Rossini (peso 0.3) 1. Visão Geral Departamento de Ciência

Leia mais

a) Teste das funções do sistema com outros sistemas b) Teste de componentes que em conjunto compõem a função do sistema

a) Teste das funções do sistema com outros sistemas b) Teste de componentes que em conjunto compõem a função do sistema Simulado CTFL- BSTQB Tempo de duração: 60 minutos 1. Considerando as seguintes afirmações: I. 100% de cobertura de sentença (comando) garante 100% de cobertura de desvio II. 100% de cobertura de desvio

Leia mais

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão

Leia mais

Programação Estruturada Linguagem C

Programação Estruturada Linguagem C 2007 Programação Estruturada Linguagem C Fluxogramas Francisco Tesifom Munhoz CONTEÚDO Fluxograma... 3 Etapas para criação de um fluxograma:... 3 Símbolos utilizados para a construção do fluxograma:...

Leia mais

Testes de Caixa Branca e Caixa Preta

Testes de Caixa Branca e Caixa Preta Testes de Caixa Branca e Caixa Preta Prof. Pasteur Ottoni de Miranda Junior PUC Minas Disponível em www.pasteurjr.blogspot.com 1-Introdução É hábito costumeiro do programador terminar um programa e em

Leia mais

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C#

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# Robson Bartelli¹, Wyllian Fressatti¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil robson_lpbartelli@yahoo.com.br,wyllian@unipar.br

Leia mais

Testar os programas para estabelecer a presença de defeitos no sistema. Teste de Software. Teste de defeitos. Objetivos. Tópicos

Testar os programas para estabelecer a presença de defeitos no sistema. Teste de Software. Teste de defeitos. Objetivos. Tópicos Teste de defeitos Teste de Software Testar os programas para estabelecer a presença de defeitos no sistema Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Ian Sommerville 2000

Leia mais

Programação e Scheduling

Programação e Scheduling Sistemas de Processamento Paralelo: Programação e Scheduling Oliver Sinnen oliver.sinnen@inesc.pt Conteúdo Introdução Programação paralela Identificação de sub-tarefas Dependências Scheduling List Scheduling

Leia mais

Dispositivo que de alguma maneira descreve o comportamento do sistema

Dispositivo que de alguma maneira descreve o comportamento do sistema Sistema: Conceito primitivo (intuitivo) Tentativas de definição: Agregação ou montagem de coisas, combinadas pelo homem ou pela natureza de modo a formar um todo unificado. Grupo de itens interdependente

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Introdução a Teste de Software

Introdução a Teste de Software Introdução a Teste de Software T Arilo Cláudio Dias Neto (ariloclaudio@gmail.com) É Bacharel em Ciência da Computação formado na Universidade Federal do Amazonas, Mestre em Engenharia de Sistemas e Computação

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações

Leia mais

Técnicas de Teste de Software

Técnicas de Teste de Software Técnicas de Teste de Software Fabrício Sousa fabricio@uesb.br Projeto de Caso de Teste Conjunto de técnicas para criação de casos de testes Série de casos de testes que tem grande probabilidade de encontrar

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Workshop de Teste de Software. Visão Geral. Emerson Rios emersonrios@riosoft.org.br www.emersonrios.eti.br

Workshop de Teste de Software. Visão Geral. Emerson Rios emersonrios@riosoft.org.br www.emersonrios.eti.br Workshop de Teste de Software Visão Geral Emerson Rios emersonrios@riosoft.org.br www.emersonrios.eti.br 1 AGENDA DO CURSO Conceitos Básicos Documentação Processo Plano de Teste Caso de Teste BIBLIOGRAFIA

Leia mais

Identificação de Interesses Transversais: Uma Visão Geral

Identificação de Interesses Transversais: Uma Visão Geral Identificação de Interesses Transversais: Uma Visão Geral Paulo Afonso Parreira Júnior paulojunior@jatai.ufg.br 24 de Maio de 2013 Agenda Breve Histórico sobre Desenvolvimento de Software Separação de

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas

Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas Sistemas Distribuídos: Conceitos e Projeto Introdução a Tolerância a Falhas Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.ufma.br

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

Definindo melhor alguns conceitos

Definindo melhor alguns conceitos Definindo melhor alguns conceitos Processamento Paralelo: processamento de informação concorrente que pertencem a um ou mais processos que resolvem um único problema. Processamento Distribuído: processamento

Leia mais

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução Arquitetura e Organização de Computadores Capítulo 0 - Introdução POR QUE ESTUDAR ARQUITETURA DE COMPUTADORES? 2 https://www.cis.upenn.edu/~milom/cis501-fall12/ Entender para onde os computadores estão

Leia mais

Sua resposta deve conter entre 50 a 100 palavras, incluindo o exemplo.

Sua resposta deve conter entre 50 a 100 palavras, incluindo o exemplo. MT-1 Explique como efeitos colaterais podem levar a comportamentos indesejados em um programa. Apresente um exemplo. Sua resposta deve conter entre 50 a 100 palavras, incluindo o exemplo. Esboço de resposta:

Leia mais

Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java

Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java Uma Linguagem de Domínio Específico Baseada em Mônada com Suporte à Memória Transacional Distribuída em Java Jerônimo da Cunha Ramos Prof. Dr. André Rauber Du Bois (Orientador) Prof. Dr. Maurício Lima

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

Investigando aspectos da geração de novos produtos de software. Daniel Arcoverde (dfa@cin.ufpe.br)

Investigando aspectos da geração de novos produtos de software. Daniel Arcoverde (dfa@cin.ufpe.br) Investigando aspectos da geração de novos produtos de software Daniel Arcoverde (dfa@cin.ufpe.br) Estrutura Parte1. Inovação é igual em software? Parte 2. Processo de Desenvolvimento de Novos Produtos

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 4 - TESTE DE SOFTWARE 1. INTRODUÇÃO O teste do software é a investigação do software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui

Leia mais

VETORES. Lista de Exercícios Vetores e Matrizes Prof: Yuri Frota

VETORES. Lista de Exercícios Vetores e Matrizes Prof: Yuri Frota Lista de Exercícios Vetores e Matrizes Prof: Yuri Frota VETORES 1) Faça um programa em Fortran que leia um conjunto de 100 elementos numéricos e os armazene em um vetor. Em seguida, o programa deverá verificar

Leia mais

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/3 Como construir um compilador utilizando ferramentas Java Aula 5 Análise Léxica com JavaCC Prof. Márcio Delamaro delamaro@icmc.usp.br Como

Leia mais

Qualidade de Software

Qualidade de Software Qualidade de Software Introdução Qualidade é um dos principais objetivos da Engenharia de Software. Muitos métodos, técnicas e ferramentas são desenvolvidas para apoiar a produção com qualidade. Tem-se

Leia mais

Manual do Desenvolvedor Criptografia de Arquivos do WebTA

Manual do Desenvolvedor Criptografia de Arquivos do WebTA Manual do Desenvolvedor Criptografia de Arquivos do WebTA Versão 1.4 Índice 1. Objetivo..3 2. Processo..3 3. API de Criptografia - Biblioteca Java..4 3.1 WEBTACryptoUtil..4 3.1.1 decodekeyfile..4 3.1.2

Leia mais

Prof.: Gilberto Onodera

Prof.: Gilberto Onodera Automação de Sistemas Prof.: Gilberto Onodera Aula 21-maio maio-2007 Revisão Conceitos de Macro-economia: Globalização Objetivo: Entender os principais drivers de mercado Economia de escala Paradigma da

Leia mais

Sumário. Introdução...1. 2 Introdução ao IDE... 11. 3 Conceitos sobre a Linguagem C++ Builder... 17. 4 Projetos e Configurações de Ambiente...

Sumário. Introdução...1. 2 Introdução ao IDE... 11. 3 Conceitos sobre a Linguagem C++ Builder... 17. 4 Projetos e Configurações de Ambiente... Sumário Introdução...1 1 Fundamentos... 5 1.1 Linguagens de Programação... 5 1.1.1 Métodos de Implementação... 5 1.1.2 A Linkedição (Ligação)... 8 1.2 Ambientes Integrados de Desenvolvimento (Integrated

Leia mais

Sistemas Distribuídos 59. Sistemas Distribuídos 61. "Receive não-bloqueante:

Sistemas Distribuídos 59. Sistemas Distribuídos 61. Receive não-bloqueante: Comunicação entre processos! Memória Compartilhada: " os processo compartilham variáveis e trocam informações através do uso dessas variáveis compartilhadas COMUNICAÇÃO ENTRE PROCESSOS P1 Área Compartilhda!

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Processo de garantia da qualidade baseado no modelo MPS.BR. Acadêmico: Anildo Loos Orientador: Everaldo Artur Grahl

Processo de garantia da qualidade baseado no modelo MPS.BR. Acadêmico: Anildo Loos Orientador: Everaldo Artur Grahl Processo de garantia da qualidade baseado no modelo MPS.BR Acadêmico: Anildo Loos Orientador: Everaldo Artur Grahl Roteiro introdução objetivos do trabalho fundamentação teórica desenvolvimento da ferramenta

Leia mais

Teste de Software Estrutural ou Caixa Branca. Disciplina de Engenharia de Software prof. Andrey Ricardo Pimentel andreyrp@hotmail.

Teste de Software Estrutural ou Caixa Branca. Disciplina de Engenharia de Software prof. Andrey Ricardo Pimentel andreyrp@hotmail. Teste de Software Estrutural ou Caixa Branca Disciplina de Engenharia de Software prof. Andrey Ricardo Pimentel andreyrp@hotmail.com Contexto da Aula Introdução a ES Qualidade Métricas de Software Planejamento

Leia mais

O quê avaliação? Unidade IV - Avaliação de Interfaces. Quem deve avaliar um produto de software? Técnicas de Avaliação

O quê avaliação? Unidade IV - Avaliação de Interfaces. Quem deve avaliar um produto de software? Técnicas de Avaliação Unidade IV - Avaliação de Interfaces O quê avaliação? O quê avaliação? Técnicas de Avaliação Tipos de Avaliação com Usuários Paradigmas de avaliação com usuários Avaliação rápida e suja Testes de Usabilidade

Leia mais

Concorrência e Paralelismo

Concorrência e Paralelismo Concorrência e Paralelismo mleal@inf.puc-rio.br 1 Programação Concorrente e Paralela Na programação sequencial todas as instruções de um programa são executadas através de uma única linha de execução Na

Leia mais

Introdução a PHP (Estruturas de Controle)

Introdução a PHP (Estruturas de Controle) Desenvolvimento Web III Introdução a PHP () Prof. Mauro Lopes 1-31 13 Objetivos Nesta aula iremos trazer ainda alguns conceitos básicos da programação com a Linguagem PHP. Iremos trabalhar conceitos das

Leia mais

Computação Paralela. Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho

Computação Paralela. Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Computação Paralela Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Dezembro 2005 Fases de desenvolvimento de aplicações paralelas

Leia mais

Pratica JFlex. Prática criando o primeiro analisador léxico

Pratica JFlex. Prática criando o primeiro analisador léxico UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Pratica JFlex JFlex é uma ferramenta que permite

Leia mais

Programação Paralela em Ambientes Computacionais Heterogêneos com OpenCL

Programação Paralela em Ambientes Computacionais Heterogêneos com OpenCL Programação Paralela em Ambientes Computacionais Heterogêneos com OpenCL César L. B. Silveira Prof. Dr. Luiz G. da Silveira Jr. Prof. Dr. Gerson Geraldo H. Cavalheiro 28 de outubro de 2010 contato@v3d.com.br

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS MACHADO/MAIA: CAPÍTULO 07, PÁGINA 101 Prof. Pedro Luís Antonelli Anhanguera Educacional sistemas multiprogramáveis Os sistemas multiprogramáveis

Leia mais

Técnicas de Teste de Software

Técnicas de Teste de Software Técnicas de Teste de Software Luis Renato dos Santos FAES - UFPR 2011 Luis Renato dos Santos (FAES - UFPR) Técnicas de Teste de Software 2011 1 / 23 Sumário Introdução Fundamentos de Teste de Software

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta

Leia mais

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1

Engenharia de Software Introdução. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Engenharia de Software Introdução Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 1 Tópicos Apresentação da Disciplina A importância do Software Software Aplicações de Software Paradigmas

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

Universidade Federal da Paraíba

Universidade Federal da Paraíba Universidade Federal da Paraíba Mestrado em Informática Fora de Sede Universidade Tiradentes Aracaju - Sergipe Disciplina Sistemas Operacionais Professor Jacques Philippe Sauvé Aluno José Maria Rodrigues

Leia mais

Sistemas Operacionais Sincronização e Comunicação entre Processos

Sistemas Operacionais Sincronização e Comunicação entre Processos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Sincronização e Comunicação entre Processos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais

Disciplina de Introdução à Computação para Engenharia Ambiental

Disciplina de Introdução à Computação para Engenharia Ambiental USP - ICMC - SSC SSC 0301-2o. Semestre 2013 Prof. Dr. Fernando Santos Osório Disciplina de Introdução à Computação para Engenharia Ambiental LRM - Laboratório de Robótica Móvel do ICMC / CROB-SC Email:

Leia mais

Requisitos para testes de sistemas de informação baseados na WEB

Requisitos para testes de sistemas de informação baseados na WEB Requisitos para testes de sistemas de informação baseados na WEB Raphael Augusto F. S. de Oliveira 1, Rodolfo F. Resende 1 1 Departamento de Ciência da Computação Universidade Federal de Minas Gerais (UFMG)

Leia mais

Análise de ferramentas de teste automatizado de software

Análise de ferramentas de teste automatizado de software Análise de ferramentas de teste automatizado de software Thyago Peres Carvalho 1, Joslaine C. Jeske de Freitas 1 1 Universidade Federal de Goiás (UFG) Campus Jataí (CAJ) Caixa Postal 03 75.801-615 Jataí

Leia mais

Categorias de Padrões

Categorias de Padrões Categorias de Padrões Padrão Arquitetural ou Estilo Arquitetural Padrão de Design (Design Patterns) Idiomas Categorias de Padrões ESTILOS ARQUITETURAIS PADRÕES DE DESIGN IDIOMAS Padrões de Design Os subsistemas

Leia mais

Processo de Engenharia de Software II

Processo de Engenharia de Software II UNIOESTE - Universidade Estadual do Oeste do Paraná CCET Centro de ciências Exatas e Tecnológicas Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação Processo de Engenharia

Leia mais

Instituto de Ciências Matemáticas e de Computação ISSN - 0103-2585. INTRODUÇÃO AO TESTE DE SOFTWARE (Versão 2004-01) NOTAS DIDÁTICAS DO ICMC

Instituto de Ciências Matemáticas e de Computação ISSN - 0103-2585. INTRODUÇÃO AO TESTE DE SOFTWARE (Versão 2004-01) NOTAS DIDÁTICAS DO ICMC Instituto de Ciências Matemáticas e de Computação ISSN - 0103-2585 INTRODUÇÃO AO TESTE DE SOFTWARE (Versão 2004-01) José Carlos Maldonado Ellen Francine Barbosa Auri Marcelo Rizzo Vincenzi Márcio Eduardo

Leia mais

SSC510 Arquitetura de Computadores. 2ª aula

SSC510 Arquitetura de Computadores. 2ª aula SSC510 Arquitetura de Computadores 2ª aula PROFA. SARITA MAZZINI BRUSCHI CISC E RISC ARQUITETURA MIPS PIPELINE Arquitetura CISC CISC Complex Instruction Set Computer Computadores complexos devido a: Instruções

Leia mais

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto Conceitos de Linguagens de Roteiro: Apresentação do plano de ensino; Apresentação do plano de

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

Introdução ao Design

Introdução ao Design Introdução ao Design João Arthur e Guilherme Germoglio Coordenação de Pós-graduação em Informática - COPIN 16/10/2008 João Arthur e Guilherme Germoglio 1/ 33 Roteiro 1 Introdução Objetivos 2 Definições

Leia mais