Subject: Algebrical Specification	Code: MA264	

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

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. Corectness.
5. CASL (Common Algebraic Specification Language). 	
Selective References	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. H. Ehrig, B. Mahr, Fundamentals of Algebraic Specification I, Springer-Verlag, Berlin, 1985.
3. J. Loeckx, H.-D. Ehrich, M. Wolf: Specification of Abstract Data Types, Wiley/Teubner, 1996.
4. D. Sannella, A. Tarlecki. Foundations of Algebraic Specifications and Formal Program Development, va aparea.
5. http://www.brics.dk/Projects/CoFI/	
Assessment	Presentation (2/3 of the grade), test paper (1/3 of the grade)