FOUNDATIONS OF PROGRAMMING LANGUAGES - PART 2
|Official course title||FOUNDATIONS OF PROGRAMMING LANGUAGES - MOD.2|
|University credits||6 of 12 of FOUNDATIONS OF PROGRAMMING LANGUAGES|
|Degree level||Second Cycle Degree M.D.270|
|Educational sector code||INF/01|
Degree Programmes and curricula
Other parts of the course
The aim of the course is that of presenting the formal techniques which can be used to describe and analyze the behavior of a a program.
The first part of the course introduces the students to the main concepts and formal techniques which have been proposed in order to model concurrent systems and to analyze their properties, in particular to CCS and Petri nets.
The second part of the course introduces the students to the mathematical principles, the formal techniques and the concepts at the base of the formal semantics of programming languages.
Logic, Computability and Formal Languages.
- Reactive and concurrent systems.
- The language CCS: sintax and SOS semantics.
- Behavioural equivalences and Bisimulation.
- Hennessy-Milner logic.
- An introduction to Petri nets.
- The language While: syntax.
- Semantics of expressions.
- Operational Semantics.
- Denotational Semantics.
- Axiomatic Semantics.
Recommended Reading List
L. Aceto, A. Ingolfsdottir, K.G. Larsen, J. Srba, Reactive systems, modeling, specification and Verification, Cambridge University Press, 2007.
Papers supplied by the teacher.
H.R. Nielson, F. Nielson: Semantics with Applications, A Formal Introduction. Wiley 1999. Available at: http://www.daimi.au.dk/~bra8130/Wiley_book/wiley.html
written and oral
Lessons in class.
Further information can be found on