Especificação Algébrica

área científica
Matemática
créditos
8
escolaridade
ensino teórico-prático (TP) - 3 horas/semana
idioma(s) de lecionação
a inserir brevemente
objectivos

A especificação algébrica de programas consiste e, modelar sistemas computacionais por álgebras, com a consequente abstracção dos detalhes concretos dos algoritmos e do código, dando assim maior ênfase ao seu comportamento funcional. Na sua origem, a especificação algébrica considerou-se intimamente ligada à lógica equacional, no entanto, várias extensões têm sido desenvolvidas, como por exemplo, a lógica equacional-condicional. Grande parte do trabalho nesta área centra-se em conceitos e metodologias, investigando diversas noções relacionadas com a estrutura, implementação e refinamento e, definindo linguagens de especificação. Para distinguir o trabalho envolvendo estes conceitos dos formalismos de especificação, Goguen e Burstall criaram a noção de instituição. Esta noção tem sido relevante no desenvolvimento recente desta área.    

O objectivo desta disciplina é estudar os fundamentos matemáticos para a especificação formal de programas, suportados em ideias motivadas por questões práticas, desenvolvendo os conceitos essenciais e as suas propriedades fundamentais.           

        

competências
Capacidade de utilizar as ferramentas da Álgebra Universal na especificação algébrica de sistemas computacionais, nomeadamente aptidão na especificação de tipos abstractos de dados e na definição de estratégias eficientes para a resolução de problemas práticos.
conteúdos

Álgebra Universal: álgebras; homomorfismos e congruências; construções algébricas; álgebra livre; cálculo equacional e Teorema de Birkhoff.

Especificação de tipos abstractos de dados: semântica livre e equivalência comportamental. 

Operações básicas para construção de especificações.

Instituições: especificações numa instituição arbitrária.

 

avaliação

Época normal.

Avaliação Mista

  • Exame final - 60 %
  • Trabalhos de pesquisa e resolução de exercícios (apresentados aos colegas e com discussão) - 40%

Os alunos com estatuto especial serão avaliados apenas por exame escrito a realizar na época de exames. Caso pretendam submeter-se à avaliação mista devem, até dia 15 de Outubro, manifestar por escrito essa intenção.


Outras épocas.

Qualquer outro momento de avaliação consistirá apenas num exame escrito.

requisitos

Estruturas Algébricas

Estruturas de Dados e Programação

metodologia
USUAL
bibliografia base
Foundations of Algebraic Specifications and Formal Program DevelopmentD. Sannella and A. Tarlecki. In print.
bibliografia recomendada

Bibliografia base:

Foundations of Algebraic Specifications and Formal Program DevelopmentD. Sannella and A. Tarlecki. In print.

Bibliografia recomendada:

E. Astesiano, H.-J. Kreowski, and B. Krieg-Brückner, editors. Algebraic foundations of systems specification. IFIP State-of-the-Art Reports.Springer-Verlag,Berlin, 1999.

H. Ehrig and B. Mahr. Fundamentals of algebraic specification 1. Equations and initial semantics. EATCS. Monographs on Theoretical Computer Science, 6.Berlin: Springer-Verlag, 1985.

J. Goguen and G. Malcolm. Algebraic semantics of imperative programs.
MIT Press Series in the Foundations of Computing.Cambridge, 1996.

J. Loeckx, H.-D. Ehrich, and M. Wolf. Algebraic specification of abstract data types. In Handbook of logic in computer science, Vol. 5, Oxford Sci. Publ., pages 217--316.OxfordUniv.Press,New York, 2000.

K. Meinke and J. V. Tucker. Universal algebra. In Handbook of logic in computer science, volume 1 of Handb. Log. Comput. Sci., pages 189--411.OxfordUniv.Press,New York, 1992.

D. Sannella and A. Tarlecki. Foundations of Algebraic Specifications and Formal Program Development. An EATCS Series. Springer, 2011. 

W. Wechler. Universal algebra for computer scientists. EATCS Monographs on Theoretical Computer Science. 25. Berlin: Springer-Verlag, 1992.

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.