Graph Representation of Sessions and Pipelines for Structured Service Programming

Size: px
Start display at page:

Download "Graph Representation of Sessions and Pipelines for Structured Service Programming"

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

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 information

Sessions and Pipelines for Structured Service Programming

Sessions 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 information

Course 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 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 information

Deadlock Avoidance in SCC

Deadlock 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 information

Resource-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 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 information

On the Expressiveness of Polyadicity in Higher-Order Process Calculi

On 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 information

Recursively defined cpo algebras

Recursively 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 information

On the Expressiveness of Infinite Behavior and Name Scoping in Process Calculi

On 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 information

Note 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.

Note 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 information

Recent Trends in OO Modelling Languages

Recent 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 information

Principles of Programming Languages 2017W, Functional Programming

Principles 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 information

Type Soundness and Race Freedom for Mezzo

Type 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 information

An introduction to Category Theory for Software Engineers*

An 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 information

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

3.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 information

Towards a Notion of Transaction in Graph Rewriting 1

Towards 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 information

Contents. Chapter 1 SPECIFYING SYNTAX 1

Contents. 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 information

CSCI-GA Scripting Languages

CSCI-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 information

Substitution in Structural Operational Semantics and value-passing process calculi

Substitution 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 information

Theory of Graph Transformations

Theory 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 information

Semantics for core Concurrent ML using computation types

Semantics 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 information

Denotational Semantics. Domain Theory

Denotational 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 information

Principles of Compiler Construction ( )

Principles 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 information

Graph reduction. Simple graph reduction with visualisation

Graph 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 information

Lambda Calculus and Extensions as Foundation of Functional Programming

Lambda 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 information

Evaluation Trees for Proposition Algebra

Evaluation 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 information

Checking Conservativity With HETS

Checking 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 information

Dining Philosophers with π-calculus

Dining 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 information

Operational Semantics 1 / 13

Operational 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 information

Architecture as coordination: the Orc perspective

Architecture 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 information

Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts

Behavior 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 information

Conservative Concurrency in Haskell

Conservative 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 information

Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts

Behavior 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 information

Labelled Transition Systems For a Game Graph

Labelled 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 information

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe

Introduction 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 information

GEOMETRY 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 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 information

A Category-Theoretic Approach to Syntactic Software Merging

A 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 information

An introduction to Homotopy Type Theory

An 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 information

A 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 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 information

A Formal Model for Web-Service Composition

A 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 information

Principles of Compiler Construction ( )

Principles 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 information

Motivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK

Motivation: 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 information

Checking the Realizability of BPMN 2.0 Choreographies

Checking 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 information

The theory of Mezzo. François Pottier. IHP, April 2014 INRIA

The 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 information

Linear 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 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 information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 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 information

theory of graph transformations

theory 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 information

Functional Languages. Hwansoo Han

Functional 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 information

Forschungsberichte der Fakultät IV Elektrotechnik und Informatik

Forschungsberichte 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 information

INF5110 Compiler Construction

INF5110 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 information

Categorical models of type theory

Categorical 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 information

Introduction to Compilers

Introduction 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 information

CS 395T. JFK Protocol in Applied Pi Calculus

CS 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 information

Pawns: a declarative/imperative language

Pawns: 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 information

Expressiveness and Complexity of a Graph Logic

Expressiveness 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 information

Single-pass Static Semantic Check for Efficient Translation in YAPL

Single-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 information

DIRECTED PROGRAMS GEOMETRIC MODELS OF CONCURRENT. Samuel Mimram. École Polytechnique

DIRECTED 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 information

Data-Oriented System Development

Data-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 information

Handling Integer Arithmetic in the Verification of Java Programs

Handling 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 information

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen

COP4020 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 information

On the Recognizability of Arrow and Graph Languages

On 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 information

Component-based Construction of Heterogeneous Real-time Systems in BIP

Component-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 information

Specifying and Implementing Secure Mobile Applications

Specifying and Implementing Secure Mobile Applications Chapter 1 Specifying and Implementing Secure Mobile Applications 1.1 Introduction............................................................. 1 1.2 The Channel Ambient Calculus.........................................

More information

Functional Programming. Pure Functional Programming

Functional 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 information

Informatics Education: Hopes or Hypes OR Ubiquitous computi. we understand it!

Informatics 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 information

Formal Methods in Software Design. Markus Roggenbach

Formal 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 information

Functional Programming. Pure Functional Languages

Functional 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 information

Semantic Modularization Techniques in Practice: A TAPL case study

Semantic 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 information

SpecC Methodology for High-Level Modeling

SpecC 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 information

Chapter 1: Introduction

Chapter 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 information

The Ptolemy II Framework for Visual Languages

The 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 information

A Small Interpreted Language

A 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 information

Gradual Parametricity, Revisited

Gradual Parametricity, Revisited aaachicbvddssmwge39nfov6qu30sf4y2lfuerk6i3etbbys0jtdmtle1lkgqj7nrh8am81sfwtrwvh8d3mo12ozshkpyc7zvkywlsrqwy7s9jbn5hcwm5sljdvvf2ds3tlsyyqqmtzywrlgbkorrtpqkkkbcvbaub4y0g8f1uw8/ecfpwu/vmcv+jhqcrhqjpawuuedfiucmqdecljy61nvfofruusouxdk1a7zll4czxjmqgpig0tw/vtdbwuy4wgxj2hsvpk5eopirkzvl5mkriaeqsjkucxk5efmued7qsqj2tnqguv3tyfes5taodgemvf9o1wrxv1onu9gzn1oezopwph4oyhhucsxygsevbcs21arhqfwseperqfjp9kpeacxdelfoi+tksofitkcws1rhlmnbzt1jr41sagcdse+oaqooav1camaoakweatp4aw8gk/gm/fufixb54yjzwf8gfh5a4h9n/m=

More information

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1)

Algorithms 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 information

An Algebraic Framework for Optimizing Parallel Programs

An 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 information

Lecture 14: Recursive Types

Lecture 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 information

FreePascal changes: user documentation

FreePascal 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 information

cognitive models chapter 12 Cognitive models Cognitive models Goal and task hierarchies goals vs. tasks Issues for goal hierarchies

cognitive 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 information

Theorem Proving Principles, Techniques, Applications Recursion

Theorem 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 information

COP4020 Spring 2011 Midterm Exam

COP4020 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 information

Theory of Computer Science

Theory 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 information

CS131 Typed Lambda Calculus Worksheet Due Thursday, April 19th

CS131 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 information

Requirements and Specifications

Requirements 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 information

Parallel & 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 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 information

Enabling Component-Based Model Transformations with QVT. Li Dan

Enabling 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 information

Shared Variables and Interference

Shared 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 information

Computer Science 203 Programming Languages Fall Lecture 10. Bindings, Procedures, Functions, Functional Programming, and the Lambda Calculus

Computer 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 information

STEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS

STEPHEN 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 information

Syntactic Type Soundness for HM

Syntactic 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 information

Introduction to Formal Methods

Introduction 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 information

Introduction Attributed Graphs Rule Specification Implementation Conclusion. AGG and PROGRES. Bernhard Scholz. 27th January 2006.

Introduction 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 information

A formal derivation of an executable Krivine machine

A 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 information

Background. From my PhD (2009): Verified Lisp interpreter in ARM, x86 and PowerPC machine code

Background. 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 information

Decision Procedures for Recursive Data Structures with Integer Constraints

Decision 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 information

Functional Programming. Pure Functional Languages

Functional 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 information

CS 242. Fundamentals. Reading: See last slide

CS 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 information

Meta-programming with Names and Necessity p.1

Meta-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 information

Semi-Persistent Data Structures

Semi-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 information

Programming Languages Lecture 15: Recursive Types & Subtyping

Programming 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 information

Programming Languages Lecture 14: Sum, Product, Recursive Types

Programming 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 information

KAOS: a KLAIM Extension for Reasoning on Programmable QoS

KAOS: 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