Strumenti Utente

Strumenti Sito


magistraleinformatica:mod:2014-15:start

Modelli di calcolo - Models of computation

MOD 2014/15 (375AA, 9 CFU)

Lecturer: Roberto Bruni
web - CLI - email - phone 050 2212785 - fax 050 2212726

Office hours: Wednesday 15:00-17:00 or by appointment


Objectives

The objective of the course is to present:

  • different models of computation,
  • their programming paradigms,
  • their mathematical descriptions, both concrete and abstract,

and also to present some intellectual tools/techniques:

  • for reasoning on models, and
  • for proving (some of) their properties.

To this aim, a rigorous approach will be followed for both the syntax and the semantics of the paradigms we work on:

  • IMP: imperative models
  • HOFL: functional models
  • CCS, pi-calculus: concurrent, non-deterministic and interactive models
  • PEPA: probabilistic/stochastic models

The focus will be on basic proof techniques (there will be not time to introduce more advanced topics in detail).

In doing so, several important notions will be presented (not necessarily in this order): context-free grammars, proof systems (axioms and inference rules), goal-driven derivations, various incarnations of well-founded induction, structural recursion, lambda-calculus, program equivalence, compositionality, completeness and correctness, type systems, domain theory (complete partial orders, continuous functions, fixpoint), labelled transition systems, bisimulation equivalences, temporal and modal logics, Markov chains, probabilistic reactive and generative systems.


Course Overview

We introduce the principles of operational semantics, the principles of denotational semantics, and the techniques to relate one to the other for an imperative language and for a higher order functional language. Operational and observational semantics of two process description languages (CCS and pi-calculus) are presented. Several examples of temporal and modal logics are also discussed (HM, LTL, CTL*, mu-calculus). Finally, we consider operational nondeterministic models with discrete probabilities, and we present them from the perspective of probabilistic and stochastic automata, and of the PEPA calculus.


Textbook(s)

  • Glynn Winskel, “The formal Semantics of Programming Languages”, MIT Press, 1993. Chapters: 1.3, 2, 3, 4, 5, 8, 11.
    “La Semantica Formale dei Linguaggi di Programmazione”, traduzione italiana a cura di Franco Turini, UTET 1999.
  • Robin Milner, “Communication and Concurrency, Prentice Hall, 1989. Chapters: 1-7, 10.
  • Lecture notes: February 2015.
  • A revised version of Chapters 1-6 of the lecture notes is also available as of March 2015: Chapters 1-6 revised (the updated version contains several corrections as presented during the course: please consult it electronically and avoid printing it if you have already printed the previous version)
  • A revised version of Chapters 7-12 of the lecture notes is also available as of May 2015: Chapters 7-12 revised (the updated version contains several corrections as presented during the course: please consult it electronically and avoid printing it if you have already printed the previous version)

Exams

The evaluation will be based on written and oral exams.

The written exam is not necessary if the two (written) mid-terms exams are evaluated positively.

  • First (written) mid-term exam:
    Monday 13/04/2015, 14:00-16:00, Room A1
  • Second (written) mid-term exam:
    Thursday 28/05/2015, 14:00-16:00, Room A1

Registration to written exams (mandatory): Exams registration system

In the written exam the student must demonstrate

  • knowledge: his/her knowledge of the course material
  • problem solving: the ability to solve some exercises, and
  • organisation: the ability to organise an effective and correctly written reply.

During the oral exam the student must demonstrate

  • knowledge: his/her knowledge of the course material, and
  • understanding: the ability to discuss the reading matter thoughtfully and with propriety of expression.

Announcements

  • 07/05/2015:
    An additional lecture has been scheduled on thursday 21/05/2015, 14:00-16:00, Room L1 to replace the lecture missed on thursday 16/04/2015.
  • 02/04/2015:
    The lecture of thursday 16/04/2015 is canceled to allow students participation to an assembly.
  • 04/03/2015:
    An additional lecture has been scheduled on thursday 12/03/2015, 14:00-16:00, Room B to replace the lecture missed on thursday 05/03/2015.
  • 02/03/2015:
    The lecture of thursday 05/03/2015 is canceled.
  • 23/02/2015:
    Each student should send an email to the professor from his/her favourite email account with subject MOD14 and the following data
    (by doing so, the account will be included in the class mailing-list, where important announcements can be sent):
    1. first name and last name (please clarify which is which to avoid ambiguities)
    2. enrolment number (numero di matricola)
    3. bachelor degree (course of study and university)

Lectures

N Date Time Room Lecture notes Links
1 Mon 23/02 14:00-16:00 C1 Introduction to the course
2 Wed 25/02 11:00-13:00 L1 Preliminaries
3 Thu 26/02 11:00-13:00 L1 Preliminaries

Unification
A short note on unification
4 Mon 02/03 14:00-16:00 C1 Operational semantics of IMP
5 Wed 04/03 11:00-13:00 L1 Operational semantics of IMP:
non-termination, equivalence
6 Thu 05/03 11:00-13:00 L1 Canceled
To recover, an additional lecture has been scheduled on
Thu 12/03/2015 from 14:00 to 16:00
7 Mon 09/03 14:00-16:00 C1 Induction and recursion:
well-founded induction, mathematical inductions, structural induction
8 Wed 11/03 11:00-13:00 L1 Induction and recursion:
induction on derivations, rule induction
9 Thu 12/03 11:00-13:00 L1 Induction and recursion:
well-founded recursion

Partial orders and fixpoints:
partial orders, Hasse diagrams, least upper bound
10 Thu 12/03 14:00-16:00 B Exercises on the operational semantics of IMP and induction
11 Mon 16/03 14:00-16:00 C1 Partial orders and fixpoints:
chains, complete partial orders, continuity and fixpoints
immediate consequences operator
12 Wed 18/03 11:00-13:00 L1 Partial orders and fixpoints:
immediate consequences operator

Introduction to the lambda-notation
13 Thu 19/03 11:00-13:00 L1 Denotational semantics of IMP A short note on lambda-notation
14 Mon 23/03 14:00-16:00 C1 Denotational semantics of IMP:
Equivalence between operational and denotational semantics: completeness
15 Wed 25/03 11:00-13:00 L1 Denotational semantics of IMP:
Equivalence between operational and denotational semantics: correctness
Computational induction (optional argument)
16 Thu 26/03 11:00-13:00 L1 Exercises about CPO and the denotational semantics of IMP
17 Mon 30/03 14:00-16:00 C1 Operational semantics of HOFL:
Pre-terms, well-formed terms, typability
18 Wed 01/04 11:00-13:00 L1 Operational semantics of HOFL:
Lazy and eager semantics, canonical forms
19 Thu 02/04 11:00-13:00 L1 Exercises: preparation to mid-term exam
20 Mon 13/04 14:00-16:00 A1 First mid-term written exam
Exam
21 Wed 15/04 11:00-13:00 L1 Solutions to the first mid-term exam

Exercises on the operational semantics of HOFL
22 Thu 16/04 11:00-13:00 L1 Canceled due to a student assembly
23 Mon 20/04 14:00-16:00 C1 Exercises on the equivalence between the operational and denotational semantics of IMP and on the operational semantics of HOFL
24 Wed 22/04 11:00-13:00 L1 Domain theory:
Integers with bottom, cartesian product, functional domains, lifting
25 Thu 23/04 11:00-13:00 L1 Domain theory:
continuity theorems, apply, currry, fix
26 Mon 27/04 14:00-16:00 C1 HOFL denotational semantics
27 Wed 29/04 11:00-13:00 L1 Equivalence between the operational and denotational semantics of HOFL
28 Thu 30/04 11:00-13:00 L1 Exercises on the denotational semantics of HOFL and on the equivalence between the operational and denotational semantics of HOFL
29 Mon 04/05 14:00-16:00 C1 CCS:
operational semantics
30 Wed 06/05 11:00-13:00 L1 CCS:
abstract semantics, strong bisimilarity
31 Thu 07/05 11:00-13:00 L1 CCS:
Modelling with CCS, Hennessy-Milner logic, weak bisimilarity
A short note on CCS
32 Mon 11/05 14:00-16:00 C1 CCS:
Milner's tau-laws, dynamic bisimilarity, modelling with CCS

Temporal and modal logics:
linear temporal logic (LTL)
PseuCo
TAPAS
33 Wed 13/05 11:00-13:00 L1 Temporal and modal logics:
computational tree logic (CTL* and CTL), mu-calculus
34 Thu 14/05 11:00-13:00 L1 Pi-calculus:
syntax and operational semantics,
structural equivalence and reduction semantics (optional reading)
abstract semantics, early and late bisimilarities
A short note on Google Go
Google Go
Mon 18/05 14:00-16:00 C1 Exercises on CCS, modal logic and pi-calculus
Wed 20/05 11:00-13:00 L1 Measure theory and Markov chains:
probability space, stochastic processes, DTMC
Thu 21/05 11:00-13:00 L1 Measure theory and Markov chains:
steady state distribution, CTMC

Markov chains with actions and nondeterminism:
reactive systems, generative systems,
simple Segala automata, Segala automata
alternative and bundle transitions systems (optional reading)
Thu 21/05 14:00-16:00 L1 PEPA

Exercises: preparation to mid-term exam
PEPA
Mon 25/05 14:00-16:00 C1 Exercises on probabilistic systems
Thu 28/05 14:00-16:00 A1 Second mid-term written exam
Exam
Wed 10/06 11:00-13:00 L1 Exam
Wed 01/07 11:00-13:00 L1 Exam
Wed 22/07 11:00-13:00 L1 Exam
Wed 09/09 11:00-13:00 A1 Exam
Wed 20/01 14:00-16:00 N1 Exam
Wed 10/02 14:00-16:00 N1 Exam

Past courses

magistraleinformatica/mod/2014-15/start.txt · Ultima modifica: 10/02/2016 alle 16:17 (2 anni fa) da Roberto Bruni