Graph Representation of Sessions and Pipelines for Structured Service Programming
|
|
- Marjorie Morris
- 6 years ago
- Views:
Transcription
1 Graph Representation of Sessions and Pipelines for Structured Service Programming Liang Zhao 1,2 with Roberto Bruni 1 and Zhiming Liu 2 1 University of Pisa, Italy 2 UNU-IIST, Macao SR, China FCS 2010 Zhao, et al. Graph Representation of CaSPiS 2010
2 Introduction Traditional process calculi successful in modeling concurrent systems, mobile systems modeling service systems? Problem: low level communication primitives, complexity of analysis Calculus of Sessions and Pipelines (CaSPiS) spects: service autonomy, client-service interaction, orchestration Key notions: session (define interactions between two sides), pipeline (orchestrate the flow of data) Sessions and pipelines can be nested. Operational semantics: transition rules, silent transitions (reductions) Zhao, et al. Graph Representation of CaSPiS 2010
3 Introduction Motivation hierarchical service system S D I P 1 s P 2 P 3 r S P 4 vs. textual expression: s.p 1 r (s.p 2 P 3 ) r P 4 Zhao, et al. Graph Representation of CaSPiS 2010
4 Outline 1 The calculus CaSPiS Syntax Operational semantics (reduction) 2 lgebra of hierarchical graphs Grammar and semantic model Graph transformation by DPO 3 Graph representation of CaSPiS Processes as designs Graph transformation rules Soundness and completeness Zhao, et al. Graph Representation of CaSPiS 2010
5 Outline 1 The calculus CaSPiS Syntax Operational semantics (reduction) 2 lgebra of hierarchical graphs Grammar and semantic model Graph transformation by DPO 3 Graph representation of CaSPiS Processes as designs Graph transformation rules Soundness and completeness Zhao, et al. Graph Representation of CaSPiS 2010
6 Syntax Syntax of CaSPiS Process P,Q ::= M P Q s.p s.p r P (νn)p P > Q Sum M ::= 0 (?x)p V P V P M + M Value V ::= x c Example: P 0 = time. T time.(?x) x Structural Congruence (P 1 P 2 ) P 3 c P 1 (P 2 P 3 ) M 1 + M 2 c M 2 + M 1 (νn)0 c 0 r (νn)p c (νn)(r P) if n r... Syntax Zhao, et al. Graph Representation of CaSPiS 2010
7 Semantics Contexts Dynamic operators: (?x)[ ], [ ] + M, s.[ ], P > [ ] Static contexts: [ ] Q, r [ ], (νx)[ ], [ ] [ ],... Basic Reductions (Sync): C[s.P, s.q] (νr)c[r P, r Q] (S-Sync): C[r (P 0 y P), r (?x)q] C[r (P 0 P), r Q[y/x]] (P-Sync): C[(P 0 y P) > (?x)q] C[Q[y/x] ((P 0 P) > (?x)q)]... Example P 0 = time. T time.(?x) x P 1 = (νr)(r T r (?x) x ) P 2 = (νr)(r 0 r T ) Operational semantics (reduction) Zhao, et al. Graph Representation of CaSPiS 2010
8 Outline 1 The calculus CaSPiS Syntax Operational semantics (reduction) 2 lgebra of hierarchical graphs Grammar and semantic model Graph transformation by DPO 3 Graph representation of CaSPiS Processes as designs Graph transformation rules Soundness and completeness Zhao, et al. Graph Representation of CaSPiS 2010
9 Graph Grammar Terms Graph G ::= 0 x l( x) G G (νx)g D x Design D ::= L y [G] Free Node Free node: not restricted or exposed Example: L y [(νx)l(x,y)] z Type Fixed Type: each node x, edges label l, design label L Well-typedness: l( x), L y [G] x Grammar and semantic model Zhao, et al. Graph Representation of CaSPiS 2010
10 Semantic Model Interpretation of Terms G 1 = a(y 1 ) y 2 y1 a y2 Order of Tentacles of (Hyper-)edges 2 1 l l Grammar and semantic model Zhao, et al. Graph Representation of CaSPiS 2010
11 Semantic Model Interpretation of Terms G 2 = L (y1,y 2 )[a(y 1 ) y 2 ] x 1,x 2 L 1 1 x1 a L 1 2 x2 G 3 = L (y1,y 2 )[a(y 1 ) y 2 ] x 1,x 2 L (y1,y 2 )[y 1 a(y 2 )] x 1,x 2 L 1 1 x1 L 2 1 a a L 1 2 x2 L 2 2 L a x1 L a x2 Grammar and semantic model Zhao, et al. Graph Representation of CaSPiS 2010
12 Semantic Model Flat Design Edge L (y1,y 2 )[a(y 1 ) y 2 ] x 1,x 2 vs. F (y1,y 2 )[a(y 1 ) y 2 ] x 1,x 2 L a x1 x2 x1 a x2 Node Sharing K x [b(x,y)] z K x [b(x,y)] z vs. K x [(νy)b(x,y)] z K x [(νy)b(x,y)] z K b z K b y K b z K b Grammar and semantic model Zhao, et al. Graph Representation of CaSPiS 2010
13 Graph Transformation Morphism and Pushout Morphism: a mapping (m :G 1 G 2 ) that preserves types of nodes, labels and tentacles of edges Pushout: a square of (four) morphisms that commute Double Pushout (DPO) Rules R :GL m l GI m r GR, or simply GL GI GR m l mr GL GI GR m 1 m 2 m 3 m l G G m r G Direct derivation: G R G Derivation: a sequence of direct derivations, G G Graph transformation by DPO Zhao, et al. Graph Representation of CaSPiS 2010
14 Outline 1 The calculus CaSPiS Syntax Operational semantics (reduction) 2 lgebra of hierarchical graphs Grammar and semantic model Graph transformation by DPO 3 Graph representation of CaSPiS Processes as designs Graph transformation rules Soundness and completeness Zhao, et al. Graph Representation of CaSPiS 2010
15 Graph Representation Nil, bstraction and Parallel composition P Nil P bs P P P Par Q 0 (?x)p P Q 0 (?x)p P Q def = P (p,i,o,t) [i o t Nil(p)] def = P (p,i,o,t) [(ν{p 1,x}) ( bs(p,x,p 1,i) P p 1,i,o,t ) ] def = P (p,i,o,t) [(ν{p ( 1,p 2 }) Par(p,p1,p 2 ) P p 1,i,o,t Q p 2,i,o,t ) ] Processes as designs Zhao, et al. Graph Representation of CaSPiS 2010
16 Graph Representation Session and Pipeline P S r Ses P r P P P R Pip Q P > Q r P P > Q def = P (p,i,o,t) [i t S ( (p,t) [(ν{p 1,i 1,o 1 }) Ses(p,r,p1,i 1,o 1 ) P p 1,i 1,o 1,t ) ] p,o ] def = P (p,i,o,t) [(ν{p 1,p 2,o 1 }) ( Pip(p,p 1,p 2,o 1,i,o,t) P p 1,i,o 1,t R p [(ν{i,o,t})q p,i,o,t ] p 2 ) ] Processes as designs Zhao, et al. Graph Representation of CaSPiS 2010
17 Graph Representation n Example p D time T Def Con Nil I Inv bs Ret Par P 0 p,i,o,t i o t Nil P 0 = time. T time.(?x) x Processes as designs Zhao, et al. Graph Representation of CaSPiS 2010
18 Graph Representation Tagged Graph p D time T Def Con Nil I Inv bs Ret Par P 0 p,i,o,t i o t Nil P 0 = time. T time.(?x) x Processes as designs Zhao, et al. Graph Representation of CaSPiS 2010
19 Graph Transformation Rules Do congruence processes have the same graph representation? P 1 P 2 vs. P 2 P 1 C : Rules for congruence What is the relation between P and Q with P Q? R : Rules for reduction uxiliary rules (tagging, garbage collection) Rule for Congruence Par 3 1 Par 2 C[P 1 P 2 ] C[P 2 P 1 ] Graph transformation rules Zhao, et al. Graph Representation of CaSPiS 2010
20 Graph Transformation Rules Rule for Congruence (Cont.) Par Par Par Par C[(P 1 P 2 ) P 3 ] C[P 1 (P 2 P 3 )] Rule for Congruence (Cont.) Par Res Res Par C[P 1 (νn)p 2 ] C[(νn)(P 1 P 2 )] Graph transformation rules Zhao, et al. Graph Representation of CaSPiS 2010
21 Graph Transformation Rules p D time T Def Con Nil I Inv bs Ret Par i o t Nil D Def I Inv S rv Ses S Ses Graph transformation rules Zhao, et al. Graph Representation of CaSPiS 2010
22 Graph Transformation Rules p S rv time T Ses Con Nil Par S Ses bs Ret i o t Nil Garbage Collection Rule Graph transformation rules Zhao, et al. Graph Representation of CaSPiS 2010
23 Graph Transformation Rules p S rv Ses Con Nil Par T S Ses bs Ret i o t Nil Tagging Rule S Ses S Ses S Ses Graph transformation rules Zhao, et al. Graph Representation of CaSPiS 2010
24 Graph Transformation Rules p S rv Ses Con Nil Par T S Ses bs Ret i o t Nil P 1 p,i,o,t P 1 = (νr)(r T r (?x) x ) Graph transformation rules Zhao, et al. Graph Representation of CaSPiS 2010
25 Graph Transformation Rules Rule for Reduction S Ses S Ses Con bs S Ses S Ses n p p n q q p/p p, q/q q;n/n n S Ses S p Ses q n Graph transformation rules Zhao, et al. Graph Representation of CaSPiS 2010
26 Graph Transformation Rules p S rv Ses Par S Ses Nil i o t T Ret Nil P 2 p,i,o,t P 2 = (νr)(r 0 r T ) Graph transformation rules Zhao, et al. Graph Representation of CaSPiS 2010
27 Soundness and Completeness Theorem (soundness w.r.t. congruence) P C G implies G d Q for some Q c P Theorem (completeness w.r.t. congruence) P c Q implies P C Q and Q c Q for some Q Conjecture (soundness w.r.t. reduction) P Q implies P Q difficulty: intermediate states Conjecture (completeness w.r.t. reduction) P Q implies P Q for some Q c Q difficulty: replications Soundness and completeness Zhao, et al. Graph Representation of CaSPiS 2010
28 Summary What we have done a graph algebra: grammar, semantic model graph representation of CaSPiS processes (tagged graphs) graph transformation rules (DPO): congruence, reduction, auxiliary (tagging, garbage collection) soundness and completeness of DPO rules w.r.t. congruence Future Work soundness and completeness of DPO rules w.r.t. reduction case study and implementation Zhao, et al. Graph Representation of CaSPiS 2010
Graphs and Graph Transformations for Object-Oriented and Service-Oriented Systems
Università degli Studi di Pisa Dipartimento di Informatica Dottorato di Ricerca in Informatica Ph.D. Thesis Graphs and Graph Transformations for Object-Oriented and Service-Oriented Systems Liang Zhao
More informationSessions and Pipelines for Structured Service Programming
Sessions and Pipelines for Structured Service Programming Michele Boreale 1, Roberto Bruni 2, Rocco De Nicola 1, and Michele Loreti 1 1 Dipartimento di Sistemi e Informatica, Università di Firenze {boreale,denicola,loreti}@dsi.unifi.it
More informationCourse on Probabilistic Methods in Concurrency. (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous pi-calculus. Catuscia Palamidessi INRIA
More informationDeadlock Avoidance in SCC
Deadlock Avoidance in SCC based on the AMAST 2008 paper Types and deadlock freedom in a calculus of services, sessions and pipelines Roberto Bruni 1 Leonardo Gaetano Mezzina 2 1 Dipartimento di Informatica
More informationResource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems
Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of
More informationOn the Expressiveness of Polyadicity in Higher-Order Process Calculi
On the Expressiveness of Polyadicity in Higher-Order Process Calculi Ivan Lanese, Jorge A. Pérez, Davide Sangiorgi (Univ. di Bologna) Alan Schmitt (INRIA Grenoble - Rhône Alpes) ICTCS 09 Cremona, September
More informationRecursively defined cpo algebras
Recursively defined cpo algebras Ohad Kammar and Paul Blain Levy July 13, 2018 Ohad Kammar and Paul Blain Levy Recursively defined cpo algebras July 13, 2018 1 / 16 Outline 1 Bilimit compact categories
More informationOn the Expressiveness of Infinite Behavior and Name Scoping in Process Calculi
On the Expressiveness of Infinite Behavior and Name Scoping in Process Calculi Pablo Giambiagi (KTH, Sweden) Gerardo Schneider (IRISA/INRIA) Speaker: Frank D. Valencia (Uppsala Univ., Sweden) FOSSACS 04,
More informationNote that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.
CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.
More informationRecent Trends in OO Modelling Languages
JML,, Institute for Software Technology Graz University of Technology Graz, Austria United Nations University International Institute for Software Technology Macao S.A.R. China Overture 2006 Outline JML
More informationPrinciples of Programming Languages 2017W, Functional Programming
Principles of Programming Languages 2017W, Functional Programming Assignment 3: Lisp Machine (16 points) Lisp is a language based on the lambda calculus with strict execution semantics and dynamic typing.
More informationType Soundness and Race Freedom for Mezzo
Type Soundness and Race Freedom for Mezzo Thibaut Balabonski François Pottier Jonathan Protzenko INRIA FLOPS 2014 1 / 42 Mezzo in a few words Mezzo is a high-level programming language, equipped with:
More informationAn introduction to Category Theory for Software Engineers*
An introduction to Category Theory for Software Engineers* Dr Steve Easterbrook Associate Professor, Dept of Computer Science, University of Toronto sme@cs.toronto.edu *slides available at http://www.cs.toronto.edu/~sme/presentations/cat101.pdf
More information3.4 Deduction and Evaluation: Tools Conditional-Equational Logic
3.4 Deduction and Evaluation: Tools 3.4.1 Conditional-Equational Logic The general definition of a formal specification from above was based on the existence of a precisely defined semantics for the syntax
More informationTowards a Notion of Transaction in Graph Rewriting 1
GT-VMT Towards a Notion of Transaction in Graph Rewriting P. Baldan a, A. Corradini b, F.L. Dotti c, L. Foss b,d, F. Gadducci b, L. Ribeiro d a Università Ca Foscari di Venezia, Italy b Università di Pisa,
More informationContents. Chapter 1 SPECIFYING SYNTAX 1
Contents Chapter 1 SPECIFYING SYNTAX 1 1.1 GRAMMARS AND BNF 2 Context-Free Grammars 4 Context-Sensitive Grammars 8 Exercises 8 1.2 THE PROGRAMMING LANGUAGE WREN 10 Ambiguity 12 Context Constraints in Wren
More informationCSCI-GA Scripting Languages
CSCI-GA.3033.003 Scripting Languages 12/02/2013 OCaml 1 Acknowledgement The material on these slides is based on notes provided by Dexter Kozen. 2 About OCaml A functional programming language All computation
More informationSubstitution in Structural Operational Semantics and value-passing process calculi
Substitution in Structural Operational Semantics and value-passing process calculi Sam Staton Computer Laboratory University of Cambridge Abstract Consider a process calculus that allows agents to communicate
More informationTheory of Graph Transformations
Theory of Graph Transformations Helge Wiemann University of Bremen studies of computer science hwiemann@tzi.de Abstract This paper shall give an introduction into the theory of rule-based graph transformation
More informationSemantics for core Concurrent ML using computation types
Semantics for core Concurrent ML using computation types Alan Jeffrey Abstract This paper presents two typed higherorder concurrent functional programming languages based on Reppy s Concurrent ML. The
More informationDenotational Semantics. Domain Theory
Denotational Semantics and Domain Theory 1 / 51 Outline Denotational Semantics Basic Domain Theory Introduction and history Primitive and lifted domains Sum and product domains Function domains Meaning
More informationPrinciples of Compiler Construction ( )
Principles of Compiler Construction ( ) Dr Mayer Goldberg September 5, 2016 Contents 1 Course Objectives 1 2 Course Requirements 2 3 Detailed Syllabus 3 4 References 6 Course number: 201-1-2061 Mandatory
More informationGraph reduction. Simple graph reduction with visualisation
Simple graph reduction with visualisation Outline The minifp language Graph representation of terms Tying the knot The compiler The reduction engine Literature The minifp language Small functional language,
More informationLambda Calculus and Extensions as Foundation of Functional Programming
Lambda Calculus and Extensions as Foundation of Functional Programming David Sabel and Manfred Schmidt-Schauß 29. September 2015 Lehrerbildungsforum Informatik Last update: 30. September 2015 Overview
More informationEvaluation Trees for Proposition Algebra
Evaluation Trees for Proposition Algebra Alban Ponse joined work with Jan A. Bergstra section Theory of Computer Science Informatics Institute, University of Amsterdam https://staff.fnwi.uva.nl/a.ponse/
More informationChecking Conservativity With HETS
Checking Conservativity With HETS Mihai Codescu 1, Till Mossakowski 2,3, and Christian Maeder 2 1 University of Erlangen-Nürnberg, Germany 2 DFKI GmbH Bremen, Germany 3 SFB/TR 8 Spatial Cognition, University
More informationDining Philosophers with π-calculus
Dining Philosophers with π-calculus Matthew Johnson January 28, 2015 Overview The primary goal of this project was to explore the π-calculus by implementing a deadlockfree solution to the dining philosophers
More informationOperational Semantics 1 / 13
Operational Semantics 1 / 13 Outline What is semantics? Operational Semantics What is semantics? 2 / 13 What is the meaning of a program? Recall: aspects of a language syntax: the structure of its programs
More informationArchitecture as coordination: the Orc perspective
Architecture as coordination: the Orc perspective L.S. Barbosa Dept. Informática, Universidade do Minho Braga, Portugal DI-CCTC, UM, 2009 Introduction Basic calculus Functional core Orc(hestration) examples
More informationBehavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts
Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts Guilherme Rangel 1, Leen Lambers 1, Barbara König 2, Hartmut Ehrig 1, and Paolo Baldan 3 1 Institut für Softwaretechnik
More informationConservative Concurrency in Haskell
Conservative Concurrency in Haskell David Sabel and Manfred Schmidt-Schauß Goethe-University, Frankfurt am Main, Germany LICS 12, Dubrovnik, Croatia Motivation a View on Haskell Purely functional core
More informationBehavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts
Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts Guilherme Rangel 1, Leen Lambers 1, Barbara König 2, Hartmut Ehrig 1, and Paolo Baldan 3 1 Institut für Softwaretechnik
More informationLabelled Transition Systems For a Game Graph
Labelled Transition Systems For a Game Graph Soren Lassen 1 Paul Blain Levy 2 1 Google, Inc. 2 University of Birmingham March 29, 2009 Soren Lassen, Paul Blain Levy ( Google, Inc., UniversityLTSs of Birmingham)
More informationIntroduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe
Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms
More informationGEOMETRY R Unit 4: More Transformations / Compositions. Day Classwork Homework Monday 10/16. Perpendicular Bisector Relationship to Transformations
GEOMETRY R Unit 4: More Transformations / Compositions Day Classwork Homework Monday 10/16 Perpendicular Bisector Relationship to Transformations HW 4.1 Tuesday 10/17 Construction of Parallel Lines Through
More informationA Category-Theoretic Approach to Syntactic Software Merging
A Category-Theoretic Approach to Syntactic Software Merging Nan Niu, Steve Easterbrook, and Mehrdad Sabetzadeh Department of Computer Science University of Toronto, Canada Email: {nn, sme, mehrdad}@cs.toronto.edu
More informationAn introduction to Homotopy Type Theory
An introduction to Homotopy Type Theory Nicola Gambino University of Palermo Leicester, March 15th, 2013 Outline of the talk Part I: Type theory Part II: Homotopy type theory Part III: Voevodsky s Univalent
More informationA Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications
A Formal Resolution Strategy for Operation-Based Conflicts in Model Versioning Using Graph Modifications Hartmut Ehrig 1, Claudia Ermel 1 and Gabriele Taentzer 2 1 Technische Universität Berlin, Germany
More informationA Formal Model for Web-Service Composition
Simon Foster Department of Computer Science University of Sheffield http://www.dcs.shef.ac.uk/~simonf BCTCS 2006 Outline 1 Composing Web-Services Current Technologies 2 3 4 Outline
More informationPrinciples of Compiler Construction ( )
Principles of Compiler Construction ( ) Dr Mayer Goldberg October 25, 2017 Contents 1 Course Objectives 1 2 Course Requirements 2 3 Detailed Syllabus 3 4 Computation of grade 6 5 References 6 Course number:
More informationMotivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK
Semantics of Model Transformation Reiko Heckel University of Leicester, UK, University of Birmingham, 1 March 2007 Motivation: Model-driven driven Engineering Focus and primary artifacts are models instead
More informationChecking the Realizability of BPMN 2.0 Choreographies
Checking the Realizability of PMN 2.0 Choreographies Gwen Salaün Grenoble INP, INRI, France joint work with Pascal Poizat LRI, University of Evry, France 1 Realizability of Choreographies Interactions
More informationThe theory of Mezzo. François Pottier. IHP, April 2014 INRIA
The theory of Mezzo François Pottier INRIA IHP, April 2014 1 / 94 Acknowledgements Jonathan Protzenko, Thibaut Balabonski, Henri Chataing, Armaël Guéneau, Cyprien Mangin. 2 / 94 Outline Introduction The
More informationLinear Type Systems for Concurrent Languages. Eijiro Sumii Naoki Kobayashi University of Tokyo
Linear Type Systems for Concurrent Languages Eijiro Sumii Naoki Kobayashi University of Tokyo Merit and Demerit of Concurrent Languages Compared with sequential languages Merit: more expressive power Inherently
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
CHAPTER 19 Query Optimization Introduction Query optimization Conducted by a query optimizer in a DBMS Goal: select best available strategy for executing query Based on information available Most RDBMSs
More informationtheory of graph transformations
theory of graph transformations University of Bremen 2005-11-25 speaker : Helge Wiemann email : hwiemann@tzi.de theory of graph transformations 1 theory of graph transformations Die großartige Schönheit
More informationFunctional Languages. Hwansoo Han
Functional Languages Hwansoo Han Historical Origins Imperative and functional models Alan Turing, Alonzo Church, Stephen Kleene, Emil Post, etc. ~1930s Different formalizations of the notion of an algorithm
More informationForschungsberichte der Fakultät IV Elektrotechnik und Informatik
Forschungsberichte der Fakultät IV Elektrotechnik und Informatik A Formal Resolution Strategy for Operation-Based Conicts in Model Versioning Using Graph Modications Hartmut Ehrig 1 Claudia Ermel 1 Gabriele
More informationINF5110 Compiler Construction
INF5110 Compiler Construction Introduction Spring 2016 1 / 33 Outline 1. Introduction Introduction Compiler architecture & phases Bootstrapping and cross-compilation 2 / 33 Outline 1. Introduction Introduction
More informationCategorical models of type theory
1 / 59 Categorical models of type theory Michael Shulman February 28, 2012 2 / 59 Outline 1 Type theory and category theory 2 Categorical type constructors 3 Dependent types and display maps 4 Fibrations
More informationIntroduction to Compilers
Introduction to Compilers Compilers are language translators input: program in one language output: equivalent program in another language Introduction to Compilers Two types Compilers offline Data Program
More informationCS 395T. JFK Protocol in Applied Pi Calculus
CS 395T JFK Protocol in Applied Pi Calculus Proving Security Real protocol Process-calculus specification of the actual protocol Ideal protocol Achieves the same goal as the real protocol, but is secure
More informationPawns: a declarative/imperative language
Pawns: a declarative/imperative language Lee Naish Computing and Information Systems University of Melbourne (actually, not quite... ) Naish, Lee (Melbourne Uni.) Pawns: a declarative/imperative language
More informationExpressiveness and Complexity of a Graph Logic
1 Expressiveness and Complexity of a Graph Logic (Cambridge) joint work with Philippa Gardner (Imperial College) and Giorgio Ghelli (Pisa) 2 A View of Process Algebras A term algebra T given by a functional
More informationSingle-pass Static Semantic Check for Efficient Translation in YAPL
Single-pass Static Semantic Check for Efficient Translation in YAPL Zafiris Karaiskos, Panajotis Katsaros and Constantine Lazos Department of Informatics, Aristotle University Thessaloniki, 54124, Greece
More informationDIRECTED PROGRAMS GEOMETRIC MODELS OF CONCURRENT. Samuel Mimram. École Polytechnique
DIRECTED GEOMETRIC MODELS OF CONCURRENT PROGRAMS Samuel Mimram École Polytechnique Applied and Computational Algebraic Topology Spring School April 24th, 2017 2 / 117 Models of concurrent programs We are
More informationData-Oriented System Development
Data-Oriented System Development Prof. Martin Wirsing 30.10.2002 Refinement Technics The Refinement-Concept: Refinement through Inclusion of Model Classes 2 Goals Refinement of functional requirements:
More informationHandling Integer Arithmetic in the Verification of Java Programs
Handling Integer Arithmetic in the Verification of Java Programs Steffen Schlager 1st Swedish-German KeY Workshop Göteborg, Sweden, June 2002 KeY workshop, June 2002 p.1 Introduction UML/OCL specification
More informationCOP4020 Programming Languages. Functional Programming Prof. Robert van Engelen
COP4020 Programming Languages Functional Programming Prof. Robert van Engelen Overview What is functional programming? Historical origins of functional programming Functional programming today Concepts
More informationOn the Recognizability of Arrow and Graph Languages
On the Recognizability of Arrow and Graph Languages Christoph Blume Sander Bruggink Barbara König Universität Duisburg-Essen, Germany Background Applications of finite automata and regular (word) languages
More informationComponent-based Construction of Heterogeneous Real-time Systems in BIP
Component-based Construction of Heterogeneous Real-time Systems in BIP Joseph Sifakis VERIMAG FETCH07 Villard-de-Lans, January 2007 Joseph Sifakis FETCH07 1 Key-issues: Component-based construction Develop
More informationSpecifying and Implementing Secure Mobile Applications
Chapter 1 Specifying and Implementing Secure Mobile Applications 1.1 Introduction............................................................. 1 1.2 The Channel Ambient Calculus.........................................
More informationFunctional Programming. Pure Functional Programming
Functional Programming Pure Functional Programming Computation is largely performed by applying functions to values. The value of an expression depends only on the values of its sub-expressions (if any).
More informationInformatics Education: Hopes or Hypes OR Ubiquitous computi. we understand it!
Informatics Education: Hopes or Hypes OR Ubiquitous computing will empower us, ONLY if we understand it! c Software Technology Research Laboratory (STRL) August 24, 2011 Informatics - The discipline I
More informationFormal Methods in Software Design. Markus Roggenbach
Formal Methods in Software Design Markus Roggenbach October 2001 2 Formal Methods Use of mathematics in software development main activities: writing formal specifications 2 Formal Methods Use of mathematics
More informationFunctional Programming. Pure Functional Languages
Functional Programming Pure functional PLs S-expressions cons, car, cdr Defining functions read-eval-print loop of Lisp interpreter Examples of recursive functions Shallow, deep Equality testing 1 Pure
More informationSemantic Modularization Techniques in Practice: A TAPL case study
1 Semantic Modularization Techniques in Practice: A TAPL case study Bruno C. d. S. Oliveira Joint work with Weixin Zhang, Haoyuan Zhang and Huang Li July 17, 2017 Text 2 EVF: An Extensible and Expressive
More informationSpecC Methodology for High-Level Modeling
EDP 2002 9 th IEEE/DATC Electronic Design Processes Workshop SpecC Methodology for High-Level Modeling Rainer Dömer Daniel D. Gajski Andreas Gerstlauer Center for Embedded Computer Systems Universitiy
More informationChapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query
More informationThe Ptolemy II Framework for Visual Languages
The Ptolemy II Framework for Visual Languages Xiaojun Liu Yuhong Xiong Edward A. Lee Department of Electrical Engineering and Computer Sciences University of California at Berkeley Ptolemy II - Heterogeneous
More informationA Small Interpreted Language
A Small Interpreted Language What would you need to build a small computing language based on mathematical principles? The language should be simple, Turing equivalent (i.e.: it can compute anything that
More informationGradual Parametricity, Revisited
aaachicbvddssmwge39nfov6qu30sf4y2lfuerk6i3etbbys0jtdmtle1lkgqj7nrh8am81sfwtrwvh8d3mo12ozshkpyc7zvkywlsrqwy7s9jbn5hcwm5sljdvvf2ds3tlsyyqqmtzywrlgbkorrtpqkkkbcvbaub4y0g8f1uw8/ecfpwu/vmcv+jhqcrhqjpawuuedfiucmqdecljy61nvfofruusouxdk1a7zll4czxjmqgpig0tw/vtdbwuy4wgxj2hsvpk5eopirkzvl5mkriaeqsjkucxk5efmued7qsqj2tnqguv3tyfes5taodgemvf9o1wrxv1onu9gzn1oezopwph4oyhhucsxygsevbcs21arhqfwseperqfjp9kpeacxdelfoi+tksofitkcws1rhlmnbzt1jr41sagcdse+oaqooav1camaoakweatp4aw8gk/gm/fufixb54yjzwf8gfh5a4h9n/m=
More informationAlgorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1)
Chapter 19 Algorithms for Query Processing and Optimization 0. Introduction to Query Processing (1) Query optimization: The process of choosing a suitable execution strategy for processing a query. Two
More informationAn Algebraic Framework for Optimizing Parallel Programs
An Algebraic Framework for Optimizing Parallel Programs Ichiro Satoh Department of Information Sciences, Ochanomizu University 2-1-1 Otsuka Bunkyo-ku Tokyo 112, Japan ichiro@is.ocha.ac.jp Abstract This
More informationLecture 14: Recursive Types
Lecture 14: Recursive Types Polyvios Pratikakis Computer Science Department, University of Crete Type Systems and Programming Languages Pratikakis (CSD) Recursive Types CS546, 2018-2019 1 / 11 Motivation
More informationFreePascal changes: user documentation
FreePascal changes: user documentation Table of Contents Jochem Berndsen February 2007 1Introduction...1 2Accepted syntax...2 Declarations...2 Statements...3 Class invariants...3 3Semantics...3 Definitions,
More informationcognitive models chapter 12 Cognitive models Cognitive models Goal and task hierarchies goals vs. tasks Issues for goal hierarchies
Cognitive models chapter 12 cognitive models goal and task hierarchies linguistic physical and device architectural Cognitive models They model aspects of user: understanding knowledge intentions processing
More informationTheorem Proving Principles, Techniques, Applications Recursion
NICTA Advanced Course Theorem Proving Principles, Techniques, Applications Recursion 1 CONTENT Intro & motivation, getting started with Isabelle Foundations & Principles Lambda Calculus Higher Order Logic,
More informationCOP4020 Spring 2011 Midterm Exam
COP4020 Spring 2011 Midterm Exam Name: (Please print Put the answers on these sheets. Use additional sheets when necessary or write on the back. Show how you derived your answer (this is required for full
More informationTheory of Computer Science
Theory of Computer Science D3. GOTO-Computability Malte Helmert University of Basel April 25, 2016 Overview: Computability Theory Computability Theory imperative models of computation: D1. Turing-Computability
More informationCS131 Typed Lambda Calculus Worksheet Due Thursday, April 19th
CS131 Typed Lambda Calculus Worksheet Due Thursday, April 19th Name: CAS ID (e.g., abc01234@pomona.edu): I encourage you to collaborate. collaborations below. Please record your Each question is worth
More informationRequirements and Specifications
Requirements and Specifications Software Testing and Verification Lecture 3 Prepared by Stephen M. Thebaut, Ph.D. University of Florida What are Requirements and Specifications? Requirement: something
More informationParallel & Concurrent Programming: ZPL. Emery Berger CMPSCI 691W Spring 2006 AMHERST. Department of Computer Science UNIVERSITY OF MASSACHUSETTS
Parallel & Concurrent Programming: ZPL Emery Berger CMPSCI 691W Spring 2006 Department of Computer Science Outline Previously: MPI point-to-point & collective Complicated, far from problem abstraction
More informationEnabling Component-Based Model Transformations with QVT. Li Dan
Enabling Component-Based Model Transformations with QVT by Li Dan Doctor of Philosophy in Software Engineering 2013 Faculty of Science and Technology University of Macau Enabling Component-Based Model
More informationShared Variables and Interference
Solved Shared Variables and Interference CS 536: Science of Programming, Fall 2018 A. Why Parallel programs can coordinate their work using shared variables, but it s important for threads to not interfere
More informationComputer Science 203 Programming Languages Fall Lecture 10. Bindings, Procedures, Functions, Functional Programming, and the Lambda Calculus
1 Computer Science 203 Programming Languages Fall 2004 Lecture 10 Bindings, Procedures, Functions, Functional Programming, and the Lambda Calculus Plan Informal discussion of procedures and bindings Introduction
More informationSTEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS
STEPHEN WOLFRAM MATHEMATICADO OO Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS Table of Contents XXI a section new for Version 3 a section new for Version 4 a section substantially modified for
More informationSyntactic Type Soundness for HM
Syntactic Type Soundness for HM Christian Skalka The Johns Hopkins University François Pottier INRIA Rocquencourt The system HM The system HM is a constraint based type framework: Sulzmann, PhD thesis
More informationIntroduction to Formal Methods
2008 Spring Software Special Development 1 Introduction to Formal Methods Part I : Formal Specification i JUNBEOM YOO jbyoo@knokuk.ac.kr Reference AS Specifier s Introduction to Formal lmethods Jeannette
More informationIntroduction Attributed Graphs Rule Specification Implementation Conclusion. AGG and PROGRES. Bernhard Scholz. 27th January 2006.
AGG and PROGRES 27th January 2006 AGG and PROGRES 1 Motivation AGG Attributed Graph Grammar System TU Berlin PROGRES PROgrammed Graph REwriting Systems RTWH Aachen How do these systems work? Graph model
More informationA formal derivation of an executable Krivine machine
A formal derivation of an executable Krivine machine Wouter Swierstra Universiteit Utrecht IFIP WG 2.1 Meeting 68; Rome, Italy 1 β reduction (λx. t0) t1 t0 {t1/x} 2 Motivation Implementing β-reduction
More informationBackground. From my PhD (2009): Verified Lisp interpreter in ARM, x86 and PowerPC machine code
Certification of high-level and low-level programs, IHP, Paris, 2014 CakeML A verified implementation of ML Ramana Kumar Magnus Myreen Michael Norrish Scott Owens Background From my PhD (2009): Verified
More informationDecision Procedures for Recursive Data Structures with Integer Constraints
Decision Procedures for Recursive Data Structures with Ting Zhang, Henny B Sipma, Zohar Manna Stanford University tingz,sipma,zm@csstanfordedu STeP Group, June 29, 2004 IJCAR 2004 - p 1/31 Outline Outline
More informationFunctional Programming. Pure Functional Languages
Functional Programming Pure functional PLs S-expressions cons, car, cdr Defining functions read-eval-print loop of Lisp interpreter Examples of recursive functions Shallow, deep Equality testing 1 Pure
More informationCS 242. Fundamentals. Reading: See last slide
CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language
More informationMeta-programming with Names and Necessity p.1
Meta-programming with Names and Necessity Aleksandar Nanevski Carnegie Mellon University ICFP, Pittsburgh, 05 October 2002 Meta-programming with Names and Necessity p.1 Meta-programming Manipulation of
More informationSemi-Persistent Data Structures
Semi-Persistent Data Structures Sylvain Conchon and Jean-Christophe Filliâtre Université Paris Sud CNRS ESOP 2008 S. Conchon & J.-C. Filliâtre Semi-Persistent Data Structures ESOP 2008 1 Persistence persistent
More informationProgramming Languages Lecture 15: Recursive Types & Subtyping
CSE 230: Winter 2008 Principles of Programming Languages Lecture 15: Recursive Types & Subtyping Ranjit Jhala UC San Diego News? Formalize first-order type systems Simple types (integers and booleans)
More informationProgramming Languages Lecture 14: Sum, Product, Recursive Types
CSE 230: Winter 200 Principles of Programming Languages Lecture 4: Sum, Product, Recursive Types The end is nigh HW 3 No HW 4 (= Final) Project (Meeting + Talk) Ranjit Jhala UC San Diego Recap Goal: Relate
More informationKAOS: a KLAIM Extension for Reasoning on Programmable QoS
KAOS: a KLAIM Extension for Reasoning on Programmable QoS Emilio Tuosto etuosto@di.unipi.it Dipartimento di Informatica Universitá di Pisa In cooperation with: R. De Nicola, G. Ferrari, U. Montanari and
More information