Orchestration vs Choreography

Size: px
Start display at page:

Download "Orchestration vs Choreography"

Transcription

1 Orchestration vs Choreography u In many cases, there is no unique point of invocation for the services n In these cases, we say that the system is a choreography n Let starts with an example: w Consider the popular OpenID protocol for distributed authentication via third party services

2 OpenID 1. User sends username

3 OpenID 2. Username is forwarded 1. User sends username

4 OpenID 2. Username is forwarded 1. User sends username 3. User sends password

5 OpenID 2. Username is forwarded 4. Authorized/ Not authorized 1. User sends username 3. User sends password

6 How to model choreographies? u Several approaches are usually adopted to model (and program) choreographies n MSC (Message Sequence Charts) n Cryptographic protocol notation n Open workflow nets n Collaboration diagrams n Process calculi-like languages n

7 Message Sequence Chart for OpenID

8 Message Sequence Chart for OpenID 1. User sends username

9 Message Sequence Chart for OpenID 1. User sends username 2. Username is forwarded

10 Message Sequence Chart for OpenID 1. User sends username 2. Username is forwarded 3. User sends password

11 Message Sequence Chart for OpenID 1. User sends username 2. Username is forwarded 3. User sends password 4. Authorized/ Not authorized

12 Chryptographic protocol notation u (Part of the) Needham-Schroeder authentication with public key: A B: {n A, A} kb B A: {n A, n B } ka A B: {n B } kb

13 Chryptographic protocol notation u A man-in-the-middle attack at the Needham-Schroeder protocol: A I: {n A, A} ki I B: {n A, A} kb B I: {n A, n B } ka I A: {n A, n B } ka A I: {n B } ki I B: {n B } kb

14 Chryptographic protocol notation u The patched Needham-Schroeder- Lowe protocol: A B: {n A, A} kb B A: {n A, n B, B} ka A B: {n B } kb

15 Open workflow nets u Each partner is modeled by a Petri net with input/output places n The partners are combined by merging their input/output places

16 Collaboration diagram

17 Collaboration diagram u Two kinds of dependencies among events n Local dependencies: total ordering of the events on the same channel (A2 follows A1) n Causal dependencies: A2/C2 indicates that C2 causally depends on A2

18 The process-calculus approach u The process-calculus approach: n Define the basic actions n... define operators to combine actions thus obtaining processes u Approach adopted in the most popular choreography language in the context of Web Services: n WS-CDL: Web Service Choreography Description Language

19 WS-CDL approach u Global view of service interactions Seller Buyer Bank

20 WS-CDL approach u Global view of service interactions Request Seller Buyer Bank

21 WS-CDL approach u Global view of service interactions Buyer Request Offer PayDescr Seller Bank

22 WS-CDL approach u Global view of service interactions Buyer Request Offer Payment PayDescr Seller Bank

23 WS-CDL approach u Global view of service interactions Buyer Request Offer Payment Receipt Seller PayDescr Confirm Bank

24 WS-CDL approach Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer )

25 WS-CDL approach Basic Action Buyer sends a message Request to Seller Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer )

26 WS-CDL approach Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer ) Basic Action Buyer sends a message Request to Seller Sequential composition

27 WS-CDL approach Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer ) Basic Action Buyer sends a message Request to Seller Sequential composition Parallel composition

28 Interaction Oriented Approach u In the WS-CDL approach the basic action corresponds to n a sender that sends a message on an operation exposed by a receiver n this is the so-called global view approach u Easy to formalise we will see: I. Lanese, C. Guidi, F. Montesi, G. Zavattaro: Bridging the Gap between Interaction- and Process-Oriented Choreographies. Proc. of SEFM 2008:

29 Choreography process calculus u We have defined a choreography process calculus Choice Parallel Basic Action r sends a message a to s Sequential Repetition

30 Choreography operational semantics Ready to terminate Final completion

31 A simple choreography (1) u A client sends a reservation request to a travel agency, which contacts an airplane company and a hotel, and finally notify the client by confirming or cancelling the reservation:

32 A simple choreography (2) u A client negotiates with a shop the price for a product she initially indicates

33 Subtleties in choreographies u Suppose the decision to Decline is taken by the client: u Are there possible problems with this choreography?

34 Possible problems u Intuition: problems could depend on the kind of communication n Synchronous: (no problem) client and shop synchronise on the branch to select n Asynchronous: (problem) client and shop could select different branches (by emitting inconsistent messages)

35 Choreography correctness u We have performed a formal study of choreography correctness n A calculus for choreography (similar to the previous one, without repetition) n Canonical projection: w syntactic extraction from the choreography of the behaviour of the single roles n Check that the parallel composition of the projections behaves like the choreography

36 IOC: Interaction Oriented Choreography calculus u We have defined an Interaction Oriented Choreography (IOC) calculus Sequence Basic Action a sends a message o to b Parallel Choice

37 IOC: Interaction Oriented Choreography calculus u We have defined an Interaction Oriented Choreography (IOC) calculus Success Failure

38 IOC: operational semantics

39 POC: Process Oriented Choreography calculus u We have defined a Process Oriented Choreography (POC) calculus Processes Receive Send Choreography Process P playing role a

40 POC: operational semantics -Processes-

41 POC: operational semantics -Choreographies-

42 POC: the client-shop example u Here is the behaviour of the client and the shop in the first of the two already considered choreographies:

43 POC: the client-shop example u Here is the alternative version where the client sends the decline message: u No problem: there are three possible choices (Price, Confirm, and Decline) and the client / shop synchronize in taking this decision!

44 Formal correspondence u The IOC and the POC: have exactly the same traces of transitions in the operational semantics

45 Canonical projection u In the previous example, the behaviour of the roles in the POC is obtained from the IOC by means of projection:

46 The OpenID Example u The OpenId IOC: and the projected POC: u No Problem! Same traces!

47 An alternative end of OpenID u Consider the following alternative end: and its projection:

48 An alternative end of OpenID u Consider the following alternative end: and its projection:

49 Choreography correctness u Is it possible to check the correctness of a choreography? n Yes: by controlling three independent conditions w Connectedness for sequence w Unique point of choice w Causality safety

50 Connectedness for sequence u Intuition: n Given the choreography C;D the rhs D should start only when the lhs C has completed n We check this condition by controlling that among the roles involved in the completion of C there is at least one role involved in the starting of D

51 Initial and final transitions u The functions transi and transf return the interactions in the starting and completion of a choreography

52 Connectedness for sequence: formally u The last action before a sequential composition will surely occur before every possible intial action after n guaranteed by the involvement of at least one role in both actions

53 Connectedness for sequence u Here is a trivial example of an incorrect choreography: having the following projection:

54 Unique point of choice u Intuition: n Given the choreography C+D all the involved roles should agree on the branch to select: w When an initial action in one branch occur, all the initial actions in the other one should be disabled w The selected branch must be communicated to all partners, hence the partners involved in C and in D must be the same

55 Unique point of choice: formally u Every pair of initial actions in the two branches must include a common role: n this role will be the unique point of choice n moreover, the selected branch must be communicated to all involved roles

56 Unique point of choice u Here is a trivial example of an incorrect choreography: having the following projection:

57 Causality safety u Intuition: n If an operation occurs twice in a choreography, the two interactions should be not active contemporaneously n Consider the following choreography: with the projection:

58 Causality safety: formally u The relation s formalises causal dependencies n hence if x s y the two events x and y cannot be both ready to be executed

59 Causality safety: formally u The relation s formalises causal dependencies n hence if x s y the two events x and y cannot be both ready to be executed

60 Exercise u Which condition is not satisfied in the wrong alternative OpenID end?

61 Exercise u Which condition is not satisfied in the wrong alternative OpenID end? Connectedness for sequence:?

62 Exercise u Which condition is not satisfied in the wrong alternative OpenID end? Connectedness for sequence:

63 Exercise u Which condition is not satisfied in the wrong alternative OpenID end? Unique point of choice:?

64 Exercise u Which condition is not satisfied in the wrong alternative OpenID end? Unique point of choice:

65 Exercise u Which condition is not satisfied in the wrong alternative OpenID end? Causality safety:?

66 Exercise u Which condition is not satisfied in the wrong alternative OpenID end? Causality safety:

67 Let s go back to the client-shop example u Remember: possible problems if the client sends Decline while the shop Price n This could happen in asychronously communicating systems

68 Asynchronous choreography correctness u We have defined asychronous communication for POCs n We have defined the correspondence between IOCs and their asynchronous execution w More complex because send and receive events are disjoint in POCs n We have revisited the three correctness conditions that guarantee correspondence

69 POC: Asynchronous semantics

70 POC: Asynchronous semantics

71 Correspondence relation u At the level of POC the interaction coincides with the receive event n Hence, interaction correspondence guarantees correspondence of receive (send could not correspond) n See the choreography: with projection:

72 Several correspondence relations u The previous correspondence is named receiver correspondence n We have considered a lattice of correspondence relations n In the literature, receiver seems the mainly considered correspondence

73 Receiver connectedness for sequence u There are two ways to preserve the receive events in a sequential composition C ;D n the receiver in C is the emitter in D n the receiver in C is also the receiver in D

74 Receiver connectedness for sequence u There are two ways to preserve the receive events in a sequential composition C ;D n the receiver in C is the emitter in D n the receiver in C is also the receiver in D

75 Asynchronous unique point of choice u In an asynchronous setting, the emitter can locally decide to send a message n In a choice only the emitter decide a branch

76 Asynchronous causality safety u Same definition, but with a relation a that formalises causal dependencies for the asynchronous semantics

77 Asynchronous causality safety u Same definition, but with a relation a that formalises causal dependencies for the asynchronous semantics

78 Exercise: the initial WS-CDL example Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer )

79 Exercise: the initial WS-CDL example Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer ) Asynchronous unique point of choice:?

80 Exercise: the initial WS-CDL example Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer ) Trivial Asynchronous unique point of choice:

81 Exercise: the initial WS-CDL example Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer ) Asynchronous causality safety:?

82 Exercise: the initial WS-CDL example Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer ) Asynchronous causality safety: Trivial

83 Exercise: the initial WS-CDL example Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer ) Asychronous connectedness:?

84 Exercise: the initial WS-CDL example Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; Payment BuyeràBank ; ( Confirm BankàSeller Receipt BankàBuyer ) Asychronous connectedness:

85 Exercise: try to remove the Payment Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; ( Confirm BankàSeller Receipt BankàBuyer )

86 Exercise: try to remove the Payment Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; ( Confirm BankàSeller Receipt BankàBuyer ) Trivial Asynchronous unique point of choice:

87 Exercise: try to remove the Payment Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; ( Confirm BankàSeller Receipt BankàBuyer ) Asynchronous causality safety: Trivial

88 Exercise: try to remove the Payment Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; ( Confirm BankàSeller Receipt BankàBuyer ) Asychronous connectedness:?

89 Exercise: try to remove the Payment Request BuyeràSeller ; ( Offer SelleràBuyer PayDescr SelleràBank ) ; ( Confirm BankàSeller Receipt BankàBuyer ) In an asynchronous setting there is no ordering guarantee (while it is guaranteed for synchronous communication!) Asychronous connectedness:

90 What to do with choreographies? u You are now among the greatest worldwide experts in choreographies! n so what? u Don t worry... you didn t lose your time n There is at least one programming language that you can use to realise your distributed systems using choreographies Marco Carbone, Fabrizio Montesi: Deadlock-freedom-by-design: multiparty asynchronous global programming. Proc. of POPL 2013:

91 Choreography programming u A IOC-like language is used to specify the possible communication protocols used in the system u An enriched choreography language (variables, if-then-else, functions,..) is used to specify the overall system u End-point programs are obtained by means of projection (written in Jolie)

92 The approach: graphically

93 Chor: basic ideas u Describe the behaviour of processes in a system: n Each process has a local state n Processes take part to multiparty conversations, tracked as sessions n Sessions are started through public channels (e.g., URLs). n Both sessions and processes can be dynamically created

94 Alice and Bob buy a book together

95 Alice and Bob buy a book together

96 Alice and Bob buy a book together

97 Alice and Bob buy a book together

98 Alice and Bob buy a book together

99 Alice and Bob buy a book together

100 Alice and Bob buy a book together

101 Alice and Bob buy a book together

102 Alice and Bob buy a book together

103 Alice and Bob buy a book together

104 Alice and Bob buy a book together

105 Alice and Bob buy a book together

Web Services Choreography and Process Algebra

Web Services Choreography and Process Algebra Web Services Choreography and Process Algebra 29th April 2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services Activity Co-chair W3C Web Services Choreography Agenda

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Service Modeling Doctor Guangyu Gao Some contents and notes selected from Service Oriented Architecture by Michael McCarthy 1. Place in Service Lifecycle 2 Content

More information

Examples for Multiparty Asynchronous Session Types

Examples for Multiparty Asynchronous Session Types Examples for Multiparty Asynchronous Session Types Marco Carbone 1,2 Kohei Honda 1 Nobuko Yoshida 2 1 Queen Mary, University of London, UK 2 Imperial College, London, UK 1. Introduction This manuscript

More information

Idioms for Interaction: Functional Types, Process Types and Distributed Systems

Idioms for Interaction: Functional Types, Process Types and Distributed Systems Idioms for Interaction: Functional Types, Process Types and Distributed Systems http://mrg.doc.ic.ac.uk/ Nobuko Yoshida Imperial College London 1 Idioms for Interaction Multiparty Session Types Outline

More information

1.264 Lecture 27. Security protocols Symmetric cryptography. Next class: Anderson chapter 10. Exercise due after class

1.264 Lecture 27. Security protocols Symmetric cryptography. Next class: Anderson chapter 10. Exercise due after class 1.264 Lecture 27 Security protocols Symmetric cryptography Next class: Anderson chapter 10. Exercise due after class 1 Exercise: hotel keys What is the protocol? What attacks are possible? Copy Cut and

More information

The learning objectives of this chapter are the followings. At the end of this chapter, you shall

The learning objectives of this chapter are the followings. At the end of this chapter, you shall Chapter 5 Sequence diagrams In the previous chapters, we have seen different diagrams. Use case diagrams describe tasks that a system is supposed to perform. It gives high-level information about how a

More information

L7: Key Distributions. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

L7: Key Distributions. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 L7: Key Distributions Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 9/16/2015 CSCI 451 - Fall 2015 1 Acknowledgement Many slides are from or are

More information

Session Types and Multiparty Session Types. Nobuko Yoshida Imperial College London

Session Types and Multiparty Session Types. Nobuko Yoshida Imperial College London Session Types and Multiparty Session Types Nobuko Yoshida Imperial College London 1 Communication is Ubiquitous Internet, the WWW, Cloud Computing, the next-generation manycore chips, message-passing parallel

More information

Outline More Security Protocols CS 239 Computer Security February 6, 2006

Outline More Security Protocols CS 239 Computer Security February 6, 2006 Outline More Security Protocols CS 239 Computer Security February 6, 2006 Combining key distribution and authentication Verifying security protocols Page 1 Page 2 Combined Key Distribution and Authentication

More information

Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals

Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals Annapaola Marconi, Marco Pistore, and Paolo Traverso ITC-irst Via Sommarive 18, Trento, Italy {marconi, pistore, traverso}@itc.it

More information

Modelling (and Analyzing) Interorganizational Communication. Jan Martijn van der Werf

Modelling (and Analyzing) Interorganizational Communication. Jan Martijn van der Werf Modelling (and Analyzing) Interorganizational Communication Jan Martijn van der Werf 1 2 Interaction Interaction in networks Bob Charley Alice Dave 3 Bob Can you Charley, you do Interaction in networks

More information

Outline. More Security Protocols CS 239 Security for System Software April 22, Needham-Schroeder Key Exchange

Outline. More Security Protocols CS 239 Security for System Software April 22, Needham-Schroeder Key Exchange Outline More Security Protocols CS 239 Security for System Software April 22, 2002 Combining key distribution and authentication Verifying security protocols Page 1 Page 2 Combined Key Distribution and

More information

Process Modelling using Petri Nets

Process Modelling using Petri Nets Process Modelling using Petri Nets Katalina Grigorova Abstract: This paper discusses the reasons, which impose Petri nets as a conceptual standard for modelling and analysis of workflow. Petri nets notation

More information

Modeling Interactions of Web Software

Modeling Interactions of Web Software Modeling Interactions of Web Software Tevfik Bultan Department of Computer Science University of California Santa Barbara, CA 9106 bultan@cs.ucsb.edu Abstract Modeling interactions among software components

More information

Applied Cryptography Basic Protocols

Applied Cryptography Basic Protocols Applied Cryptography Basic Protocols Sape J. Mullender Huygens Systems Research Laboratory Universiteit Twente Enschede 1 Session keys It is prudent practice to use a different key for each session. This

More information

Module: Cryptographic Protocols. Professor Patrick McDaniel Spring CMPSC443 - Introduction to Computer and Network Security

Module: Cryptographic Protocols. Professor Patrick McDaniel Spring CMPSC443 - Introduction to Computer and Network Security CMPSC443 - Introduction to Computer and Network Security Module: Cryptographic Protocols Professor Patrick McDaniel Spring 2009 1 Key Distribution/Agreement Key Distribution is the process where we assign

More information

INTRODUCTION Background of the Problem Statement of the Problem Objectives of the Study Significance of the Study...

INTRODUCTION Background of the Problem Statement of the Problem Objectives of the Study Significance of the Study... vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION... ii DEDICATION... iii ACKNOWLEDGEMENTS... iv ABSTRACT... v ABSTRAK... vi TABLE OF CONTENTS... vii LIST OF TABLES... xii LIST OF FIGURES... xiii LIST

More information

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Fall 94-95 ه عا ی Semantic Web Semantic Web Services Morteza Amini Sharif University of Technology Fall 94-95 Outline Semantic Web Services Basics Challenges in Web Services Semantics in Web Services Web Service

More information

Digital Signatures. Secure Digest Functions

Digital Signatures. Secure Digest Functions Digital Signatures Secure Digest Functions 8 requirements for one-way hash functions given M, H(M) is easy to compute given H(M), M is difficult to compute given M, it is difficult to find M such that

More information

Cryptographic Checksums

Cryptographic Checksums Cryptographic Checksums Mathematical function to generate a set of k bits from a set of n bits (where k n). k is smaller then n except in unusual circumstances Example: ASCII parity bit ASCII has 7 bits;

More information

SPi Calculus: Outline. What is it? Basic SPi Calculus Notation Basic Example Example with Channel Establishment Example using Cryptography

SPi Calculus: Outline. What is it? Basic SPi Calculus Notation Basic Example Example with Channel Establishment Example using Cryptography SPi Calculus: Outline What is it? Basic SPi Calculus Notation Basic Example Example with Channel Establishment Example using Cryptography SPi Calculus: What is it? SPi Calculus is an executable model for

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

Outline More Security Protocols CS 239 Computer Security February 4, 2004

Outline More Security Protocols CS 239 Computer Security February 4, 2004 Outline More Security Protocols CS 239 Computer Security February 4, 2004 Combining key distribution and authentication Verifying security protocols Page 1 Page 2 Combined Key Distribution and Authentication

More information

Experiences with OWL-S, Directions for Service Composition:

Experiences with OWL-S, Directions for Service Composition: Experiences with OWL-S, Directions for Service Composition: The Cashew Position Barry Norton 1 Knowledge Media Institute, Open University, Milton Keynes, UK b.j.norton@open.ac.uk Abstract. Having used

More information

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91

Semantic Web. Semantic Web Services. Morteza Amini. Sharif University of Technology Spring 90-91 بسمه تعالی Semantic Web Semantic Web Services Morteza Amini Sharif University of Technology Spring 90-91 Outline Semantic Web Services Basics Challenges in Web Services Semantics in Web Services Web Service

More information

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae

CS350 Lecture 2 Requirements Engineering. Doo-Hwan Bae CS350 Lecture 2 Requirements Engineering Doo-Hwan Bae bae@se.kaist.ac.kr Contents Overview of Requirements Engineering OO Analysis: Domain modeling, Use-case, sequence, class Structured Analysis: Dataflow

More information

21. Business Process Analysis (3)

21. Business Process Analysis (3) 21. Business Process Analysis (3) DE + IA (INFO 243) - 2 April 2008 Bob Glushko 1 of 43 4/1/2008 3:34 PM Plan for Today's Class Business Transaction Patterns Business Signals Collaborations and Choreography

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction We hardly need to point out the importance of business process modelling and of respective automation in this place (see, e.g. [39, 45, 58, 110, 141]). Also the advantages and shortcomings

More information

INFSCI 2935: Introduction of Computer Security 1. Courtesy of Professors Chris Clifton & Matt Bishop. INFSCI 2935: Introduction to Computer Security 2

INFSCI 2935: Introduction of Computer Security 1. Courtesy of Professors Chris Clifton & Matt Bishop. INFSCI 2935: Introduction to Computer Security 2 Digital Signature Introduction to Computer Security Lecture 7 Digital Signature October 9, 2003 Construct that authenticates origin, contents of message in a manner provable to a disinterested third party

More information

An Overview on Protocol Adaptors for Service Component Integration

An Overview on Protocol Adaptors for Service Component Integration An Overview on Protocol Adaptors for Service Component Integration R. Seguel 1, R. Eshuis, P. Grefen Information Systems Group, School of Industrial Engineering, Eindhoven University of Technology, The

More information

Formal Methods for Assuring Security of Computer Networks

Formal Methods for Assuring Security of Computer Networks for Assuring of Computer Networks May 8, 2012 Outline Testing 1 Testing 2 Tools for formal methods Model based software development 3 Principals of security Key security properties Assessing security protocols

More information

Applied Cryptography Protocol Building Blocks

Applied Cryptography Protocol Building Blocks Applied Cryptography Protocol Building Blocks Sape J. Mullender Huygens Systems Research Laboratory Universiteit Twente Enschede 1 Protocols An algorithm describes a series of steps carried out by a process

More information

Developing correct, distributed, adaptive software

Developing correct, distributed, adaptive software Developing correct, distributed, adaptive software Mila Dalla Preda, Maurizio Gabbrielli, Saverio Giallorenzo, Ivan Lanese, Jacopo Mauro To cite this version: Mila Dalla Preda, Maurizio Gabbrielli, Saverio

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

Monitoring Choreographed Services

Monitoring Choreographed Services Monitoring Choreographed Services L. Ardissono and R. Furnari and A. Goy and G. Petrone and M. Segnan Dipartimento di Informatica, Università di Torino Corso Svizzera 185, 10149 Torino, Italy Abstract.

More information

Text Input and Conditionals

Text Input and Conditionals Text Input and Conditionals Text Input Many programs allow the user to enter information, like a username and password. Python makes taking input from the user seamless with a single line of code: input()

More information

Fault in the Future. Ivan Lanese Computer Science Department University of Bologna/INRIA Italy

Fault in the Future. Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Gianluigi Zavattaro and Einar Broch Johnsen From COORDINATION 2011 Error handling Unexpected,

More information

Connecting Plasma to Service-oriented programming with JOLIE

Connecting Plasma to Service-oriented programming with JOLIE Connecting Plasma to Service-oriented programming with JOLIE Fabrizio Montesi italianasoftware s.r.l., Italy Joint work with Kévin Ottens Aaron Seigo

More information

H2 2/3/2006. (c) (5 points) Name the three main primitive patterns of interoperability among workflows.

H2 2/3/2006. (c) (5 points) Name the three main primitive patterns of interoperability among workflows. Problem 1 2 3 4 Total Points: 25 25 30 20 100 Score: This homework assignment has 4 problems, for a total of 100 points. 1. (a) (5 points) The following is not a shortcoming of RosettaNet Partner Interface

More information

ECE596C: Handout #9. Authentication Using Shared Secrets. Electrical and Computer Engineering, University of Arizona, Loukas Lazos

ECE596C: Handout #9. Authentication Using Shared Secrets. Electrical and Computer Engineering, University of Arizona, Loukas Lazos ECE596C: Handout #9 Authentication Using Shared Secrets Electrical and Computer Engineering, University of Arizona, Loukas Lazos Abstract. In this lecture we introduce the concept of authentication and

More information

Detection of Logic Flaws in Web Applications

Detection of Logic Flaws in Web Applications Detection of Logic Flaws in Web Applications Davide Balzarotti Giancarlo Pellegrino Distributed, Service-oriented, Web-based applications Seller Inc. Bank Inc. U S P Order item I Transfer value(i) to S

More information

CIS 6930/4930 Computer and Network Security. Topic 6.2 Authentication Protocols

CIS 6930/4930 Computer and Network Security. Topic 6.2 Authentication Protocols CIS 6930/4930 Computer and Network Security Topic 6.2 Authentication Protocols 1 Authentication Handshakes Secure communication almost always includes an initial authentication handshake. Authenticate

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 2 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Contents What are software requirements? Requirements Engineering Process Domain

More information

Enhancing Business Processes Using Semantic Reasoning. Monica. J. Martin Sun Java Web Services. 26 May

Enhancing Business Processes Using Semantic Reasoning. Monica. J. Martin Sun Java Web Services. 26 May Enhancing Business Processes Using Semantic Reasoning Monica. J. Martin Sun Java Web Services www.sun.com 26 May 2005 Presentation Outline Industry landscape Standards landscape Needs for and use of semantic

More information

What did we talk about last time? Public key cryptography A little number theory

What did we talk about last time? Public key cryptography A little number theory Week 4 - Friday What did we talk about last time? Public key cryptography A little number theory If p is prime and a is a positive integer not divisible by p, then: a p 1 1 (mod p) Assume a is positive

More information

Network Security (NetSec)

Network Security (NetSec) Chair of Network Architectures and Services Department of Informatics Technical University of Munich Network Security (NetSec) IN2101 WS 16/17 Prof. Dr.-Ing. Georg Carle Dr. Heiko Niedermayer Cornelius

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

Symmetric Encryption

Symmetric Encryption Symmetric Encryption Ahmed Y. Banihammd & Ihsan, ALTUNDAG Mon November 5, 2007 Advanced Cryptography 1st Semester 2007-2008 University Joseph Fourrier, Verimag Master Of Information Security And Coding

More information

Models and Languages for Service-Oriented and Cloud Computing

Models and Languages for Service-Oriented and Cloud Computing Models and Languages for Service-Oriented and Cloud Computing University of Bologna Gianluigi Zavattaro DISI - Department of Computer Science and Engineering INRIA research team FOCUS BISS 2016 Bertinoro

More information

Towards a formal framework for Choreography

Towards a formal framework for Choreography 1 Towards a formal framework for Choreography Nadia Busi, Roberto Gorrieri, Claudio Guidi, Roberto Lucchi and Gianluigi Zavattaro Department of Computer Science Mura Anteo Zamboni, 7 40127 Bologna - Italy

More information

Chapter 9: Key Management

Chapter 9: Key Management Chapter 9: Key Management Session and Interchange Keys Key Exchange Cryptographic Key Infrastructure Storing and Revoking Keys Digital Signatures Slide #9-1 Overview Key exchange Session vs. interchange

More information

Security protocols and their verification. Mark Ryan University of Birmingham

Security protocols and their verification. Mark Ryan University of Birmingham Security protocols and their verification Mark Ryan University of Birmingham Contents 1. Authentication protocols (this lecture) 2. Electronic voting protocols 3. Fair exchange protocols 4. Digital cash

More information

A Short SPAN+AVISPA Tutorial

A Short SPAN+AVISPA Tutorial A Short SPAN+AVISPA Tutorial Thomas Genet IRISA/Université de Rennes 1 genet@irisa.fr November 6, 2015 Abstract The objective of this short tutorial is to show how to use SPAN to understand and debug HLPSL

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Dataflow Lecture: SDF, Kahn Process Networks Stavros Tripakis University of California, Berkeley Stavros Tripakis: EECS

More information

Multiparty Session Types and their Applications

Multiparty Session Types and their Applications Multiparty Session Types and their Applications http://mrg.doc.ic.ac.uk/ Nobuko Yoshida, Rumyana Neykova Imperial College London University of Camerino 29th April, 2016 1 Selected Publications 2015/2016

More information

Interaction Modelling: Use Cases

Interaction Modelling: Use Cases Interaction Modelling: Use Cases Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Interaction Modelling: INPUT 1

More information

MODEL BASED TEST DESIGN AT UNITY

MODEL BASED TEST DESIGN AT UNITY Sophia Antipolis, French Riviera 20-22 October 2015 MODEL BASED TEST DESIGN AT UNITY Marek Turski, Ilya Turshatov, Tomasz Paszek Unity Technologies All rights reserved Unity Technologies Provider of an

More information

CS164 Final Exam Winter 2013

CS164 Final Exam Winter 2013 CS164 Final Exam Winter 2013 Name: Last 4 digits of Student ID: Problem 1. State whether each of the following statements is true or false. (Two points for each correct answer, 1 point for each incorrect

More information

Public-Key Infrastructure NETS E2008

Public-Key Infrastructure NETS E2008 Public-Key Infrastructure NETS E2008 Many slides from Vitaly Shmatikov, UT Austin slide 1 Authenticity of Public Keys? private key Alice Bob public key Problem: How does Alice know that the public key

More information

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Jochen Küster jku@zurich.ibm.com Agenda BPMN Introduction BPMN Overview BPMN Advanced Concepts Introduction to Syntax

More information

Security Handshake Pitfalls

Security Handshake Pitfalls Security Handshake Pitfalls 1 Authentication Handshakes Secure communication almost always includes an initial authentication handshake: Authenticate each other Establish sessions keys This process may

More information

ORAC Match. User Manual for Support Workers. V1.0 Updated 13/11/2017

ORAC Match. User Manual for Support Workers. V1.0 Updated 13/11/2017 ORAC Match User Manual for Support Workers V1.0 Updated 13/11/2017 1 Contents: The Login Screen: ORAC can be accessed through any web browser, smartphone or tablet via the following link; https://app.orac.support

More information

Software Engineering using Formal Methods

Software Engineering using Formal Methods Software Engineering using Formal Methods Introduction to Promela Wolfgang Ahrendt 03 September 2015 SEFM: Promela /GU 150903 1 / 36 Towards Model Checking System Model Promela Program byte n = 0; active

More information

Eventuation properties and interaction contracts

Eventuation properties and interaction contracts Eventuation properties and interaction contracts Mario Südholt Ascola research team; Mines Nantes, Inria, Lina SCRIPT WS Vrije Universiteit Brussel, 12 Nov. 2013 Motivation 1 Motivation 2 Generalizing

More information

Compensations in Orchestration Languages

Compensations in Orchestration Languages Compensations in Orchestration Languages Retry Limit Exceeded Notify Customer Invalid CC Booking Booking Book Flight Get Credit Card Information Cancel Flight Charge Credit Card Book Hotel Cancel Hotel

More information

Programming Adaptive Microservice Applications: an AIOCJ Tutorial

Programming Adaptive Microservice Applications: an AIOCJ Tutorial 7 Programming Adaptive Microservice Applications: an AIOCJ Tutorial Saverio Giallorenzo 1, Ivan Lanese 1, Jacopo Mauro 2, and Maurizio Gabbrielli 1 1 Focus Team, University of Bologna/INRIA, Italy 2 Department

More information

Semantic Web Services and Cloud Platforms

Semantic Web Services and Cloud Platforms Semantic Web Services and Cloud Platforms Lecture 10: Mobile Applications and Web Services module Payam Barnaghi Institute for Communication Systems (ICS) Faculty of Engineering and Physical Sciences University

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

SEMINAR REPORT ON BAN LOGIC

SEMINAR REPORT ON BAN LOGIC SEMINAR REPORT ON BAN LOGIC Submitted by Name : Abhijeet Chatarjee Roll No.: 14IT60R11 SCHOOL OF INFORMATION TECHNOLOGY INDIAN INSTITUTE OF TECHNOLOGY, KHARAGPUR-721302 (INDIA) Abstract: Authentication

More information

1 Identification protocols

1 Identification protocols ISA 562: Information Security, Theory and Practice Lecture 4 1 Identification protocols Now that we know how to authenticate messages using MACs, a natural question is, how can we use MACs to prove that

More information

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems

Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Formal specification of semantics of UML 2.0 activity diagrams by using Graph Transformation Systems Somayeh Azizi 1, Vahid Panahi 2 Computer science department, Sama Technical and vocational, Training

More information

Interaction Testing. Chapter 15

Interaction Testing. Chapter 15 Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

More information

CS Computer Networks 1: Authentication

CS Computer Networks 1: Authentication CS 3251- Computer Networks 1: Authentication Professor Patrick Traynor 4/14/11 Lecture 25 Announcements Homework 3 is due next class. Submit via T-Square or in person. Project 3 has been graded. Scores

More information

A Petri-net and QoS Based Model for Automatic Web Service Composition

A Petri-net and QoS Based Model for Automatic Web Service Composition JOURNAL OF SOFTWARE, VOL. 7, NO. 1, JANUARY 2012 149 A Petri-net and QoS Based Model for Automatic Web Service Composition Bin Li, Yan Xu, Jun Wu, Junwu Zhu School of Information Engineering, Yangzhou

More information

Encryption as an Abstract Datatype:

Encryption as an Abstract Datatype: June 2003 1/18 Outline Encryption as an Abstract Datatype: an extended abstract Dale Miller INRIA/Futurs/Saclay and École polytechnique 1. Security protocols specified using multisets rewriting. 2. Eigenvariables

More information

Hello World in HLPSL. Turning ASCII protocol specifications into HLPSL

Hello World in HLPSL. Turning ASCII protocol specifications into HLPSL Hello World in HLPSL Turning ASCII protocol specifications into HLPSL Modeling with HLPSL HLPSL is a higher-level protocol specification language we can transform ASCII protocol specifications into HLPSL

More information

Spring 2010: CS419 Computer Security

Spring 2010: CS419 Computer Security Spring 2010: CS419 Computer Security Vinod Ganapathy Lecture 7 Topic: Key exchange protocols Material: Class handout (lecture7_handout.pdf) Chapter 2 in Anderson's book. Today s agenda Key exchange basics

More information

Lesson 5 Web Service Interface Definition (Part II)

Lesson 5 Web Service Interface Definition (Part II) Lesson 5 Web Service Interface Definition (Part II) Service Oriented Architectures Security Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Controlling the style (1) The

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

Computer Networks & Security 2016/2017

Computer Networks & Security 2016/2017 Computer Networks & Security 2016/2017 Network Security Protocols (10) Dr. Tanir Ozcelebi Courtesy: Jerry den Hartog Courtesy: Kurose and Ross TU/e Computer Science Security and Embedded Networked Systems

More information

Modeling the Control-Flow Perspective. prof.dr.ir. Wil van der Aalst

Modeling the Control-Flow Perspective. prof.dr.ir. Wil van der Aalst Modeling the ontrol-flow Perspective prof.dr.ir. Wil van der Aalst From model to behavior... http://wwwis.win.tue.nl/~wvdaalst/workflowcourse/examples/casehandling.swf asic concepts process instance, e.g.,

More information

Interaction Testing! Chapter 15!!

Interaction Testing! Chapter 15!! Interaction Testing Chapter 15 Interaction faults and failures Subtle Difficult to detect with testing Usually seen after systems have been delivered In low probability threads Occur after a long time

More information

Static vs Dynamic SAGAs

Static vs Dynamic SAGAs Static vs Dynamic SAGAs Ivan Lanese Focus Team, University of Bologna/INRIA Bologna, Italy lanese@cs.unibo.it SAGAs calculi (or simply SAGAs) have been proposed by Bruni et al. as a model for long-running

More information

Chapter 7 - Web Service Composition and E-Business Collaboration

Chapter 7 - Web Service Composition and E-Business Collaboration Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 7 - Web Service Composition and E-Business Collaboration Motivation

More information

Realizability of Choreographies using Process Algebra Encodings

Realizability of Choreographies using Process Algebra Encodings Realizability of Choreographies using Process Algebra Encodings Gwen Salaün 1 and Tevfik Bultan 2 1 University of Málaga, Spain salaun@lcc.uma.es 2 University of California, Santa Barbara, USA bultan@cs.ucsb.edu

More information

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 38 A Tutorial on Network Protocols

More information

Unifying Domain Ontology with Agent-Oriented Modeling of Services

Unifying Domain Ontology with Agent-Oriented Modeling of Services Proceedings of The 6th IEEE International Symposium on Service Oriented System Engineering (SOSE 2011) Unifying Domain Ontology with Agent-Oriented Modeling of Services Zhi Jin Key Lab. of High Confidence

More information

TIETS14 Introduction to Formal Specification

TIETS14 Introduction to Formal Specification TIETS14 Introduction to Formal Specification 5 ECTS Teacher: Timo Nummenmaa timo.nummenmaa@staff.uta.fi Executable Formal Specifications in Game Development: Design, Validation and Evolution Teaching times:

More information

Lecture 1: Course Introduction

Lecture 1: Course Introduction Lecture 1: Course Introduction Thomas Johansson T. Johansson (Lund University) 1 / 37 Chapter 9: Symmetric Key Distribution To understand the problems associated with managing and distributing secret keys.

More information

Consolidation of Interacting BPEL Process Models with Fault Handlers

Consolidation of Interacting BPEL Process Models with Fault Handlers Consolidation of Interacting BPEL Process Models with Fault Handlers Sebastian Wagner, Oliver Kopp, and Frank Leymann Institute of Architecture of Application Systems, University of Stuttgart, Germany

More information

i-dialogue Modeling Agent Conversation by Streams and Lazy Evaluation Clement Jonquet & Stefano A. Cerri

i-dialogue Modeling Agent Conversation by Streams and Lazy Evaluation Clement Jonquet & Stefano A. Cerri i-dialogue Modeling Agent Conversation by Streams and Lazy Evaluation Clement Jonquet & Stefano A. Cerri Context Interaction modeling In DAI and MAS communities: interacting entities interaction + autonomy

More information

Local Corporate Manual

Local Corporate Manual Local Corporate Manual Valk Internet Table of contents 1. Corporate Valk Account 2. Logging in 3. Making a reservation 3.1. Date, number of rooms and travelling party 3.2. Selecting room type and accomodation

More information

Safety SPL/2010 SPL/20 1

Safety SPL/2010 SPL/20 1 Safety 1 system designing for concurrent execution environments system: collection of objects and their interactions system properties: Safety - nothing bad ever happens Liveness - anything ever happens

More information

SEEM4540 Open Systems for E-Commerce Lecture 03 Internet Security

SEEM4540 Open Systems for E-Commerce Lecture 03 Internet Security SEEM4540 Open Systems for E-Commerce Lecture 03 Internet Security Consider 2. Based on DNS, identified the IP address of www.cuhk.edu.hk is 137.189.11.73. 1. Go to http://www.cuhk.edu.hk 3. Forward the

More information

Mapping UML State Machine Diagram And WS-CDL For Modeling Participant s Behavioral Scenarios

Mapping UML State Machine Diagram And WS-CDL For Modeling Participant s Behavioral Scenarios Mapping UML State Machine Diagram And WS-CDL For Modeling Participant s Behavioral Scenarios Seyed Mohammad Javad. Zakerfar, Naser. Nematbakhsh and Farhad. Mardukhi and Mohammad. Naderi Dehkordi Abstract

More information

Lecture 7: Requirements Modeling III. Formal Methods in RE

Lecture 7: Requirements Modeling III. Formal Methods in RE Lecture 7: Requirements Modeling III Last Last Week: Week: Modeling Modeling and and (II) (II) Modeling Modeling Functionality Functionality Structured Structured Object Object Oriented Oriented This This

More information

We may change the privacy notice from time to time by amending this page. What type of information will we collect from you?

We may change the privacy notice from time to time by amending this page. What type of information will we collect from you? This privacy notice sets out how we will process personal data we collect from or about you, or which you provide to us. Please read this notice carefully to understand why data is being collected and

More information

Specific Proposals for the Use of Petri Nets in a Concurrent Programming Course

Specific Proposals for the Use of Petri Nets in a Concurrent Programming Course Specific Proposals for the Use of Petri Nets in a Concurrent Programming Course João Paulo Barros Instituto Politécnico de Beja, Escola Superior de Tecnologia e Gestão Rua Afonso III, n.º 1 7800-050 Beja,

More information

System Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics

System Models. 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models. Nicola Dragoni Embedded Systems Engineering DTU Informatics System Models Nicola Dragoni Embedded Systems Engineering DTU Informatics 2.1 Introduction 2.2 Architectural Models 2.3 Fundamental Models Architectural vs Fundamental Models Systems that are intended

More information

INESOFT CASH ORGANIZER User Manual

INESOFT CASH ORGANIZER User Manual INESOFT CASH ORGANIZER User Manual Inesoft Cash Organizer Copyright Inesoft, 1998 2012. All rights reserved. User Manual v.1.0 by Wasyl Dolgow Cash Organizer is a registered trademark of Inesoft. Microsoft

More information