Sistemas Distribuídos › 40814

código no paco
40814
área científica
Informática / Arquitetura dos Sistemas Computacionais
créditos
6
escolaridade
ensino teórico (T) - 2 horas/semana
ensino prático e laboratorial (PL) - 2 horas/semana
idioma(s) de lecionação
a inserir brevemente
objectivos

O seu objectivo principal é introduzir os alunos aos princípios e à prática subjacente ao projecto de sistemas distribuídos, apresentando os conceitos mais importantes relativos à sua implementação. São particularmente explorados diferentes paradigmas de comunicação e de sincronização.

Pretende-se especificamente promover

  • a compreensão dos problemas principais que envolvem o projecto de sistemas distribuídos;
  • a capacidade de desenvolvimento de aplicações distribuídas simples;
  • a familiarização com o ambiente de programação distribuída em Java.
competências
  • promover uma boa compreensão dos problemas principais que envolvem a concepção de sistemas distribuídos;

  • desenvolver a capacidade de projecto de aplicações distribuídas simples;

  • familiarizar os alunos com a funcionalidade do ambiente de programação distribuída em Java.

conteúdos
  1. Introdução ao Java

    Organização geral da linguagem

    Sua caracterização em termos do paradigma orientado por objectos e do modelo de concorrência

  2. Sistemas Distribuídos

    Panorâmica geral

  3. Modelos de Sistema

    Modelos arquitecturais

    Modelos fundamentais

  4. Comunicação e sincronização entre processos

    Comunicação por passagem de mensagens

    Invocação de métodos sobre objectos remostos

  5. Modelos cliente-servidor

    Sua caracterização

    O problema da migração de código

  6. Modelos de comunicação em grupo

    Sincronização e exclusão mútua distribuídas

    Algoritmos electivos

    Transacções distribuídas

  7. Consistência e replicação

    Modelos de consistência centrados nos dados

    Modelos de consistência centrados nos clientes

    Protocolos

  8. Segurança

    Conceitos introdutórios

    Canais seguros

    Controlo de acesso

    Gestão da segurança

avaliação
  1. A classificação final da disciplina é determinada pela média pesada das notas obtidas em dois tipos de avaliação

    avaliação teórica: 50%

    avaliação prática: 50%.

  2. A avaliação teórica é constituída pelo exame escrito final.

  3. A avaliação prática é formada por três provas obrigatórias e uma optativa

    trabalho 1: 33%

    trabalho 2: 33%

    trabalho 3: 33%

    trabalho 4: valorização para av. prática > 16.

  4. O processo de avaliação dos trabalhos práticos supõe uma análise do código submetido para verificação do cumprimento das especificações e um interrogatório aos elementos do grupo sobre questões relativas à sua implementação.

  5. A aprovação na disciplina supõe a satisfação em simultâneo das condições seguintes

    - avaliação prática >= 8,5

    - avaliação teórica >= 8,5

    - média pesada das notas das duas avaliações >= 10.

requisitos

Tem os pré-requisitos seguintes

  • conhecimentos gerais sobre sistemas de operação e ambientes multiprogramados;

  • noções sobre a aplicação do paradigma orientado por objectos à decomposição de soluções;

  • domínio da programação sequencial e algumas noções de programação concorrente.

     

metodologia
O objectivo das aulas teóricas é a apresentação de tópicos específicos da matéria da disciplina. A abordagem seguida pressupõe quase sempre uma metodologia de participação directa dos alunos na discussão, procurando desenvolver competências de raciocínio crítico e de aprendizagem de técnicas gerais de resolução de problemas.

As aulas práticas implementam uma filosofia do saber fazer e estão organizadas em duas partes. Na primeira, constituída pelas quatro primeiras aulas e destinada à familiarização dos alunos com o Java, é proposto um conjunto de problemas cuja resolução é analisada e discutida nas aulas teóricas à medida que os conceitos base da linguagem são introduzidos. Na segunda, constituída pelas aulas restantes, é proposto um problema geral e são efectuadas diferentes implementações que irão constituir os trabalhos sujeitos a avaliação. Os grupos são formados por dois alunos.

Tema geral do trabalho 1: Implementação puramente concorrente por variáveis partilhadas (executada num único sistema computacional).

Tema geral do trabalho 2: Implementação distribuída comunicando por passagem de mensagens (executada numa rede com pelo menos dois sistemas computacionais).

Tema geral do trabalho 3: Implementação distribuída comunicando por variáveis partilhadas (executada numa rede com pelo menos dois sistemas computacionais).

bibliografia base
Distributed Systems – Principles and Paradigms, Tanenbaum A.S. e Steen M.v., Pearson Education Int. / Prentice Hall Distributed Systems – Concepts and Design, Coulouris G., Dollimore J. e Kindberg T., Addison Wesley / Pearson Education Ltd The Java Language Specification, Gosling J., Joy B., Steele G. e Bracha G., Addison Wesley, 3rd Editon
bibliografia recomendada

Principal

Distributed Systems - Principles and Paradigms, Tanenbaum A.S. e Steen M.v., Pearson Education International / Prentice Hall, 2002

Distributed Systems - Concepts and Design, Coulouris G., Dollimore J. e Kindberg T., Addison Wesley / Pearson Education Ltd, 2001

The Java Language Specification, Gosling J., Joy B., Steele G. e Bracha G., Addison Wesley, 3rd Editon, 2005

 

Apoio

Java - How to Program, Deitel H.M. e Deitel P.J., Pearson Education International / Prentice Hall, 6th Editon, 2005

Documentação on-line de apoio ao ambiente de desenvolvimento de programas em Java fornecida pela Sun Microsystems Inc (Java 2 JDK Standard Edition 6)

Este sítio web utiliza cookies sem recolher informação pessoal que permita a identificação dos utilizadores. Ao navegar neste sítio está a consentir a sua utilização.saber mais
Para que esta página funcione corretamente deve ativar a execução de Javascript. Se tal não for possível, algumas funcionalidades poderão estar limitadas.