Plano de Estudos
Programação em Sistemas Distribuídos PSDis
Contextos
Groupo: 2_MI 2012/13 > 2º Ciclo > Parte Escolar > - > Optativas > 892_1º Sem do Mestrado em Informática
Groupo: 2_MI 2012/13 > 2º Ciclo > Parte Escolar > - > Optativas > 788_Mestrado em Informática - OSC
ECTS
6.0 (para cálculo da média)
Objectivos
Obter uma visão de conjunto acerca das arquitecturas e modelos para a construção e programação de sistemas distribuídos, interiorizando conceitos, paradigmas e serviços fundamentais dos SDs, adquirindo capacidades para decidir da aplicabilidade das principais arquitecturas e modelos de SDS e dominando as principais técnicas de programação em SDs. PSD é uma disciplina de fecho da aprendizagem inicial nas matérias de Organização de Sistemas Computacionais, onde o estudante adquire uma visão holística de projecto de sistemas distribuídos, que lhe permitirá resolver problemas concretos pela aplicação selectiva das noções aprendidas anteriormente. As competências adquiridas com a disciplina consistem em: a consolidação do conhecimento dos fundamentos, paradigmas principais e serviços de sistemas distribuídos; a capacidade de decidir a aplicabilidade das arquitecturas e modelos disponíveis, a situações diversas; o domínio das diversas técnicas de programação em sistemas distribuídos.
Programa
Introdução à Programação em Sistemas Distribuídos. Complementos de Paradigmas dos SDs. Serviços Evoluídos de SDs. Modelos de programação em ambientes distribuídos. Sistemas e plataformas distribuídas. Estudo de caso.
Método de Avaliação
* Aulas teóricas: exposição dos temas do curso. * Sessões teórico-práticas: exposição de material com mais detalhes (por exemplo, protocolos ou pacote de interfaces ou internos), e permitir um conhecimento mais profundo e prático sobre esses temas. * Sessões de laboratório incluídas nas sessões TP: têm por objectivo permitir ao aluno trabalhar nos projectos. 40% - Projecto e Trabalhos 05% - Participação nas aulas 55% - Exame final Eliminatório: Exame Final, Projecto e Trabalhos * Projecto e Trabalhos práticos Conjunto de estudos de papel e caneta e um projecto em várias fases, distribuídos ao longo do semestre. * Participação em classe e regularidade Participação activa e a contribuição para os debates estão previstos e serão consideradas. * Exame Final é um exame de 2,5 horas e abrangente.
Carga Horária
Carga Horária de Contacto -
Trabalho Autónomo - 119.0
Carga Total -
Bibliografia
Principal
- P. Veríssimo and L. Rodrigues, Distributed Systems for System Architects, Kluwer Academic Publishers, 2001.G. Coulouris, J. Dollimore and T. Kindberg, Distributed Systems - Concepts and Design, 3rd Ed., Addison-Wesley, 2002:
Secundária
- A. Tanenbaum, M. Steen. Distributed Systems Principles and Paradigms, Prentice Hall, 2nd ed, 2007. G. Brose, A. Vogel, K Duddy. Java Programming with CORBA, Wiley, 3rd ed, 2001. Ciaran McHale. CORBA Explained Simply, http://www.ciaranmchale.com/, 2007. Reading Modules Module 3 - A. Tanenbaum, M. Steen. Distributed Systems Principles and Paradigms. pp.576-603, "NFS - Network File system"Module 4 - G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems - Concepts and Design, 5th Ed. pp.548-562, "AFS - Andrew File system"Module 5 - A. Tanenbaum, M. Steen. Distributed Systems Principles and Paradigms. pp.795-802, "CODA File system"Module 6 - G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems - Concepts and Design, 5th Ed. pp.915-964, "Google Architecture (PageRank, GFS, Chubby, BigTable, MapReduce"Module 7 - Wikipedia, http://en.wikipedia.org/wiki/Ceph. "Ceph File System"Module 8 - WIkipedia, http://en.wikipedia.org/wiki/Network_Time_Protocol. "NTP - Network Time Protocol"Module 9 - G. Coulouris, J. Dollimore, T. Kindberg. Distributed Systems - Concepts and Design, 5th Ed. pp.217-225, "Java RMI"Module 10 - A. Tanenbaum, M. Steen. Distributed Systems Principles and Paradigms. pp.494-525, "CORBA"Module 16 - Wikipedia, http://en.wikipedia.org/wiki/Apache_Hadoop. "Apache Hadoop MapReduce and File System"Module 17 - Wikipedia, http://en.wikipedia.org/wiki/Tuxedo_%28software%29 . "Tuxedo Transactional Middleware Platform":