Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
magistraleinformatica:psc:start [12/02/2025 alle 22:55 (4 settimane fa)] – [Principles for Software Composition] Roberto Bruni | magistraleinformatica:psc:start [08/03/2025 alle 17:01 (5 giorni fa)] (versione attuale) – [Lectures (1st part)] Roberto Bruni |
---|
| |
Lecturer: **Roberto Bruni**\\ | Lecturer: **Roberto Bruni**\\ |
[[http://www.di.unipi.it/~bruni|web]] - [[mailto:bruni@di.unipi.it|email]] - [[https://teams.microsoft.com/l/team/19%3AsDmxJu95LqR3omiYtTochKhmTMOcUJc61yv3GaPoDbI1%40thread.tacv2/conversations?groupId=ba0310d9-0944-4015-8a31-8e3bbeae73dc&tenantId=c7456b31-a220-47f5-be52-473828670aa1|Microsoft Teams channel]] | [[http://www.di.unipi.it/~bruni|web]] - [[mailto:bruni@di.unipi.it|email]] - [[https://teams.microsoft.com/l/team/19%3AcpAGDU3sLif2Mzf3MqTStZSPslNMJlv74wBG859yE7Y1%40thread.tacv2/conversations?groupId=eb61dc9a-ff03-4418-877d-2ad467640293&tenantId=c7456b31-a220-47f5-be52-473828670aa1|Microsoft Teams channel]] |
| |
Office hours: By appointment (preferably on **Tuesday 14:00-16:00**) | Office hours: By appointment (preferably on **Tuesday 14:00-16:00**) |
==== Announcements ==== | ==== Announcements ==== |
| |
* as the course starts:\\ Each student must subscribe the [[https://teams.microsoft.com/l/team/19%3AsDmxJu95LqR3omiYtTochKhmTMOcUJc61yv3GaPoDbI1%40thread.tacv2/conversations?groupId=ba0310d9-0944-4015-8a31-8e3bbeae73dc&tenantId=c7456b31-a220-47f5-be52-473828670aa1|Microsoft Teams channel]] of the course and then fill the form [[https://forms.office.com/e/j1WFMAGeKt|Students information]] to provide the following contact data and info about her/his background: | * The lectures of **thursday Feb 27 and friday Feb 28 are canceled** due to conflicting events, |
| * as the course starts:\\ Each student must subscribe the [[https://teams.microsoft.com/l/team/19%3AcpAGDU3sLif2Mzf3MqTStZSPslNMJlv74wBG859yE7Y1%40thread.tacv2/conversations?groupId=eb61dc9a-ff03-4418-877d-2ad467640293&tenantId=c7456b31-a220-47f5-be52-473828670aa1|Microsoft Teams channel]] of the course and then fill the form [[https://forms.office.com/e/p8RwTeLvMd|Students information]] to provide the following contact data and info about her/his background: |
- **first name** | - **first name** |
- **last name** | - **last name** |
- **bachelor degree** (course of study and university) | - **bachelor degree** (course of study and university) |
- **MSc course** (if Computer Science, specify which curriculum) | - **MSc course** (if Computer Science, specify which curriculum) |
* then, fill the (optional) form about your familiarity with some of the subjects of the course: [[https://forms.office.com/e/Pv9yJ9Aqdj|Familiar subjects]] | * then, fill the (optional) form about your familiarity with some of the subjects of the course: [[https://forms.office.com/e/4e0AtpDWiu|Familiar subjects]] |
| |
---- | ---- |
| |
^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ | ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ |
| 1 | Tue | 20/02 | 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// | {{ :magistraleinformatica:psc:2024-02-20_-_01_-_intro.pdf |Lecture 01}}\\ {{ :magistraleinformatica:psc:2024-02-20_-_02_-_semantics.pdf |Lecture 02}} | | | 1 | Tue | 18/02 | 16:00-18:00 | A1 | 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// | {{ :magistraleinformatica:psc:2025-02-18_-_01_-_intro.pdf |Lecture 01}}\\ {{ :magistraleinformatica:psc:2025-02-18_-_02_-_semantics.pdf |Lecture 02}} | |
| 2 | Thu | 22/02 | 16:00-18:00 | M1 | 02 - Preliminaries (ctd):\\ //denotational semantics, compositionality principle, normalisation, determinacy, consistency, equivalence, congruence//\\ \\ 03 - Unification:\\ //inference process, signatures, substitutions, most general than relation, unification problem// | {{ :magistraleinformatica:psc:2024-02-20_-_02_-_semantics.pdf |Lecture 02}}\\ {{ :magistraleinformatica:psc:2024-02-22_-_03_-_unification.pdf |Lecture 03}} | | | 2 | Thu | 20/02 | 14:00-16:00 | C1 | 02 - Preliminaries (ctd):\\ //denotational semantics, compositionality principle, normalisation, determinacy, consistency, equivalence, congruence//\\ \\ 03 - Unification:\\ //inference process, signatures, substitutions, most general than relation, unification problem// | {{ :magistraleinformatica:psc:2025-02-18_-_02_-_semantics.pdf |Lecture 02}}\\ {{ :magistraleinformatica:psc:2025-02-20_-_03_-_unification.pdf |Lecture 03}} | |
| 3 | Fri | 23/02 | 14:00-16:00 | C1 | 03 - Unification (ctd):\\ //unification problem, most general unifiers, unification algorithm//\\ \\ 04 - Logical systems:\\ //logical systems, derivations, theorems, logic programs, goal-oriented derivations// | {{ :magistraleinformatica:psc:2024-02-22_-_03_-_unification.pdf |Lecture 03}}\\ {{ :magistraleinformatica:psc:2024-02-23_-_04_-_logic.pdf |Lecture 04}} | | | 3 | Fri | 21/02 | 09:00-11:00 | L1 | 03 - Unification (ctd):\\ //unification problem, most general unifiers, unification algorithm//\\ \\ 04 - Logical systems:\\ //logical systems, derivations, theorems, logic programs, goal-oriented derivations// | {{ :magistraleinformatica:psc:2025-02-20_-_03_-_unification.pdf |Lecture 03}}\\ {{ :magistraleinformatica:psc:2025-02-21_-_04_-_logic.pdf |Lecture 04}} | |
| 4 | Tue | 27/02 | 16:00-18:00 | C1 | 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, determinacy of arithmetic expressions// | {{ :magistraleinformatica:psc:01_-_inference_-_2024.pdf |Exercises 01}}\\ {{ :magistraleinformatica:psc:2024-02-27_-_05a_-_induction.pdf |Lecture 05a}}\\ {{ :magistraleinformatica:psc:2024-02-29_-_05b_-_more_induction.pdf |Lecture 05b}} | | | 4 | Tue | 25/02 | 16:00-18:00 | A1 | 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// | {{ :magistraleinformatica:psc:01_-_inference_-_2025.pdf |Exercises 01}}\\ {{ :magistraleinformatica:psc:2025-02-24_-_05a_-_induction.pdf |Lecture 05a}} | |
| 5 | Thu | 29/02 | 16:00-18:00 | X3 | Exercises:\\ //induction//\\ \\ 05 - Induction (ctd.):\\ //many-sorted signatures, arithmetic and boolean expressions, structural induction over many-sorted signatures, termination of boolean expressions, memories, update operation, operational semantics of commands// | {{ :magistraleinformatica:psc:2024-02-29_-_05b_-_more_induction.pdf |Lecture 05b}}\\ | | | - | Thu | 27/02 | 14:00-16:00 | C1 | **Canceled due to travelling constraints** | | |
| 6 | Fri | 01/03 | 14:00-16:00 | C1 | 05 - Induction (ctd.):\\ //divergence, rule for divergence, limits of structural induction, induction on derivations, rule induction, determinacy of commands// | {{ :magistraleinformatica:psc:2024-03-01_-_05c_-_rule_induction.pdf |Lecture 05c}} | | | - | Fri | 28/02 | 09:00-11:00 | L1 | **Canceled due to graduation event** | | |
| 7 | Tue | 05/03 | 16:00-18:00 | C1 | 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, fixpoint equations// | {{ :magistraleinformatica:psc:2024-03-05_-_06_-_equivalence.pdf |Lecture 06}}\\ {{ :magistraleinformatica:psc:2024-03-05_-_07_-_recursion.pdf |Lecture 07}} | | | 5 | Tue | 04/03 | 16:00-18:00 | A1 | 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// | {{ :magistraleinformatica:psc:2025-03-04_-_05b_-_more_induction.pdf |Lecture 05b}} | |
| 8 | Thu | 07/03 | 16:00-18:00 | X3 | 07 - Induction and recursion (ctd):\\ //consistency of operational and denotational semantics for arithmetic expressions//\\ \\ 08 - Partial orders and fixpoints (ctd.):\\ //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// | {{ :magistraleinformatica:psc:2024-03-05_-_07_-_recursion.pdf |Lecture 07}}\\ {{ :magistraleinformatica:psc:2024-03-07_-_08a_-_cpo.pdf |Lecture 08a}}\\ {{ :magistraleinformatica:psc:2024-03-07_-_08b_-_kleene.pdf |Lecture 08b}} | | | 6 | Thu | 06/03 | 14:00-16:00 | C1 | 05 - Induction (ctd.):\\ //divergence, rule for divergence, limits of structural induction, induction on derivations, rule induction, determinacy of commands// | {{ :magistraleinformatica:psc:2025-03-06_-_05c_-_rule_induction.pdf |Lecture 05c}} | |
| 9 | Fri | 08/03 | 14:00-16:00 | C1 | Exercises:\\ //induction, termination, determinacy, divergence//\\ \\ 08 - Partial orders and fixpoints (ctd.):\\ //continuity, Kleene's fixpoint theorem, McCarthy's 91 function// | {{ :magistraleinformatica:psc:02_-_properties_-_2024.pdf |Exercises 02}}\\ {{ :magistraleinformatica:psc:2024-03-07_-_08b_-_kleene.pdf |Lecture 08b}}\\ | | | 7 | Fri | 07/03 | 09:00-11:00 | L1 | 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// | {{ :magistraleinformatica:psc:2025-03-07_-_06_-_equivalence.pdf |Lecture 06}}\\ {{ :magistraleinformatica:psc:2025-03-07_-_07_-_recursion.pdf |Lecture 07}} | |
| - | Tue | 12/03 | - | - | **Canceled** (Teacher's travel constraints) | - | | | 8 | Tue | 11/03 | 09:00-11:00 | E | 08 - Partial orders and fixpoints (ctd.):\\ //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// | Lecture 08a\\ Lecture 08b | |
| - | Thu | 14/03 | - | - | **Canceled** (Teacher's travel constraints) | - | | | 9 | Thu | 13/03 | 14:00-16:00 | C1 | Exercises:\\ //induction, termination, determinacy, divergence//\\ \\ 08 - Partial orders and fixpoints (ctd.):\\ //continuity, Kleene's fixpoint theorem, McCarthy's 91 function// | Exercises 02\\ Lecture 08b\\ | |
| - | Fri | 15/03 | - | - | **Canceled** (Teacher's travel constraints) | - | | | 10 | Fri | 14/03 | 09:00-11:00 | L1 | Exercises:\\ //well-founded recursion, posets, semantics//\\ \\ 08 - Partial orders and fixpoints (ctd.):\\ //recursive definitions of partial functions as logical systems, immediate consequences operator, set of theorems as fixpoint// | Exercises 03\\ Lecture 08c | |
| 10 | Tue | 19/03 | 16:00-18:00 | C1 | Exercises:\\ //well-founded recursion, posets, semantics//\\ \\ 08 - Partial orders and fixpoints (ctd.):\\ //recursive definitions of partial functions as logical systems, immediate consequences operator, set of theorems as fixpoint// | {{ :magistraleinformatica:psc:03_-_poset_-_2024.pdf |Exercises 03}}\\ {{ :magistraleinformatica:psc:2024-03-19_-_08c_-_ico.pdf |Lecture 08c}} | | | 11 | | | | | 09 - Denotational semantics:\\ //lambda-notation, free variables, capture-avoiding substitutions, alpha-conversion, beta rule, conditionals, denotational semantics of commands, fixpoint computation//\\ \\ 10 - Consistency:\\ //denotational equivalence, congruence, compositionality principle, consistency of commands, correctness, completeness// | Lecture 09\\ Lecture 10 | |
| 11 | Thu | 21/03 | 16:00-18:00 | X3 | 09 - Denotational semantics:\\ //lambda-notation, free variables, capture-avoiding substitutions, alpha-conversion, beta rule, conditionals, denotational semantics of commands, fixpoint computation//\\ \\ 10 - Consistency:\\ //denotational equivalence, congruence, compositionality principle, consistency of commands, correctness, completeness// | {{ :magistraleinformatica:psc:2024-03-19_-_09_-_denotational_imp.pdf |Lecture 09}}\\ {{ :magistraleinformatica:psc:2024-03-21_-_10_-_consistency_imp.pdf |Lecture 10}} | | | 12 | | | | | 11 - Haskell:\\ //an overview//\\ \\ Haskell ghci:\\ //basics, tuples, lists, list comprehension, guards, pattern matching, lambda, partial application, zip, exercises// | [[https://www.haskell.org/|Haskell]]\\ Lecture 11\\ ghci session 01 | |
| 12 | Fri | 22/03 | 14:00-16:00 | C1 | 11 - Haskell:\\ //an overview//\\ \\ Haskell ghci:\\ //basics, tuples, lists, list comprehension, guards, pattern matching, lambda, partial application, zip, exercises// | [[https://www.haskell.org/|Haskell]]\\ {{ :magistraleinformatica:psc:2024-03-22_-_11_-_haskell.pdf |Lecture 11}}\\ {{ :magistraleinformatica:psc:ghci-session1-2024.txt.zip |ghci session 01}} | | | 13 | | | | | Haskell ghci (ctd):\\ //recursive definitions, tail recursion, let-in, where, map, filter, fixpoint operator, folds, application, function composition, exercises// | [[https://www.haskell.org/|Haskell]]\\ ghci session 02 | |
| 13 | Tue | 26/03 | 16:00-18:00 | C1 | Haskell ghci (ctd):\\ //recursive definitions, tail recursion, let-in, where, map, filter, fixpoint operator, folds, application, function composition, exercises// | [[https://www.haskell.org/|Haskell]]\\ {{ :magistraleinformatica:psc:ghci-session2-2024.txt.zip |ghci session 02}} | | | 14 | | | | | Haskell ghci (ctd.):\\ //data types, type classes, recursive data structures, derived instances, exercises// | [[https://www.haskell.org/|Haskell]]\\ ghci session 03 | |
| 14 | Thu | 28/03 | 16:00-18:00 | X3 | Haskell ghci (ctd.):\\ //data types, type classes, recursive data structures, derived instances, exercises// | [[https://www.haskell.org/|Haskell]]\\ {{ :magistraleinformatica:psc:ghci-session3-2024.txt.zip |ghci session 03}} | | | 15 | | | | | Exercises:\\ //Haskell//\\ \\ 12 - HOFL:\\ //syntax, pre-terms, types, types judgements, type system, type checking, type inference, principal type// | Exercises 04\\ Lecture 12a | |
| 15 | Thu | 04/04 | 16:00-18:00 | X3 | Exercises:\\ //Haskell//\\ \\ 12 - HOFL:\\ //syntax, pre-terms, types, types judgements, type system, type checking, type inference, principal type// | {{ :magistraleinformatica:psc:04_-_haskell_-_2024.pdf |Exercises 04}}\\ {{ :magistraleinformatica:psc:2024-04-04_-_12a_-_hofl_types.pdf |Lecture 12a}} | | | 16 | | | | | 12 - HOFL (ctd.):\\ //canonical forms, operational semantics, lazy vs eager evaluation//\\ \\ 13 - Domain theory:\\ //Integers with bottom, cartesian product, projections// | Lecture 12b\\ Lecture 13a | |
| 16 | Fri | 05/04 | 14:00-16:00 | C1 | 12 - HOFL (ctd.):\\ //canonical forms, operational semantics, lazy vs eager evaluation//\\ \\ 13 - Domain theory:\\ //Integers with bottom, cartesian product, projections// | {{ :magistraleinformatica:psc:2024-04-04_-_12b_-_hofl_operational.pdf |Lecture 12b}}\\ {{ :magistraleinformatica:psc:2024-04-05_-_13a_-_cartesian_domains.pdf |Lecture 13a}} | | | 17 | | | | | 13 - Domain theory (ctd.):\\ //switching lemma, functional domains, lifting, let notation//\\ \\ 14 - Denotational semantics of HOFL:\\ //definition and examples, type consistency// | Lecture 13b\\ Lecture 13c\\ Lecture 14 | |
| - | Tue | 09/04 | - | - | **Canceled** (Teacher's travel constraints) | - | | | 18 | | | | | 13 - Domain theory (ctd.):\\ //continuity theorems, apply, fix, curry, uncurry//\\ \\ 14 - Denotational semantics of HOFL (ctd.):\\ //substitution lemma, compositionality and other properties//\\ \\ 15 - Consistency of HOFL:\\ //Counterexample to completeness, correctness of the operational semantics// | Lecture 13c\\ Lecture 14\\ Lecture 15 | |
| 17 | Thu | 11/04 | 16:00-18:00 | X3 | 13 - Domain theory (ctd.):\\ //switching lemma, functional domains, lifting, let notation//\\ \\ 14 - Denotational semantics of HOFL:\\ //definition and examples, type consistency// | {{ :magistraleinformatica:psc:2024-04-11_-_13b_-_functional_domains.pdf |Lecture 13b}}\\ {{ :magistraleinformatica:psc:2024-04-11_-_13c_-_continuity_theorems.pdf |Lecture 13c}}\\ {{ :magistraleinformatica:psc:2024-04-12_-_14_-_hofl_denotational.pdf |Lecture 14}} | | | 19 | | | | | 15 - Consistency of HOFL (ctd.):\\ //operational convergence, denotational convergence, operational convergence implies denotational convergence (and vice versa), operational and denotational equivalence, correspondence for type int, unlifted semantics, lifted vs unlifted semantics//\\ \\ 16 - Erlang:\\ //an overview//\\ \\ Exercises:\\ //HOFL, domains// | Lecture 15\\ Lecture 16\\ Exercises 05 | |
| 18 | Fri | 12/04 | 14:00-16:00 | C1 | 13 - Domain theory (ctd.):\\ //continuity theorems, apply, fix, curry, uncurry//\\ \\ 14 - Denotational semantics of HOFL (ctd.):\\ //substitution lemma, compositionality and other properties//\\ \\ 15 - Consistency of HOFL:\\ //Counterexample to completeness, correctness of the operational semantics// | {{ :magistraleinformatica:psc:2024-04-11_-_13c_-_continuity_theorems.pdf |Lecture 13c}}\\ {{ :magistraleinformatica:psc:2024-04-12_-_14_-_hofl_denotational.pdf |Lecture 14}}\\ {{ :magistraleinformatica:psc:2024-04-12_-_15_-_consistency_hofl.pdf |Lecture 15}} | | |
| 19 | Tue | 16/04 | 16:00-18:00 | C1 | 15 - Consistency of HOFL (ctd.):\\ //operational convergence, denotational convergence, operational convergence implies denotational convergence (and vice versa), operational and denotational equivalence, correspondence for type int, unlifted semantics, lifted vs unlifted semantics//\\ \\ 16 - Erlang:\\ //an overview//\\ \\ Exercises:\\ //HOFL, domains// | {{ :magistraleinformatica:psc:2024-04-12_-_15_-_consistency_hofl.pdf |Lecture 15}}\\ {{ :magistraleinformatica:psc:2024-04-16_-_16_-_erlang.pdf |Lecture 16}}\\ {{ :magistraleinformatica:psc:05_-_hofl_-_2024.pdf |Exercises 05}} | | |
| |
| |
| |
^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ | ^ N ^ Date ^^ Time ^ Room ^ Lecture notes ^ Links ^ |
| 20 | Thu | 18/04 | 16:00-18:00 | X3 | 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:\\ //Syntax, operational semantics// | [[http://www.erlang.org/|Erlang]]\\ {{ :magistraleinformatica:psc:erl_2024.zip |erl session}}\\ {{ :magistraleinformatica:psc:2024-04-18_-_17a_-_ccs.pdf |Lecture 17a}} | | | 20 | | | | | 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:\\ //Syntax, operational semantics// | [[http://www.erlang.org/|Erlang]]\\ erl session\\ Lecture 17a | |
| 21 | Fri | 19/04 | 14:00-16:00 | C1 | 17 - CCS (ctd.):\\ //value passing, finitely branching processes, guarded processes//\\ \\ 18 - Bisimulation:\\ //abstract semantics, graph isomorphism, trace equivalence, bisimulation game, strong bisimulation// | {{ :magistraleinformatica:psc:2024-04-18_-_17a_-_ccs.pdf |Lecture 17a}}\\ {{ :magistraleinformatica:psc:2024-04-19_-_17b_-_ccs_guarded.pdf |Lecture 17b}}\\ {{ :magistraleinformatica:psc:2024-04-19_-_18a_-_ccs_abstract.pdf |Lecture 18a}}\\ {{ :magistraleinformatica:psc:2024-04-19_-_18b_-_ccs_bisimulation.pdf |Lecture 18b}} | | | 21 | | | | | 17 - CCS (ctd.):\\ //value passing, finitely branching processes, guarded processes//\\ \\ 18 - Bisimulation:\\ //abstract semantics, graph isomorphism, trace equivalence, bisimulation game, strong bisimulation// | Lecture 17a\\ Lecture 17b\\ Lecture 18a\\ Lecture 18b | |
| 22 | Tue | 23/04 | 16:00-18:00 | C1 | 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// | {{ :magistraleinformatica:psc:2024-04-19_-_18b_-_ccs_bisimulation.pdf |Lecture 18b}}\\ {{ :magistraleinformatica:psc:2024-04-23_-_18c_-_ccs_bis_as_fix.pdf |Lecture 18c}} | | | 22 | | | | | 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// | Lecture 18b\\ Lecture 18c | |
| 23 | Fri | 26/04 | 14:00-16:00 | C1 | 18 - Bisimulation (ctd.):\\ //strong bisimilarity as a fixpoint, Phi operator, Phi is monotone, Phi is continuous (on finitely branching processes), 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// | {{ :magistraleinformatica:psc:2024-04-23_-_18c_-_ccs_bis_as_fix.pdf |Lecture 18c}}\\ {{ :magistraleinformatica:psc:2024-04-26_-_19_-_hml.pdf |Lecture 19}}\\ {{ :magistraleinformatica:psc:2024-04-26_-_20_-_weak.pdf |Lecture 20}} | | | 23 | | | | | 18 - Bisimulation (ctd.):\\ //strong bisimilarity as a fixpoint, Phi operator, Phi is monotone, Phi is continuous (on finitely branching processes), 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// | Lecture 18c\\ Lecture 19\\ Lecture 20 | |
| 24 | Tue | 30/04 | 16:00-18:00 | C1 | 21 - CCS at work:\\ //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:2024-04-30_-_21_-_ccs_at_work.pdf |Lecture 21}}\\ [[http://caal.cs.aau.dk/|CAAL]]\\ {{ :magistraleinformatica:psc:caal-session-2024.zip |CAAL session}} | | | 24 | | | | | 21 - CCS at work:\\ //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) | Lecture 21\\ [[http://caal.cs.aau.dk/|CAAL]]\\ CAAL session | |
| 25 | Thu | 02/05 | 16:00-18:00 | X3 | 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_-_2024.pdf |Exercises 06}}\\ {{ :magistraleinformatica:psc:2024-05-02_-_22a_-_ltl_ctl.pdf |Lecture 22a}} | | | 25 | | | | | Exercises:\\ //Erlang, CCS//\\ \\ 22 - Temporal and modal logics:\\ //linear temporal logic (LTL), linear structures models, shifting, LTL satisfaction, equivalence of formulas, automata-like models// | Exercises 06\\ Lecture 22a | |
| - | Fri | 03/05 | - | - | **Canceled** (Student body assembly) | - | | | 26 | | | | | 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// | Lecture 22a\\ Lecture 22b | |
| 26 | Tue | 07/05 | 16:00-18:00 | C1 | 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// | {{ :magistraleinformatica:psc:2024-05-02_-_22a_-_ltl_ctl.pdf |Lecture 22a}}\\ {{ :magistraleinformatica:psc:2024-05-03_-_22b_-_mu_calculus.pdf |Lecture 22b}} | | | 27 | | | | | 22 - Temporal and modal logics (ctd.):\\ //invariant properties, possibly properties, mu-calculus with labels//\\ \\ 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 | Lecture 22b\\ Lecture 23\\ [[http://golang.org/|Google Go]]\\ go session | |
| 27 | Thu | 09/05 | 16:00-18:00 | X3 | 22 - Temporal and modal logics (ctd.):\\ //invariant properties, possibly properties, mu-calculus with labels//\\ \\ 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:2024-05-03_-_22b_-_mu_calculus.pdf |Lecture 22b}}\\ {{ :magistraleinformatica:psc:2024-05-09_-_23_-_google_go.pdf |Lecture 23}}\\ [[http://golang.org/|Google Go]]\\ {{ :magistraleinformatica:psc:go-session-2024.zip |go session}} | | | 28 | | | | | 24 - Pi-calculus:\\ //name mobility, free names, bound names, syntax and operational semantics, scope extrusion, early and late bisimilarities, weak semantics// | Lecture 24 | |
| 28 | Fri | 10/05 | 14:00-16:00 | C1 | 24 - Pi-calculus:\\ //name mobility, free names, bound names, syntax and operational semantics, scope extrusion, early and late bisimilarities, weak semantics// | {{ :magistraleinformatica:psc:2024-05-10_-_24_-_pi_calculus.pdf |Lecture 24}} | | | 29 | | | | | 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// | Exercises 07\\ Lecture 25a | |
| 29 | Tue | 14/05 | 16:00-18: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// | {{ :magistraleinformatica:psc:07_-_logics_-_googlego_-_pi_-_2024.pdf |Exercises 07}}\\ {{ :magistraleinformatica:psc:2024-05-14_-_25a_-_dtmc.pdf |Lecture 25a}} | | | 30 | | | | | 25 - Measure theory and Markov chains (ctd):\\ //next state probability, ergodic DTMC, steady state distribution, finite path probability, 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// | Lecture 25a\\ Lecture 25b\\ Lecture 26 | |
| 30 | Thu | 16/05 | 16:00-18:00 | X3 | 25 - Measure theory and Markov chains (ctd):\\ //next state probability, ergodic DTMC, steady state distribution, finite path probability, 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// | {{ :magistraleinformatica:psc:2024-05-14_-_25a_-_dtmc.pdf |Lecture 25a}}\\ {{ :magistraleinformatica:psc:2024-05-16_-_25b_-_ctmc.pdf |Lecture 25b}}\\ {{ :magistraleinformatica:psc:2024-05-16_-_26_-_probabilistic_bisimilarities.pdf |Lecture 26}} | | | 31 | | | | | 26 - Probabilistic bisimilarities (ctd.):\\ //probabilistic reactive systems, bisimilarity for reactive systems, Larsen-Skou logic//\\ \\ 27 - PEPA:\\ //motivation, basic ideas, PEPA workflow, PEPA syntax, cooperation combinator, bounded capacity, apparent rate, PEPA operational semantics, performance analysis, reward structures// | Lecture 26\\ Lecture 27\\ [[http://www.dcs.ed.ac.uk/pepa/|PEPA]] | |
| 31 | Fri | 17/05 | 14:00-16:00 | C1 | 26 - Probabilistic bisimilarities (ctd.):\\ //probabilistic reactive systems, bisimilarity for reactive systems, Larsen-Skou logic//\\ \\ 27 - PEPA:\\ //motivation, basic ideas, PEPA workflow, PEPA syntax, cooperation combinator, bounded capacity, apparent rate, PEPA operational semantics, performance analysis, reward structures// | {{ :magistraleinformatica:psc:2024-05-16_-_26_-_probabilistic_bisimilarities.pdf |Lecture 26}}\\ {{ :magistraleinformatica:psc:2024-05-17_-_27_-_pepa.pdf |Lecture 27}}\\ [[http://www.dcs.ed.ac.uk/pepa/|PEPA]] | | | 32 | | | | | Exercises:\\ //Markov chains, probabilistic systems, PEPA// | Exercises 08 | |
| 32 | Tue | 21/05 | 16:00-18:00 | C1 | Exercises:\\ //Markov chains, probabilistic systems, PEPA// | {{ :magistraleinformatica:psc:08_-_probability_-_2024.pdf |Exercises 08}} | | | 33 | | | | | Exercises:\\ //Samples from exam exercises// | | |
| 33 | Thu | 23/05 | 16:00-18:00 | X3 | Exercises:\\ //Samples from exam exercises// | | | | 34 | | | | | Mini-projects:\\ //discussion// | | |
| 34 | Fri | 24/05 | 14:00-18:00 | Teacher's office | Mini-projects:\\ //discussion// | | | |
| End | | | | | | | | | End | | | | | | | |
| |