Strumenti Utente

Strumenti Sito


magistraleinformatica:mpp:start

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
magistraleinformatica:mpp:start [07/09/2025 alle 11:07 (4 settimane fa)] – [Lectures (1st part)] Roberto Brunimagistraleinformatica:mpp:start [02/10/2025 alle 12:36 (3 giorni fa)] (versione attuale) – [Lectures (1st part)] Roberto Bruni
Linea 1: Linea 1:
 ====== Models for Programming Paradigms ====== ====== Models for Programming Paradigms ======
  
-{{:magistraleinformatica:psc:psc.png?250 | }}+{{:magistraleinformatica:mpp:logo-van-gogh-like.png?150 | }}
  
 **MPP 2025/26 (0077A, 9 CFU)** **MPP 2025/26 (0077A, 9 CFU)**
Linea 92: Linea 92:
  
 ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^
-|  1 | Tue | 16/09 | 16:00-18:00 | C1 | 01 - Introduction to the course\\ \\ 02 - Preliminaries:\\ //from syntax to semantics, the role of formal semantics, SOS approach, small-step operational semantics, big-step operational semantics// |  | +|  1 | Tue | 16/09 | 16:00-18:00 | C1 | {{ :magistraleinformatica:mpp:2025-09-16_-_01_-_intro.pdf |01 - Introduction to the course}} |  | 
-|  Thu 18/09 | 09:00-11:00 | L1 | 02 - Preliminaries (ctd):\\ //denotational semantics, compositionality principle, normalisation, determinacy, consistency, equivalence, congruence//\\ \\ 03 - Unification:\\ //inference process, signatures, substitutions, most general than relation, unification problem// |  | +|  2 | Thu | 18/09 | 09:00-11:00 | L1 | {{ :magistraleinformatica:mpp:2025-09-18_-_02_-_semantics.pdf |02 - Preliminaries}}:\\ //from syntax to semantics, the role of formal semantics, SOS approach, small-step operational semantics, big-step operational semantics, denotational semantics, compositionality principle, normalisation, determinacy, consistency, equivalence, congruence// |  | 
-|  Fri 19/09 | 16:00-18:00 | L1 03 - Unification (ctd):\\ //unification problemmost general unifiers, unification algorithm//\\ \\ 04 - Logical systems:\\ //logical systems, derivations, theorems, logic programs, goal-oriented derivations//  |  | +|  Fri 19/09 | 16:00-18:00 | L1 | Exercises\\ \\ {{ :magistraleinformatica:mpp:2025-09-19_-_03_-_unification.pdf |03 - Unification}}:\\ //inference process, signatures, substitutions, most general than relation, unification problem, most general unifiers, unification algorithm//  |  | 
-|      Exercises:\\ //unification, goal-oriented derivations//\\ \\ 05 - Induction:\\ //precedence relation, infinite descending chains, well-founded relations, well-founded induction, mathematical induction, proof of induction principle, structural induction, termination of arithmetic expressions// |  | +|  Tue 23/09 | 16:00-18:00 | C1 Exercises:\\ //unification, goal-oriented derivations//\\ \\ {{ :magistraleinformatica:mpp:2025-09-23_-_04_-_logic.pdf |04 - Logical systems}}:\\ //logical systems, derivations, theorems, logic programs, goal-oriented derivations// |  | 
-|      | Exercises:\\ //induction//\\ \\ 05 - Induction (ctd.):\\ //determinacy of arithmetic expressions, many-sorted signatures, arithmetic and  boolean expressions, structural induction over many-sorted signatures, termination of boolean expressions, memories, update operation, operational semantics of commands// |  | +|  Thu 25/09 09:00-11:00 L1 {{ :magistraleinformatica:mpp:2025-09-25_-_05a_-_induction.pdf |05 - Induction}}:\\ //precedence relation, infinite descending chains, well-founded relations, well-founded induction, mathematical induction, proof of induction principle, structural induction, termination of arithmetic expressions, determinacy of arithmetic expressions, many-sorted signatures, arithmetic and  boolean expressions, structural induction over many-sorted signatures, termination of boolean expressions, memories, update operation, operational semantics of commands// |  | 
-|      | 05 - Induction (ctd.):\\ //divergence, rule for divergence, limits of structural induction, induction on derivations, rule induction, determinacy of commands// |  | +|  Fri 26/09 16:00-18:00 L1 | Exercises:\\ //induction//\\ \\ {{ :magistraleinformatica:mpp:2025-09-26_-_05b_-_more_induction.pdf |05 - More induction}} (Structural Induction)://many-sorted signatures, arithmetic and  boolean expressions, structural induction over many-sorted signatures, termination of boolean expressions, memories, update operation, operational semantics of commands// |  | 
-|      | 06 - Equivalence:\\ //operational equivalence, concrete equivalences, parametric equivalences, equivalence and divergence//\\ \\ 07 - Induction and recursion:\\ //well-founded recursion, lexicographic precedence relation, Ackermann function, denotational semantics of arithmetic expressions, consistency of operational and denotational semantics for arithmetic expressions, fixpoint equations// |  | +|  Tue 30/09 16:00-18:00 C1 | Exercises:\\ //induction//\\ \\ {{ :magistraleinformatica:mpp:2025-09-30_-_05c_-_rule_induction.pdf |05 - More induction (Rule Induction)}}:\\ //divergence, rule for divergence, limits of structural induction, induction on derivations, rule induction, determinacy of commands// |  | 
-|      | 08 - Partial orders and fixpoints:\\ //partial orders, Hasse diagrams, chains, least element, minimal element, bottom element, upper bounds, least upper bound, limits, complete partial orders, powerset completeness, prefix independence, CPO of partial functions, monotonicity// |  | +|  Thu 02/10 09:00-11:00 L1 | {{ :magistraleinformatica:mpp:2025-10-02_-_06_-_equivalence.pdf |06 - Equivalence}}:\\ //operational equivalence, concrete equivalences, parametric equivalences, equivalence and divergence//\\ \\ {{ :magistraleinformatica:mpp:2025-10-02_-_07_-_recursion.pdf |07 - Induction and recursion}}:\\ //well-founded recursion, lexicographic precedence relation, Ackermann function, denotational semantics of arithmetic expressions, towards denotational semantics of commands// |  | 
-|  9 |  |  |  |  | Exercises:\\ //induction, termination, determinacy, divergence//\\ \\ 08 - Partial orders and fixpoints (ctd.):\\ //continuity, Kleene's fixpoint theorem, McCarthy's 91 function// |  | +|  Fri 03/10 16:00-18:00 L1 | 08 - Partial orders and fixpoints:\\ //consistency of operational and denotational semantics for arithmetic expressions, fixpoint equations, partial orders, Hasse diagrams, chains, least element, minimal element, bottom element, upper bounds, least upper bound, limits, complete partial orders, powerset completeness, prefix independence, CPO of partial functions, monotonicity//\\ \\ Exercises:\\ //induction, termination, determinacy, divergence// |  | 
-| 10 |  |  |  |  | 08 - Partial orders and fixpoints (ctd.):\\ //recursive definitions of partial functions as logical systems, immediate consequences operator, set of theorems as fixpoint//\\ \\ 09 - Denotational semantics:\\ //lambda-notation, free variables, capture-avoiding substitutions, alpha-conversion, beta rule, conditionals, denotational semantics of commands, fixpoint computation// |  |+| 10 |  |  |  |  | 08 - Partial orders and fixpoints (ctd.):\\ //continuity, Kleene's fixpoint theorem, McCarthy's 91 function, recursive definitions of partial functions as logical systems, immediate consequences operator, set of theorems as fixpoint//\\ \\ 09 - Denotational semantics:\\ //lambda-notation, free variables, capture-avoiding substitutions, alpha-conversion, beta rule, conditionals, denotational semantics of commands, fixpoint computation// |  |
 | 11 |  |  |  |  | Exercises:\\ //posets//\\ \\ 10 - Consistency:\\ //denotational equivalence, congruence, compositionality principle, consistency of commands, correctness, completeness// |  | | 11 |  |  |  |  | Exercises:\\ //posets//\\ \\ 10 - Consistency:\\ //denotational equivalence, congruence, compositionality principle, consistency of commands, correctness, completeness// |  |
 | 12 |  |  |  |  | Exercises:\\ //well-founded recursion, posets, semantics//\\ \\ 11 - Haskell:\\ //an overview//\\ \\ Haskell ghci:\\ //basics, tuples, lists, list comprehension, guards, pattern matching, lambda, partial application, zip, exercises// |  | | 12 |  |  |  |  | Exercises:\\ //well-founded recursion, posets, semantics//\\ \\ 11 - Haskell:\\ //an overview//\\ \\ Haskell ghci:\\ //basics, tuples, lists, list comprehension, guards, pattern matching, lambda, partial application, zip, exercises// |  |
Linea 121: Linea 121:
  
 ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^
-| 20 | Thu 10/04 14:00-16:00 C1 | Exercises:\\ //HOFL, domains//\\ \\ 16 - Erlang:\\ //an overview//  | {{ :magistraleinformatica:psc:2025-04-10_-_16_-_erlang.pdf |Lecture 16}}\\ [[http://www.erlang.org/|Erlang]] | +| 20 |     | Exercises:\\ //HOFL, domains//\\ \\ 16 - Erlang:\\ //an overview//  |  | 
-|  - | Fri | 11/04 | 09:00-11:00 | L1 | **Canceled due to graduation event** |  | +| 21 |     | Erlang erl:\\ //numbers, atoms, tuples, lists, terms, variables, term comparison, pattern matching, list comprehension, modules, functions, guards, higher order, recursion, pids, spawn, self, send, receive, examples//\\ \\ 17 - CCS:\\ //Introduction to concurrency// 
-| 21 | Tue 15/04 09:00-11:00 | Erlang erl:\\ //numbers, atoms, tuples, lists, terms, variables, term comparison, pattern matching, list comprehension, modules, functions, guards, higher order, recursion, pids, spawn, self, send, receive, examples//\\ \\ 17 - CCS:\\ //Introduction to concurrency//[[http://www.erlang.org/|Erlang]]\\ {{ :magistraleinformatica:psc:2025-04-15_-_16a_-_erlang_session.pdf |erl session}}\\ {{ :magistraleinformatica:psc:2025-04-15_-_17a_-_ccs.pdf |Lecture 17a}} +| 22 |     | 17 - CCS (ctd.)\\ //Syntax, operational semantics, value passing, finitely branching processes, guarded processes// |  | 
-| 22 | Thu 17/04 14:00-16:00 C1 | 17 - CCS (ctd.)\\ //Syntax, operational semantics, value passing, finitely branching processes, guarded processes// | {{ :magistraleinformatica:psc:2025-04-15_-_17a_-_ccs.pdf |Lecture 17a}}\\ {{ :magistraleinformatica:psc:2025-04-17_-_17b_-_ccs_guarded.pdf |Lecture 17b}} | +23 |  |  |  |  | 18 - Bisimulation:\\ //abstract semantics, graph isomorphism, trace equivalence, bisimulation game, strong bisimulation// |  | 
-|  - | Fri | 18/04 | 09:00-11:00 | L1 | **Easter holidays** |  +| 24 |     | 18 - Bisimulation (ctd.):\\ //strong bisimilarity, strong bisimilarity is an equivalence, strong bisimilarity is a bisimulation, strong bisimilarity is the coarsest strong bisimulation, strong bisimilarity is a congruence, some laws for strong bisimilarity, strong bisimilarity as a fixpoint, strong bisimilarity as a fixpoint, Phi operator, Phi is monotone, Phi is continuous (on finitely branching processes)// | 
-|  - | Tue | 22/04 | 09:00-11:00 | E | **Easter holidays** |  +25 |  |  |  |  | 18 - Bisimulation (ctd.):\\ //Guarded processes (again, from Lecture 17), Knaster-Tarski's fixpoint theorem//\\ \\ 19 - Hennessy-Milner logic:\\ //modalities, HML syntax, formula satisfaction, converse of a formula, HML equivalence//\\ \\ 20 - Weak Semantics:\\ //weak transitions, weak bisimulation, weak bisimilarity, weak bisimilarity is not  a congruence, weak observational congruence, Milner's tau-laws//\\ \\ 21 - CCS at work:\\ //modelling imperative programs with CCS// |  
-| 23 | Thu | 24/04 | 14:00-16:00 | C1 | 18 - Bisimulation:\\ //abstract semantics, graph isomorphism, trace equivalence, bisimulation game, strong bisimulation// | {{ :magistraleinformatica:psc:2025-04-24_-_18a_-_ccs_abstract.pdf |Lecture 18a}}\\ {{ :magistraleinformatica:psc:2025-04-24_-_18b_-_ccs_bisimulation.pdf |Lecture 18b}} | +| 26 |     | 21 - CCS at work (ctd.) :\\ //modelling imperative programs with CCS, playing with CCS (using CAAL), modelling and verification of mutual exclusion algorithms with CCS and CAAL//\\ \\ CAAL session (copy the text and paste it in the Edit panel) |  
-|  - | Fri | 25/04 | 09:00-11:00 | L1 | **Italian liberation day** |  | +| 27 |     | Exercises:\\ //Erlang, CCS//\\ \\ 22 - Temporal and modal logics:\\ //linear temporal logic (LTL), linear structures models, shifting, LTL satisfaction, equivalence of formulas, automata-like models// |  
-| 24 | Tue 29/04 09:00-11:00 | 18 - Bisimulation (ctd.):\\ //strong bisimilarity, strong bisimilarity is an equivalence, strong bisimilarity is a bisimulation, strong bisimilarity is the coarsest strong bisimulation, strong bisimilarity is a congruence, some laws for strong bisimilarity, strong bisimilarity as a fixpoint, strong bisimilarity as a fixpoint, Phi operator, Phi is monotone, Phi is continuous (on finitely branching processes)//{{ :magistraleinformatica:psc:2025-04-24_-_18b_-_ccs_bisimulation.pdf |Lecture 18b}}\\ {{ :magistraleinformatica:psc:2025-04-29_-_18c_-_ccs_bis_as_fix.pdf |Lecture 18c}} | +| 28 |     | 22 - Temporal and modal logics (ctd.):\\ //computational tree logic (CTL* and CTL), infinite trees, infinite paths, branching structure, CTL* satisfaction, equivalence of formulas, CTL formulas, expressiveness comparison, mu-calculus, positive normal form, least and greatest fixpoints, invariant properties, possibly properties, mu-calculus with labels// |  
-|  - | Thu | 01/05 | 14:00-16:00 | C1 | **International labour day** |  +| 29 |     | 23 - GoogleGo:\\ //an overview//\\ \\ GoogleGo playground:\\ //Go principles, variable declaration, type conversion, multiple assignments, type inference, imports, packages and public names, named return values, naked return, multiple results, conditionals and loops, pointers, struct, receiver arguments and methods, interfaces, goroutines, bidirectional channels, channel types, send, receive, asynchronous communication with buffering, close, select, communicating communication means, range, handling multiple senders, concurrent prime sieve// |  
-|  - | Fri | 02/05 | 09:00-11:00 | L1 | **Long weekend** |  +| 30 |     | 24 - Pi-calculus:\\ //name mobility, free names, bound names, syntax and operational semantics, scope extrusion, early and late bisimilarities, weak semantics// |  | 
-| 25 | Tue | 06/05 | 09:00-11:00 | E | 18 - Bisimulation (ctd.):\\ //Guarded processes (again, from Lecture 17), Knaster-Tarski's fixpoint theorem//\\ \\ 19 - Hennessy-Milner logic:\\ //modalities, HML syntax, formula satisfaction, converse of a formula, HML equivalence//\\ \\ 20 - Weak Semantics:\\ //weak transitions, weak bisimulation, weak bisimilarity, weak bisimilarity is not  a congruence, weak observational congruence, Milner's tau-laws//\\ \\ 21 - CCS at work:\\ //modelling imperative programs with CCS// | {{ :magistraleinformatica:psc:2025-04-29_-_18c_-_ccs_bis_as_fix.pdf |Lecture 18c}}\\ {{ :magistraleinformatica:psc:2025-05-06_-_19_-_hml.pdf |Lecture 19}}\\ {{ :magistraleinformatica:psc:2025-05-06_-_20_-_weak.pdf |Lecture 20}}\\ {{ :magistraleinformatica:psc:2025-05-06_-_21_-_ccs_at_work.pdf |Lecture 21}} +| 31 |     | Exercises:\\ //logics, GoogleGo, pi-calculus//\\ \\ 25 - Measure theory and Markov chains:\\ //probability space, random variables, stochastic processes, homogeneous Markov chains, DTMC, DTMC as matrices, DTMC as PTS, next state probability, ergodic DTMC, steady state distribution, finite path probability// 
-| 26 | Thu 08/05 14:00-16:00 C1 | 21 - CCS at work (ctd.) :\\ //modelling imperative programs with CCS, playing with CCS (using CAAL), modelling and verification of mutual exclusion algorithms with CCS and CAAL//\\ \\ CAAL session (copy the text and paste it in the Edit panel) | {{ :magistraleinformatica:psc:2025-05-06_-_21_-_ccs_at_work.pdf |Lecture 21}}\\ [[http://caal.cs.aau.dk/|CAAL]]\\ {{ :magistraleinformatica:psc:caal-session1-2025.zip |CAAL session 1}} +| 32 |     | 25 - Measure theory and Markov chains (ctd):\\ //negative exponential distribution, CTMC, embedded DTMC, infinitesimal generator matrix, CTMC stationary distribution//\\ \\ 26 - Probabilistic bisimilarities:\\ //bisimilarity revisited, reachability predicate, CTMC bisimilarity, DTMC bisimilarity, Markov chains with actions, probabilistic reactive systems, bisimilarity for reactive systems, Larsen-Skou logic//  
-| 27 | Fri 09/05 09:00-11:00 L1 | Exercises:\\ //Erlang, CCS//\\ \\ 22 - Temporal and modal logics:\\ //linear temporal logic (LTL), linear structures models, shifting, LTL satisfaction, equivalence of formulas, automata-like models// | {{ :magistraleinformatica:psc:06_-_erlang_-_ccs-2025.pdf |Exercises 06}}\\ {{ :magistraleinformatica:psc:2025-05-09_-_22a_-_ltl_ctl.pdf |Lecture 22a}} +| 33 |     | 27 - PEPA:\\ //motivation, basic ideas, PEPA workflow, PEPA syntax, cooperation combinator, bounded capacity, apparent rate, PEPA operational semantics, performance analysis, reward structures// 
-| 28 | Tue 13/05 09:00-11:00 | 22 - Temporal and modal logics (ctd.):\\ //computational tree logic (CTL* and CTL), infinite trees, infinite paths, branching structure, CTL* satisfaction, equivalence of formulas, CTL formulas, expressiveness comparison, mu-calculus, positive normal form, least and greatest fixpoints, invariant properties, possibly properties, mu-calculus with labels// | {{ :magistraleinformatica:psc:2025-05-09_-_22a_-_ltl_ctl.pdf |Lecture 22a}}\\ {{ :magistraleinformatica:psc:2025-05-13_-_22b_-_mu_calculus.pdf |Lecture 22b}} +| 34 |     | Exercises:\\ //Markov chains, probabilistic systems, PEPA// |  
-| 29 | Thu 15/05 14:00-16:00 C1 | 23 - GoogleGo:\\ //an overview//\\ \\ GoogleGo playground:\\ //Go principles, variable declaration, type conversion, multiple assignments, type inference, imports, packages and public names, named return values, naked return, multiple results, conditionals and loops, pointers, struct, receiver arguments and methods, interfaces, goroutines, bidirectional channels, channel types, send, receive, asynchronous communication with buffering, close, select, communicating communication means, range, handling multiple senders, concurrent prime sieve// | {{ :magistraleinformatica:psc:2025-05-15_-_23_-_google_go.pdf |Lecture 23}}\\ [[http://golang.org/|Google Go]]\\ {{ :magistraleinformatica:psc:go-session-2025.zip |go session}} +| 35 |     | Exercises:\\ //Samples from exam exercises// |  | 
-| 30 | Fri 16/05 09:00-11:00 L1 | 24 - Pi-calculus:\\ //name mobility, free names, bound names, syntax and operational semantics, scope extrusion, early and late bisimilarities, weak semantics// | {{ :magistraleinformatica:psc:2025-05-16_-_24_-_pi_calculus.pdf |Lecture 24}} | +| 36 |  |  |  |  | Mini-projects:\\ //discussion// |  |
-| - | Tue | 20/05 | 09:00-11:00 | E | **University closed (due to Tour of Italy)** |  | +
-| 31 | Thu 22/05 14:00-16:00 C1 | Exercises:\\ //logics, GoogleGo, pi-calculus//\\ \\ 25 - Measure theory and Markov chains:\\ //probability space, random variables, stochastic processes, homogeneous Markov chains, DTMC, DTMC as matrices, DTMC as PTS, next state probability, ergodic DTMC, steady state distribution, finite path probability//{{ :magistraleinformatica:psc:07_-_logics_-_googlego_-_pi-2025.pdf |Exercises 07}}\\ {{ :magistraleinformatica:psc:2025-05-22_-_25a_-_dtmc.pdf |Lecture 25a}} +
-| 32 | Fri 23/05 09:00-11:00 L1 | 25 - Measure theory and Markov chains (ctd):\\ //negative exponential distribution, CTMC, embedded DTMC, infinitesimal generator matrix, CTMC stationary distribution//\\ \\ 26 - Probabilistic bisimilarities:\\ //bisimilarity revisited, reachability predicate, CTMC bisimilarity, DTMC bisimilarity, Markov chains with actions, probabilistic reactive systems, bisimilarity for reactive systems, Larsen-Skou logic// {{ :magistraleinformatica:psc:2025-05-23_-_25b_-_ctmc.pdf |Lecture 25b}}\\ {{ :magistraleinformatica:psc:2025-05-23_-_26_-_probabilistic_bisimilarities.pdf |Lecture 26}} +
-| 33 | Tue 27/05 09:00-11:00 | 27 - PEPA:\\ //motivation, basic ideas, PEPA workflow, PEPA syntax, cooperation combinator, bounded capacity, apparent rate, PEPA operational semantics, performance analysis, reward structures//{{ :magistraleinformatica:psc:2025-05-27_-_27_-_pepa.pdf |Lecture 27}}\\ [[http://www.dcs.ed.ac.uk/pepa/|PEPA]] +
-| 34 | Thu 29/05 14:00-16:00 C1 | Exercises:\\ //Markov chains, probabilistic systems, PEPA// | {{ :magistraleinformatica:psc:08_-_probability_-_2025.pdf |Exercises 08}} +
-| 35 | Fri 30/05 09:00-11:00 L1 | Exercises:\\ //Samples from exam exercises//\\ \\ Mini-projects:\\ //discussion// |  |+
 | End |  |  |  |  |  |  | | End |  |  |  |  |  |  |
  
magistraleinformatica/mpp/start.1757243229.txt.gz · Ultima modifica: 07/09/2025 alle 11:07 (4 settimane fa) da Roberto Bruni

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki