...collaborate on
SumáriosAulas

T (2006.02.21): Apresentação da Disciplina. Introdução aos sistemas reactivos. Álgebras e Coalgebras. Tipos indutivos e coindutivos. Interação e comportamento. Comportamento dos autómatos determinísticos.

-- LuisSoaresBarbosa - 21 Feb 2006

Métodos de Programação IV

(Modelação e Cálculo de Sistemas Reactivos)

2005-2006


Responsável pela Disciplina

Aula Extra

Em substituição das aulas da semana 22-26, será realizada uma sessão de dúvidas/exercícios no dia 13 de Junho (terça-feira) às 14.30. Ponto de encontro na sala de atendimento do DI.

Questões a Abordar

  • Como se caracteriza o paradigma de computação reactivo e qual o interesse do seu estudo?
  • Como modelar sistemas reactivos e estudar a sua composicionalidade?
  • Em que condições dois sistemas reactivos podem ser considerados equivalentes ou similares?
  • Como captar as noções de mobilidade e reconfiguração dinâmica de sistemas reactivos?
  • Como analisar e prototipar modelos de sistemas reactivos?
  • Qual a relevância deste paradigma e cálculos associados para a Engenharia do Software?

Programa Resumido

  • Interação e Comportamento

a. Introdução aos sistemas reactivos. Noção de interacção e comportamento.
b. Caso 1: sequências infinitas (de acções) como tipo dos comportamento de autómatos determinísticos.
c. Noção de tipo coindutivo. Definição e prova por coindução. Cálculo de estruturas coindutivas. Comparação com os tipos indutivos.
d. Cálculo de sequências infinitas. Codificação em Haskell.
e. Caso 2: comportamento de autómatos não determinísticos e sistemas de transição de estados.
f. Definição de morfismo, simulação e bissimulação. Propriedades da bissimulação
g. Caso 3: dos autómatos aos processos.

  • Sistemas Reactivos
a. Estado, interação e concorrência. Noção de processo, traço e comportamento.
b. Operadores sobre processos. O cálculo CCS: sintaxe e semântica operacional.
c. Equivalência estrita, equivalência observacional e igualdade de processos. Leis.
d. Concorrência e não determinismo: o teorema da expansão.
e. Discussão de exemplos. Modelação e análise de problemas no CWB
f. Prototipagem funcional de sistemas reactivos

* Sistemas Reactivos com Mobilidade

a. Noção de mobilidade e reconfiguração dinâmica de processos. Exemplos e aplicações.
b. Introdução ao cálculo Pi: sintaxe, semântica.
c. Equivalências para processos móveis. Leis.
f. Discussão de exemplos. Modelação e análise de problemas no MWB

Roteiro das Lições

Sessões Laboratoriais

Bibliografia

  • Communicating and Mobile Processes: the Pi-Calculus, Robin Milner, Cambridge University Press, 1999. Trata-se do livro base para a disciplina. A primeira parte introduz o cálculo base de sistemas reactivos, popularizado sob a designação de Ccs, enquanto a segunda parte aborda o problema da mobilidade e reconfiguração dinâmica de sistemas, constituindo a referência base para o Pi-calculus.

  • Communication and Concurrency. Robin Milner,Prentice Hall (Hoare Series in Computer Science), 1989. Obra anterior do mesmo autor, é suficiente como introdução a Ccs, mas omissa no que concerne à mobilidade. Se consultar a primeira edição deste livro (1989), tenha à mão a seguinte errata (ps.gz)

  • The Pi-calculus: A theory of mobile processes, Sangiorgi, D. and Walker, D., Cambridge University Press, 2001.

  • An Introduction to the _Pi-calculus. J. Parrow, draft (ps.gz) de capítulo análogo no Handbook of Process Algebra, Elsevier, 2001.

  • O Concurrency Workbench será uma das ferramentas de suporte à disciplina. Neste site pode obter executáveis para Linux e Windows. Ao utilizar o CWB-NC, poderá ainda fazer uso do ccs2dot (tar.gz) paravisualização dos grafos de transição sobre GraphViz por alunos desta disciplina (João Ferreira, Alexandra Mendes e José Proença) em 2002-03.

  • Supõe-se familiaridade com a linguagem Haskell e com o cálculo de programas funcionais estudado em Métodos de Programação 1. A primeira parte do livro Algebra of Programming (R. Bird e O. de Moor, Prentice-Hall, 1997) é uma excelente introdução a esse cálculo.

Critérios de Avaliação

  • Componente Teórica (Exame): 70% (nota mínima de 8 valores)
  • Componente Prática: 30%
  • A componente prática da nota resulta da avaliação do desempenho nas aulas TP e da realização de uma Ficha de Trabalho, de resolução individual e fora do tempo lectivo, de acordo com o calendário seguinte:

Proposta Entrega Enunciado Informação Complementar
22 Abril 2006 29 Maio 2006 (pdf) (pdf)

Resultados da Avaliação (26 Julho 2006)

Classificações dos Exames, Prática e Nota Final (Época Normal) (pdf)

Classificações dos Exames, Prática e Nota Final (Época Recurso) (pdf)


-- LuisSoaresBarbosa - 26 Jul 2006

r39 - 11 Jul 2006 - 16:37:28 - LuisSoaresBarbosa
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Syndicate this site RSSATOM