Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Master
SUBJECT

Code	Subject	
MA264	Algebraic Specification	

Section	Semester	Hours: C+S+L	Category	Type	
Formals Methods in Programming - in English	1	2+2+0		compulsory	

Teaching Staff in Charge	Assoc.Prof. CRIVEI Septimiu, Ph.D., crivei@math.ubbcluj.ro	
Aims	The aim of the course is to give an approach to algebraic specification, verification and formal development. Students will learn how to write algebraic specifications and how to use them in developing software systems.	
Content	1. Universal algebras, homomorphisms, congruences.
2. Signatures, terms.
3. Quotient term algebras.
4. Correctness.
5. Categories and functors.
6. Parametrized specifications.
7. CASL (Common Algebraic Specification Language). 
	
Bibliography	1. M. Bidoit, P. Mosses, CASL User Manual, Introduction to Using the Common Algebraic Specification Language, Lecture Notes in Computer Science, Springer-Verlag, 2004.
2. S. Crivei, Basic Abstract Algebra, Editura Casa Cartii de Stiinta, Cluj-Napoca, 2003.
3. H. Ehrig, B. Mahr, Fundamentals of Algebraic Specification I, Springer-Verlag, Berlin, 1985.
4. J. Loeckx, H.-D. Ehrich, M. Wolf: Specification of Abstract Data Types, Wiley/Teubner, 1996.
5. http://www.brics.dk/Projects/CoFI/
	
Assessment	Presentation (2/3 of the grade), test paper (1/3 of the grade).