Mapeamento de CSP em UML-RT

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

Download "Mapeamento de CSP em UML-RT"

Transcrição

1 Mapeamento de CSP em UML-RT

2 Características de UML-RT Cápsulas (como processos CSP) Classes ativas e independentes Comunicam-se entre si através de mensagens (sinais) Máquinas de estado modelam o comportamento da cápsula para cada ocorrência de sinal Podem ser: Fixas: criadas automaticamente quando o sistema é iniciado Opcionais ou Plug-in: criadas e destruídas em runtime q : Q P State of P a a.in / createcapsule(r); r : R a.in / removecapsule(r); Página 1

3 Características de UML-RT Cápsulas Fixas x Cápsulas Opcionais a q : Q P a.in / createinstance(r); r : R a.in / removeinstance(r); Cápsulas opcionais ativas comportam-se exatamente como cápsulas fixas Cápsulas opcionais inativas são apenas apontadores vazios Página 2

4 Características de UML-RT Portas (como canais CSP) Realizam protocolos Usadas para enviar ou receber mensagens de dados Podem ser: Wired: explicitamente conectadas a outras portas, através de conectores Unwired: conectadas dinamicamente, em runtime Protocolos Definem as regras de comunicação entre portas de um mesmo tipo Definem o tipo das mensagens que podem ser transmitidas ou aceitas pelas portas das cápsulas Página 3

5 Mensagens Podem ser: Características de UML-RT Assíncronas port.signal(data).send(); port.signal(data).send(priority.high); Síncronas (como alguns eventos CSP) port.signalin(data).invoke(); port.signalout(data).reply(); Página 4

6 Mapeamento de CSP em UML-RT Deve considerar: tipos de dados como classes básicas de negócio processos como cápsulas canais como portas de comunicação Parâmetros como atributos de cápsulas funções e expressões lógicas como expressões, métodos de cápsulas ou classes auxiliares Página 5

7 Mapeamento de CSP em UML-RT datatype X : x1 x2 X $ x1 : X $ x2 : X Datatype P(s) = a?x P(f(x)) f(x) = x + 1 Página 6

8 Mapeamento de Tipos de Dados datatype T = v0.. vn T $ v0 : T $ v1 : T datatype T = T1.T2 T x : T1 y : T2 getx() : T1 gety() : T2 Página 7

9 Mapeamento de Processos Processos são representados como cápsulas As transições da máquina de estados refletem os eventos do processo Comunicação entre cápsulas deve atender o modelo de comunicação de CSP a2 P P = a1?x a2!x Stop a1 S1 a1.in?x / a2.out!x; S2 S P Página 8

10 CSP possui Mapeamento do Modelo de Comunicação de CSP Modelo de comunicação síncrono Sincronização simples (2 processos em paralelo) Multi-sincronização (3 ou mais processos em paralelo) Causalidade entre eventos UML-RT possui Comunicação síncrona e assíncrona Semântica run-to-completion (um evento só ocorre após a conclusão do anterior) Página 9

11 Mapeamento do Modelo de Comunicação de CSP Mensagens síncronas de UML-RT são suficientes para implementar sincronismo simples P = a!{1,2,3} STOP Q = a?{1,2} STOP P {a} Q P a.request(1) true Q A semântica do operador de paralelismo foi atendida Página 10

12 Mapeamento do Modelo de Comunicação de CSP Mensagens síncronas de UML-RT não são suficientes para implementar multi-sincronismo de CSP P = a!{1,2,3} STOP Q = a?{1,2} STOP R = a?{2,3} STOP P {a} Q {a} R a.request(1) Q P true a.request(1) R A semântica do operador de paralelismo não foi atendida Página 11

13 Mapeamento do Modelo de Comunicação de CSP Mensagens síncronas de UML-RT não são suficientes para implementar multi-sincronismo de CSP P = a!{1,2,3} STOP Q = a?{1,2} STOP R = a?{2,3} STOP P {a} Q {a} R a.rollback a.request(1) Q P true a.request(1) R A semântica do operador de paralelismo foi atendida Página 12

14 Mapeamento do Modelo de Comunicação de CSP Mensagens síncronas de UML-RT não são suficientes para implementar multi-sincronismo de CSP P = a!{1,2,3} STOP Q = a?{1,2} STOP R = a?{2,3} STOP P {a} Q {a} R P a.commit a.request(2) true true a.request(2) a.commit A semântica do operador de paralelismo foi atendida Q R Página 13

15 Mapeamento do Modelo de Comunicação de CSP Por se tratar de uma regra de comunicação entre portas, podemos representar a causalidade entre eventos através de protocolos de comunicação Página 14

16 Mapeamento do Modelo de Comunicação de CSP Q = a?x:{1,2} -> STOP a Q Página 15

17 Mapeamento de Processos Operadores de CSP podem ser representados por cápsulas de controle, que contém outras cápsulas Ex: construa um modelo UML-RT a partir do código CSP abaixo channel a P = a?m:{1,2} -> P Q = a?m:{2,3} -> Q Parallel = P [ { a } ] Q Página 16

18 Mapeamento de Processos S 0 S c a.request?m /; a.commit / ap.commit!invoke(); aq.commit!invoke(); S Parallel a.rollback/ ap.rollback!invoke(); aq.rollback!invoke(); F T / a.agreement!reply(); locked a : ap : aq : Parallel p : P q : Q boolean r = False; rp = ap.request(m).invoke(); rq = aq.request(m).invoke(); if (rp == true and rq == true) { r = True; } else { if (rp == true) ap.rollback; if (rq == true) aq.rollback; r = False; } return r; Página 17

19 Mapeamento de Processos Em CSP, processos podem comportar-se como outros processos P = Q P = a -> (R[]W) P = a -> P\{a} Em UML-RT isto implicaria em cápsulas reaproveitarem ou serem substituídas por outras cápsulas UML-RT não admite recursão mútua entre cápsulas P = a -> Q Q = b -> P Página 18

20 Mapeamento de Processos A recursão mútua é resolvida por uma cápsula controladora, que contém as demais As cápsulas de processo: São sub-cápsulas opcionais de cápsula controladora Contém uma porta específica para informar novos comportamentos à cápsula controladora Página 19

21 Mapeamento de Processos Cápsula controladora deve: Receber as mensagens de dados enviadas pelo ambiente externo e repassá-las para as sub-cápsulas ativas. Receber as mensagens de novos comportamentos enviadas pelas sub-cápsulas ativas, e mudar sua configuração interna. Cápsula controladora interpreta o comportamento associado aos operadores de CSP P [ { a } ] Q P;Q STOP Página 20

22 Mapeamento da Semântica Comportamental P = a?x:{1,2} R Q = a?x:{2,3} W R = a?x P W = c?x Q SystemController = P [ { a } ] Q c : a : ap : bp : SystemController a : p : P b : aq : bq : a : q : Q b : ar: br : cw : bw : a : r : R b : c : w : W b : Página 21

23 Mapeamento da Semântica Comportamental bq.term?n / removecapsule(p); createcapsule(n); bp.term?n / removecapsule(q); createcapsule(n); S SystemController S c a.request?x / if (pref.status = active) ap.request(x).invoke(); if (qref.status = active) aq.request(x).invoke(); if (rref.status = active) ar.request(x).invoke(); c : a : ap : bp : a : p : P b : SystemController aq : bq : a : q : Q b : P [ { a } ] Q Página 22

24 Mapeamento da Semântica Comportamental br.term?n / removecapsule(r); createcapsule(n); bw.term?n / removecapsule(w); createcapsule(n); S SystemController S c c.request?x / if (wref.status = active) cw.request(x).invoke(); c : a : cr: br : a : r : R b : SystemController cw : bw : a : w : W b : R [ { a } ] W Página 23

25 Mapeamento de CSP em UML-RT Ferramenta para Geração automática de Modelos UML-RT Cria modelos UML-RT no Rose RealTime Expressões lógicas e funções não são traduzidas. É necessário codificá-las Disponível a partir da próxima aula Página 24

Diagramas de Package

Diagramas de Package 190 Diagramas de Package À medida que os sistemas software se tornam mais complexos e o número de classes aumenta: Torna-se difícil efectuar a gestão das diversas classes A identificação de uma classe

Leia mais

ALFABETO, PROCESSO, E OPERADORES BÁSICOS PARA PROJETO DE PROCESSOS. Alexandre Mota & Augusto Sampaio

ALFABETO, PROCESSO, E OPERADORES BÁSICOS PARA PROJETO DE PROCESSOS. Alexandre Mota & Augusto Sampaio EVENTO, COMUNICAÇÃO, ALFABETO, PROCESSO, E OPERADORES BÁSICOS PARA PROJETO DE PROCESSOS Alexandre Mota & Augusto Sampaio CSP Concebida por Tony Hoare [85] Atualizada por Bill Roscoe [97] para fins de automação

Leia mais

Diagramas de Interacção

Diagramas de Interacção 24 Diagramas de Interacção Sumário: Tipos de Diagramas de Interacção Interacções Diagramas de Comunicação conceitos base Diagramas de Sequência conceitos base Diagramas de Comunicação conceitos avançados

Leia mais

Programação Concorrente e Paralela

Programação Concorrente e Paralela projeto de programas paralelos 2016 PCAM problema particionamento comunicacao aglomeracao mapeamento desenhada para memória distribuída mas muitas idéias em comum Particionamento idéia é expor oportunidades

Leia mais

Diagrama de Sequência Notação Objetos. Diagrama de Sequência Notação Mensagens. Diagrama de Sequência Notação Mensagens. Tipos de Mensagens

Diagrama de Sequência Notação Objetos. Diagrama de Sequência Notação Mensagens. Diagrama de Sequência Notação Mensagens. Tipos de Mensagens Diagrama de Sequência Diagrama de Sequência Os diagramas de sequências enfatizam a perspectiva temporal Há dois tipos de utilização desse diagrama, dependendo da fase em que estamos Documentação dos casos

Leia mais

Desenvolvimento Rigoroso com UML-RT

Desenvolvimento Rigoroso com UML-RT LMF Grupo ForMULa Desenvolvimento Rigoroso com UML-RT Mestrando: Rodrigo Teixeira Ramos Orientador: Augusto Sampaio Co-Orientador: Alexandre Mota Agenda Introdução Motivação, Problema, Contribuição e Resultados

Leia mais

3. Transmissão de Sinais Digitais Transmissão de bits; Sincronismo. Redes de Comunicações/Computadores I. Secção de Redes de Comunicação de Dados

3. Transmissão de Sinais Digitais Transmissão de bits; Sincronismo. Redes de Comunicações/Computadores I. Secção de Redes de Comunicação de Dados 3. Transmissão de Sinais Digitais Transmissão de bits; Sincronismo. Redes de Comunicações/Computadores I Secção de Redes de Comunicação de Dados Introdução Informação a transmitir: Bit: unidade mínima

Leia mais

Existem muitas maneiras de modelar o paralelismo, algumas possibilidades são:

Existem muitas maneiras de modelar o paralelismo, algumas possibilidades são: Aula 3 Paralelismo e comunicação Normalmente um sistema informático será modelado por sistemas de transições que funcionam em sequência ou, mais frequentemente, em paralelo. T 1 T 2 T n Existem muitas

Leia mais

Processamento da Informação Estruturas de seleção simples e composta

Processamento da Informação Estruturas de seleção simples e composta Processamento da Informação Estruturas de seleção simples e composta Prof. Jesús P. Mena-Chalco CMCC/UFABC Q1/2017 1 Expressões Booleanas 2 Fonte: http://pt.wikipedia.org/wiki/george_boole Expressões Booleanas

Leia mais

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28 Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28 Tipos de Dados Dados Numéricos Números Inteiros: Int/Long Ponto Flutuante: Float Números Complexos: Complex

Leia mais

Nível da Arquitetura do Conjunto das Instruções

Nível da Arquitetura do Conjunto das Instruções Fluxo Seqüencial de Controle e Desvios (1) Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Fluxo

Leia mais

Variáveis Tipos de Dados. APROG (Civil) Aula 2

Variáveis Tipos de Dados. APROG (Civil) Aula 2 Variáveis Tipos de Dados APROG () Aula 2 Conteúdo Conceito de Variável Declaração de variáveis Tipos de Dados Operação de Atribuição Uso de Constantes 2 Variáveis Uma variável é uma localização de memória

Leia mais

Interações entre objetos

Interações entre objetos Interações entre objetos Interações entre Objetos Os serviços (casos de uso) são fornecidos através da colaboração de grupos de objetos Os objetos interagem através de comunicações Diagrama de Sequência

Leia mais

Modelagem Temporal com UML

Modelagem Temporal com UML Modelagem Temporal com UML! Tipo especial de diagrama de estados, onde são representados os estados de uma atividade, ao invés dos estados de um objeto.! Estados de Atividade: "Exemplo 1: passos de um

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Diagramas comportamentais UML Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo

Leia mais

são usados em protocolos de comunicação g : c?x receber uma mensagem pelo canal c e guardar na variável x.

são usados em protocolos de comunicação g : c?x receber uma mensagem pelo canal c e guardar na variável x. Aula 5 Comunicação por canais Um canal pode ser um buffer FIFO são usados em protocolos de comunicação um sistema de canais tem n processos P 1,..., P n, onde cada um tem um grafo P G i com transições

Leia mais

Message Passing Interface - MPI

Message Passing Interface - MPI Message Passing Interface - Pedro de Botelho Marcos Maio/2008 1 Sumário Introdução; Conceitos básicos; Comunicação; Principais rotinas; Compilando e executando códigos ; Exemplos; Referências; 2 Introdução

Leia mais

Diagrama de Sequência.

Diagrama de Sequência. Diagrama de Sequência Simone Sawasaki Tanaka simone.tanaka@unifil.br Diagrama de Sequência : U s ua rio Ob j eto 1: N om e da C la s s e Obje to 2 : N om e d a C las s e 3 : N o m e d a C las s e Eve nto

Leia mais

Sincronização e Comunicação entre Processos

Sincronização e Comunicação entre Processos Sincronização e Comunicação entre Processos Monitores/Semáforos Semáforos Mecanismos de sincronização nãoestruturados; Exige do desenvolvedor bastante cuidado, pois qualquer engano pode levar a problemas.

Leia mais

Variáveis Tipos de Dados

Variáveis Tipos de Dados Variáveis Tipos de Dados APROG () Aula 2 1 Conteúdo Conceito de Variável Declaração de variáveis Tipos de Dados Operação de Atribuição Uso de Constantes 2 2 Variáveis Uma variável é uma localização de

Leia mais

Modelagem Temporal com UML

Modelagem Temporal com UML Modelagem Temporal com UML! Tipo especial de diagrama de estados, onde são representados os estados de uma atividade, ao invés dos estados de um objeto.! Estados de Atividade: "Exemplo 1: passos de um

Leia mais

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

Análise de Sistemas 4º Bimestre (material 3) Análise de Sistemas 4º Bimestre (material 3) Permite a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como demonstrar como elas se relacionam, complementam

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.7. Funções 3.7.1. Introdução 3.7.2. Uso de

Leia mais

Diagrama de Atividade

Diagrama de Atividade Introdução o É semelhante aos fluxogramas; o É utilizado, para modelar atividades; o É formado por estados (que representam as atividades) e transições. Diagrama de Atividade o É associado a um Caso do

Leia mais

INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB

INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB TURMA 1 AULA 5 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB MINICURSO PET-POTÊNCIA 2016.1 RÔMULLO RANDELL MINICURSO PET-POTÊNCIA 2016.1 INTRODUÇÃO AO AMBIENTE DE PROGRAMAÇÃO MATLAB RÔMULLO RANDELL Turma

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/lp Expressões condicionais Scala tem uma expressão if-else para expressar escolha entre alternativas que se parece muito

Leia mais

REDES DE COMPUTADORES E A CAMADA FÍSICA

REDES DE COMPUTADORES E A CAMADA FÍSICA CENTRO FEDERAL DE ENSINO TECNOLÓGICO DE SANTA CATARINA UNADE DESCENTRALIZADA DE SÃO JOSÉ NÚCLEO DE TELECOMUNICAÇÕES REDES DE COMPUTADORES E A CAMADA FÍSICA CAPÍTULO 2 Conceitos em Comunicação de Dados

Leia mais

DIAGRAMA DE ESTADOS. g DIAGRAMA. g ESTADO. g TRANSIÇÃO ENTRE ESTADOS

DIAGRAMA DE ESTADOS. g DIAGRAMA. g ESTADO. g TRANSIÇÃO ENTRE ESTADOS DIAGRAMA DE ESTADOS g DIAGRAMA g ESTADO g TRANSIÇÃO ENTRE ESTADOS 1 I. DIAGRAMA DE ESTADOS g Um diagrama de estados é uma das formas de se visualizar uma máquina de estados g Máquinas de Estado permitem

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Prof.ª Danielle Casillo Diferentes computadores podem ter diferentes arquiteturas e os diversos tipos de linguagem de programação.

Leia mais

INSTITUTO FEDERAL CATARINENSE Campus Ibirama

INSTITUTO FEDERAL CATARINENSE Campus Ibirama INSTITUTO FEDERAL CATARINENSE Campus Ibirama Estruturas de Decisão Professor Eduardo Stahnke Estruturas de Decisão As estruturas de decisão são utilizadas quando existe a necessidade de verificar condições

Leia mais

Diagrama de Máquina de Estados

Diagrama de Máquina de Estados Análise e Projeto de Sistemas OO Diagrama de Máquina de Estados Demonstra o comportamento de um elemento através de um conjunto de transições de estado. Um Estado representa a situação em que um objeto

Leia mais

AULA ANTERIOR: MODELOS FUNDAMENTAIS

AULA ANTERIOR: MODELOS FUNDAMENTAIS AULA ANTERIOR: MODELOS FUNDAMENTAIS Modelos fundamentais de um sistema distribuído Permitem estabelecer quais as premissas existentes a respeito de aspetos chave. Permitem avaliar de forma objetiva as

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Introdução: Comunicação, e Coordenação março de 2015 Comunicação entre Processos troca de mensagens é sempre a primitiva básica sobre essa primitiva podemos construir outras visões da comunicação Mensagens

Leia mais

Introdução ao Fortran 90. Aula 3

Introdução ao Fortran 90. Aula 3 Introdução ao Fortran 90 Aula 3 Usando vetores e matrizes Definição Uma matriz ou vetor consiste de um conjunto retangular de elementos, todos do mesmo tipo e espécie do tipo. Uma matriz ou vetor é um

Leia mais

Diagrama de Seqüência

Diagrama de Seqüência Diagrama de Seqüência Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.2/es1 O que é? Diagrama criado para modelagem da interação entre objetos Detalha como objetos

Leia mais

Dinâmica dos Objetos

Dinâmica dos Objetos Dinâmica dos Objetos Dinâmica dos objetos Necessário desenvolver estudo sobre comportamento interno das classes Permitir a especificação da dinâmica i.e. a forma como os objetos de cada classe se comportam

Leia mais

Linguagens de Programação Aula 14

Linguagens de Programação Aula 14 Linguagens de Programação Aula 14 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Linguagem Haskell Funções Tipos básicos Expressões 2 Na aula de hoje Linguagem Haskell Listas 3 Listas e Tuplas

Leia mais

Aula 4 Estrutura Condicional

Aula 4 Estrutura Condicional Aula 4 Estrutura Condicional Relações e Exp. Booleanas Relações Operadores: >, =,

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec Sumário Sobre o autor...11 Estrutura deste Guia...12 Capítulo 1 Introdução à UML...13

Leia mais

Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I

Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I Pilhas e Filas Encadeadas Algoritmos e Estruturas de Dados I Pilha Lista linear: pilha Represente graficamente o funcionamento da pilha, representando a pilha vazia, a entrada e a saída de elementos Quais

Leia mais

Comunicação entre Processos

Comunicação entre Processos Comunicação entre Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Comunicação entre Processos n Características dos mecanismos de comunicação Comunicação direta ou indireta, sincronismos,

Leia mais

Threads em Java. Java Threads. Java Componentes: JVM JVM:

Threads em Java. Java Threads. Java Componentes: JVM JVM: Threads em Java (Aula 17) Java Threads Difícil de classificar com user thread ou kernel thread As threads Java são gerenciadas pela JVM. Threads em Java podem ser criadas das seguintes maneiras: Fazendo

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,

Leia mais

Cápsulas, Protocolos, portas e conexões em UML-RT

Cápsulas, Protocolos, portas e conexões em UML-RT Cápsulas, Protocolos, portas e conexões em UML-RT Classes Ativas Motivação Facilitar a introdução de conceitos de concorrência no projeto Abordagens já existentes: ROOM, UML-RT, EDOC Abstrair a implementação

Leia mais

DIAGRAMAS DE SEQUÊNCIA

DIAGRAMAS DE SEQUÊNCIA DIAGRAMAS DE SEQUÊNCIA Extraem-se dos UCs Martins 2008 112 DIAGRAMAS DE SEQUÊNCIA 1: withdrawmoney(amount) 2: balance = getbalance() Martins 2008 113 DIAGRAMAS DE SEQUÊNCIA simples síncrona assíncrona

Leia mais

(Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina

(Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina Verificação de Modelos (Model Checking) Estes slides são baseados nas notas de aula da Profa. Corina Cîrstea Agenda Lógica Temporal Lógica de Árvore de Computação (CTL) Verificação de Modelo do CTL Caminhos

Leia mais

BARRAMENTOS DO SISTEMA FELIPE G. TORRES

BARRAMENTOS DO SISTEMA FELIPE G. TORRES BARRAMENTOS DO SISTEMA FELIPE G. TORRES BARRAMENTOS DO SISTEMA Um computador consiste em CPU, memória e componentes de E/S, com um ou mais módulos de cada tipo. Esses componentes são interconectados de

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Paradigmas de Computação Paralela

Paradigmas de Computação Paralela Paradigmas de Computação Paralela Modelos e Linguagens de Computação Paralela João Luís Ferreira Sobral jls@... 1 Dezembro 2015 Razões para a computação paralela (cf. Skillicorn & Talia 1998) O mundo é

Leia mais

Codificação e transmissão de sinais digitais em banda básica

Codificação e transmissão de sinais digitais em banda básica Volnys B. Bernal (c) 1 Codificação e transmissão de sinais digitais em banda básica Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Volnys B. Bernal (c) 2 Agenda Codificação NRZ Transmissão

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas. SCC-502 Algoritmos e Estruturas de Dados I

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas. SCC-502 Algoritmos e Estruturas de Dados I Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas SCC-502 Algoritmos e Estruturas de Dados I Lista com nó de cabeçalho Nó de cabeçalho Header, sentinela, etc. Para que? Sentinela Beth

Leia mais

d) Defina uma função que copia (replica) um vector de inteiros, tendo o novo vector um tamanho dado como argumento.

d) Defina uma função que copia (replica) um vector de inteiros, tendo o novo vector um tamanho dado como argumento. IP, Resoluções comentadas, Semana 4 jrg, vs 002, Out-2012 a) Defina uma função que construa um vector com os números naturais até um dado número n. public static int[] naturais ( int n) { int v[] = new

Leia mais

Modelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese

Modelos Fundamentais. Introdução. Interação. Falhas. Segurança. Prof. Adriano Fiorese Modelos Fundamentais Introdução Interação Falhas Segurança 1 Introdução Como entender/classificar o comportamento de um sistema: Quais são as principais entidades do sistema? Como elas interagem? Quais

Leia mais

Fatec Ipiranga - Engenharia de Software I 18/02/2013. Agenda. 0. Relembrando os Relacionamentos do Diagrama de Classes

Fatec Ipiranga - Engenharia de Software I 18/02/2013. Agenda. 0. Relembrando os Relacionamentos do Diagrama de Classes Engenharia de Software I 3º. Semestre ADS Diagramas de Interação Enfoque Diagrama de Sequência Profa. Dra. Ana Paula Gonçalves Serra Agenda 0. Relembrando os Relacionamentos do Diagrama de Classes 2. Diagrama

Leia mais

Layout de integração com webservices de clientes. Serviço de autenticação do cooperado

Layout de integração com webservices de clientes. Serviço de autenticação do cooperado Layout de integração com webservices de clientes Serviço de autenticação do cooperado Alterações no documento Data Autor Assunto Descrição 11/09/2016 Geraldo Felix Junior Criação Criação do documento 26/06/2018

Leia mais

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1

Prof. A. G. Silva. 28 de agosto de Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de / 1 INE5603 Introdução à POO Prof. A. G. Silva 28 de agosto de 2017 Prof. A. G. Silva INE5603 Introdução à POO 28 de agosto de 2017 1 / 1 Comandos de decisão simples e compostas Objetivos: Utilização de controles

Leia mais

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma

Leia mais

Programação de Sistemas em Tempo Real

Programação de Sistemas em Tempo Real BCC722 Programação de Sistemas em Tempo Real Processos Prof. Charles Garrocho O conceito de processo Um S.O. executa uma variedade de programas Sistemas de tempo compartilhado: programas Processo: um programa

Leia mais

Módulo 08 Codificação de Sinais em Banda Básica Página 1. Redes. Volnys B. Bernal Versão de 6/13/2001. Agenda

Módulo 08 Codificação de Sinais em Banda Básica Página 1. Redes. Volnys B. Bernal Versão de 6/13/2001. Agenda Módulo 08 de Sinais em Banda Básica Página 1 Volnys B. Bernal (c) 1 Volnys B. Bernal (c) 2 Agenda e transmissão de sinais digitais em banda básica Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.

Leia mais

Organização de Computadores

Organização de Computadores Organização de Computadores Aula 19 Barramentos: Estruturas de Interconexão Rodrigo Hausen 14 de outubro de 2011 http://cuco.pro.br/ach2034 1/40 Apresentação 1. Bases Teóricas 2. Organização de computadores

Leia mais

Revisão: Projeto e síntese de Circuitos Digitais em FPGA

Revisão: Projeto e síntese de Circuitos Digitais em FPGA Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Revisão: Projeto e síntese de Circuitos Digitais em FPGA DCA0119 Sistemas Digitais Heitor Medeiros Florencio

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Padrão MIDI. Fundamentos Multimídia. Professora: Débora. Aluno: Marco Silva

Padrão MIDI. Fundamentos Multimídia. Professora: Débora. Aluno: Marco Silva Padrão MIDI Fundamentos Multimídia Professora: Débora Aluno: Marco Silva Introdução MIDI Musical Instrument Digital Interface. Protótipo apresentado por Dave Smith na convenção da AES de 1981 (USI - Universal

Leia mais

Programação Paralela por Passagem de Mensagens

Programação Paralela por Passagem de Mensagens de Mensagens Arquitecturas Paralelas 1 Luís Paulo Peixoto dos Santos Processos Sequenciais Comunicantes A computação paralela consiste em vários processos sequenciais, com o seu espaço de endereçamento

Leia mais

Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes Árvores Fabrício J. Barth BandTec - Faculdade de Tecnologia Bandeirantes Setembro de 2011 Tópicos Introdução Árvores binárias Implementação em Java Ordens de percurso em árvores binárias Altura de uma

Leia mais

//conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D { public: Ponto2D (float, float); void setx

//conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D { public: Ponto2D (float, float); void setx //conteúdo do arquivo ponto2dcirculo.h #ifndef PONTO2DCIRCULO_H #define PONTO2DCIRCULO_H class Ponto2D public: Ponto2D (float, float); void setx (float); void sety (float); float getx (); float gety ();

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language CONTEÚDO PROGRAMÁTICO UML - Unified Modeling Language Carga horária: 24 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO 1

Leia mais

Programação Concorrente. Prof. Hugo Vieira Neto

Programação Concorrente. Prof. Hugo Vieira Neto Programação Concorrente Prof. Hugo Vieira Neto Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas

Leia mais

Aula 8. Multiplexadores. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Aula 8. Multiplexadores. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira Aula 8 Multiplexadores SEL 44 - Sistemas Digitais Prof. Dr. Marcelo Andrade da Costa Vieira 4. Circuitos Multiplexadores l Circuitos seletores de dados ; l Chave seletora digital; l Seleciona um dos diversos

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando

Leia mais

Codificação de Linha

Codificação de Linha Codificação de Linha Conhecer os diversos métodos de codificação de linha para transmissão digital. Chamamos de transmissão digital o envio de sinais digitais do computador diretamente na linha de transmissão

Leia mais

Modelagem de Sistemas

Modelagem de Sistemas Lista de Exercícios AV1 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Que evento influenciou no surgimento da Engenharia de Software e qual a sua finalidade? Questão 1 Resposta Que evento

Leia mais

Comunicação de Dados. Comunicação de Dados

Comunicação de Dados. Comunicação de Dados Comunicação de Dados 1 Comunicação de Dados Paralela utiliza n linhas e sinal de strobe alto desempenho Serial utiliza 1 linha de dado; requer sincronismo Síncrona: transmissor e receptor utilizam o mesmo

Leia mais

Modelagem Dinâmica. Toda a ação é designada em termos do fim que procura atingir. Niccolo Maquiavel. O pensamento é o ensaio da ação.

Modelagem Dinâmica. Toda a ação é designada em termos do fim que procura atingir. Niccolo Maquiavel. O pensamento é o ensaio da ação. Modelagem Dinâmica Toda a ação é designada em termos do fim que procura atingir. Niccolo Maquiavel O pensamento é o ensaio da ação. Sigmund Freud Modelagem Dinâmica Identifica e modela os aspectos do sistema

Leia mais

Processamento da Informação Teoria. Desvio Condicional

Processamento da Informação Teoria. Desvio Condicional Processamento da Informação Teoria Desvio Condicional Semana 03 Prof. Jesús P. Mena-Chalco 08/05/2013 Operador módulo O operador módulo trabalha com inteiros e produz o resto quando o primeiro operando

Leia mais

ANÁLISE DE SISTEMAS. Diagrama de atividades. por. Antônio Maurício Pitangueira

ANÁLISE DE SISTEMAS. Diagrama de atividades. por. Antônio Maurício Pitangueira ANÁLISE DE SISTEMAS Diagrama de atividades por Antônio Maurício Pitangueira 1 Diagrama de atividade Há diversos diagramas da UML que descrevem os aspectos dinâmicos de um sistema. diagramas de estados,

Leia mais

Diagrama de Atividades. Professor: André Gustavo Bastos Lima

Diagrama de Atividades. Professor: André Gustavo Bastos Lima UML Unified Modeling Language Diagrama de Atividades Professor: André Gustavo Bastos Lima Diagrama de Atividades Representação de fluxo de atividades seqüenciais i e concorrentes; Ênfase na transferência

Leia mais

Filas Implementação Sequencial

Filas Implementação Sequencial SCE 202 182 Algoritmos e Estruturas de Dados I Filas Implementação Sequencial Conceito Coleção ordenada de itens (lista ordenada) em que a inserção de um novo item se dá em um dos lados no fim e a remoção

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 2 A Modelagem Dinâmica Diagramas de Interação Diagrama de Seqüência 1 Programa

Leia mais

Organização e Arquitetura de Computadores

Organização e Arquitetura de Computadores Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Organização e Arquitetura de

Leia mais

PCS3413 Engenharia de Software e Banco de Dados

PCS3413 Engenharia de Software e Banco de Dados PCS3413 Engenharia de Software e Banco de Dados Aula 7 Escola Politécnica da Universidade de São Paulo 1 Diagramas de Interação Diagramas de Sequência Diagrama de Comunicação 2 Solange N. A. de Souza Principais

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 04 Programa Recursivo e Máquinas Prof.ª Danielle Casillo Funções recursivas Alguma função é recursiva quando

Leia mais

Python: Recursão. Claudio Esperança

Python: Recursão. Claudio Esperança Python: Recursão Claudio Esperança Recursão É um princípio muito poderoso para construção de algoritmos A solução de um problema é dividido em Casos simples: São aqueles que podem ser resolvidos trivialmente

Leia mais

Análise e Modelação de Sistemas

Análise e Modelação de Sistemas Análise e de Sistemas Classe T09 comportamental: Diagramas de estado Referências: Conceptual Modeling of Informa;on Systems (Chapter 13) Aulas AMS do IST 2 comportamental em UML Comportamento baseado em

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

Aula 03 Introdução à Programação com a Linguagem Python

Aula 03 Introdução à Programação com a Linguagem Python Aula 03 Introdução à Programação com a Linguagem Python Gilberto Ribeiro de Queiroz Thales Sehn Körting Fabiano Morelli 26 de Março de 2018 Tópicos Tipo Lógico e Operadores Lógicos. Operadores Relacionais.

Leia mais

Aula 3. CCS: Calculus of Communicating Processes M ilnerrobinmilner( )

Aula 3. CCS: Calculus of Communicating Processes   M ilnerrobinmilner( ) Aula 3 CCS: Calculus of Communicating Processes https://en.wikipedia.org/wiki/robin M ilnerrobinmilner(1934 2010) http://www.diffusion.ens.fr/data/audio/2007 1 2 1 0 m ilner.mp3isinformaticsascience? CCS:Calculus

Leia mais

exercício 1 Piscar o LED a cada 1 segundo Parar ao pressionar o botão, mantendo o LED aceso para sempre Programa interativo!

exercício 1 Piscar o LED a cada 1 segundo Parar ao pressionar o botão, mantendo o LED aceso para sempre Programa interativo! Concorrência exercício 1 Piscar o LED a cada 1 segundo Parar ao pressionar o botão, mantendo o LED aceso para sempre void loop () { delay(1000); digitalwrite(led_pin, LOW); delay(1000); int but = digitalread(but_pin);

Leia mais

INF Semântica formal N

INF Semântica formal N INF05516 - Semântica formal N Ciência da Computação - UFRGS 2006-2 Marcus Ritt mrpritt@inf.ufrgs.br 23/08/2006 Introdução 2 Agenda............................................................... 3 Semântica

Leia mais

Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Aula 08 Relacionamento entre Objetos. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes Aula 08 Relacionamento entre Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Antes de Iniciar... Vamos aprender um pouco de modelagem

Leia mais

Linguagem UML. Linguagem de Modelagem Unificada UML. Diagramas de Comportamento Parte 2. Rosemary Silveira Filgueiras Melo

Linguagem UML. Linguagem de Modelagem Unificada UML. Diagramas de Comportamento Parte 2. Rosemary Silveira Filgueiras Melo Linguagem de Modelagem Unificada UML Diagramas de Comportamento Parte 2 Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Diagramas tripé da Análise Diagramas de Sequência Diagramas

Leia mais

Aula 01 Algoritmos e lógica de programação e introdução ao C++

Aula 01 Algoritmos e lógica de programação e introdução ao C++ Aula 01 Algoritmos e lógica de programação e introdução ao C++ Autor: Max Rodrigues Marques Carga Horária: 2h 21 de julho de 2015 1 Algoritmo e lógica de programação Ementa do curso 1. Definições de algoritmo

Leia mais

Compiladores. Análise Sintática

Compiladores. Análise Sintática Compiladores Análise Sintática Cristiano Lehrer, M.Sc. Introdução (1/3) A análise sintática constitui a segunda fase de um tradutor. Sua função é verificar se as construções usadas no programa estão gramaticalmente

Leia mais

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo

Linguagem Python. Inteligência Artificial. Características de Python. Importando módulos. Módulos. Usando Python no modo interativo Linguagem Python Inteligência Artificial Aula 7 Profª Bianca Zadrozny http://www.ic.uff.br/~bianca/ia Introdução Características de Python Rodando programas Módulos Tipos básicos Números e variáveis Strings

Leia mais

08/08/2016. Metodologia de trabalho Sistema de notas Trabalhos Artigos Celulares Presença Entrega de trabalhos Uso de laboratório

08/08/2016. Metodologia de trabalho Sistema de notas Trabalhos Artigos Celulares Presença Entrega de trabalhos Uso de laboratório Prof. Richard Brosler richard.brosler@aedu.com Metodologia de trabalho Sistema de notas Trabalhos Artigos Celulares Presença Entrega de trabalhos Uso de laboratório Introdução à Programação Concorrente

Leia mais

Sistemas Distribuídos Aula 2

Sistemas Distribuídos Aula 2 Sistemas Distribuídos Aula 2 Aula passada Logísitica Regras do jogo Definição e características Exemplos Aula de hoje Processos IPC Características Ex. sinais, pipes, sockets Objetivos Processos O que

Leia mais