Top Banner
CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan Billington Lars Michael Kristensen CPN Workshop 10 th October 2004 Computer Systems Engineering Centre School of Electrical and Information Engineering University of South Australia Department of Computer Science University of Aarhus
40

CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

CSEC

Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open

Trading Protocol

Guy Edward Gallasch, Chun Ouyang, Jonathan Billington

Lars Michael Kristensen

CPN Workshop

10th October 2004

Computer Systems Engineering CentreSchool of Electrical and Information Engineering

University of South Australia

Department of Computer ScienceUniversity of Aarhus

Page 2: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

2CSEC

Outline

• Motivation and Contribution

• The Sweep-Line Method

• Internet Open Trading Protocol (IOTP)

• A Revised IOTP CPN Model

• Sweep-Line Exploration of IOTP

• Experimental Results

• Conclusions and future work

Page 3: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

3CSEC

Motivation and Contribution

• State Explosion Problem: – Too many states to fit in computer memory!

• Evaluation of the Sweep-line method on an industrial example.

• Evaluation of Sweep-line using different progress mappings.

• Gain experience in applying Sweep-line effectively.

• Obtain verification results for IOTP that were previously out of reach.

Page 4: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

4CSEC

Sweep-Line Method – Progress Measure• A notion of progress within the system being modelled:

– States with lower progress are unlikely to be reached from

states with higher progress.

– States with lower progress can be deleted on-the-fly.

• A progress measure:

– Formally captures the notion of progress.

– Specifies a progress mapping from markings to ordered

progress values.

• We can take the set of natural numbers as the progress

values and the usual orderings on this set, e.g. ≤, <, >.

Page 5: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

5CSEC

Sweep-Line Method – Progress Mappings• A mapping is monotonic if:

– There is only progress, no regress.

– For each reachable marking, all successors have the same progress value or a higher progress value.

• A mapping is non-monotonic if:– We have regress edges.

– Arcs leading from states with higher progress values to states with lower progress values.

• The Sweep-line method can deal with regress:– Mark destinations of regress edges as persistent.

– Re-explore the occurrence graph from these persistent states.

Page 6: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

6CSEC

IOTP – Basic Concepts

• Informal narrative description in RFC 2801 (290 pages).• Trading Roles:

– Consumer, Merchant, Payment Handler, Delivery Handler (and Merchant Customer Care Provider)

• IOTP Messages• Document Exchanges:

– Authentication– Offer (Brand Dependent Offer and Brand Independent Offer)

– Payment

– Delivery

– Payment-and-Delivery

• IOTP Transactions:– Authentication, Purchase, Refund, Deposit, Withdrawal, and Value

Exchange

Page 7: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

7CSEC

IOTP – Transaction Procedures

• IOTP Transactions are constructed by combining document exchanges– An example of Purchase

Transaction

Page 8: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

8CSEC

IOTP – Transaction Procedures

• IOTP Transactions are constructed by combining document exchanges– An example of Purchase

Transaction

• Transaction Cancellation and Error Handling– Cancel Message

– Error Message

– Message Identifier (local to each trading role)

Authentication (optional)

Payment

Brand Dependent

Offer

Brand Independent

Offer

Payment

Delivery

Payment-and-

Delivery

Page 9: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

9CSEC

A Revised IOTP CPN – Overview

Page 10: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

10CSEC

Revised IOTP CPN – Top Level

• Four IOTP entities (trading roles) communicate with each other via a simple model of the underlying transport medium (HTTP service)

Page 11: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

11CSEC

Consumer Trading Role Page

Page 12: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

12CSEC

Consumer Trading Role Page

Token contains:

•Trading Role internal state

•Transaction type

•Current Document Exchange

•Message ID and Retrans counter of last message sent

•Message ID of last message received.

Page 13: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

13CSEC

Analysis of the Revised IOTP

• The analysis focuses on the six Authentication and Payment-related transactions.

• Analysis of each transaction for different values of RCmax– RCmax : the maximum value of the message retransmission counter.

• The value of RCmax is not specified in RFC 2801.– Unbounded number of configurations of the CPN to analyse.

• When RCmax > 4, the number of states of both the Purchase and the Value Exchange transactions became too large to manage with available computer resources.

Page 14: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

14CSEC

Sweep-Line Exploration of IOTP

• The sweep-line method is applied to alleviate the problem of state explosion for the revised IOTP CPN with RCmax > 4

• Two approaches to define a progress mapping: – Generic features: Sequence numbers and Retransmission counters.

– IOTP-specific features: take advantage of behavioural properties of IOTP.

• Three progress mappings defined:– Generic progress mapping

– IOTP-specific progress mapping

– Combined progress mapping

• Valid transaction termination property of IOTP is examined

Page 15: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

15CSEC

Generic Progress Mapping

• Wouldn’t it be nice… a progress mapping giving good performance, based on common protocol attributes:– Sequence numbers (Message IDs).

– Retransmission counters.

• Each IOTP trading role maintains its own message identifier and retransmission counter for the message most recently sent.

• Definition of generic progress mapping generic_2 for IOTP:

Page 16: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

16CSEC

Generic Progress Mapping

• Wouldn’t it be nice… a progress mapping giving good performance, based on common protocol attributes:– Sequence numbers (Message IDs).

– Retransmission counters.

• Each IOTP trading role maintains its own message identifier and retransmission counter for the message most recently sent.

• Definition of generic progress mapping generic_2 for IOTP:

))()()1max(()(2_ MMRCM trTRtr

trgeneric GetRCGetMessID

Page 17: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

17CSEC

Generic Progress Mapping

• Wouldn’t it be nice… a progress mapping giving good performance, based on common protocol attributes:– Sequence numbers (Message IDs).

– Retransmission counters.

• Each IOTP trading role maintains its own message identifier and retransmission counter for the message most recently sent.

• Definition of generic progress mapping generic_2 for IOTP:

TR = {Consumer, Merchant, Payment Handler, Delivery Handler}

))()()1max(()(2_ MMRCM trTRtr

trgeneric GetRCGetMessID

Page 18: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

18CSEC

Generic Progress Mapping

• Wouldn’t it be nice… a progress mapping giving good performance, based on common protocol attributes:– Sequence numbers (Message IDs).

– Retransmission counters.

• Each IOTP trading role maintains its own message identifier and retransmission counter for the message most recently sent.

• Definition of generic progress mapping generic_2 for IOTP:

TR = {Consumer, Merchant, Payment Handler, Delivery Handler}

GetRCtr : Marking -> Trading Role Retrans Counter

))()()1max(()(2_ MMRCM trTRtr

trgeneric GetRCGetMessID

Page 19: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

19CSEC

Generic Progress Mapping

• Wouldn’t it be nice… a progress mapping giving good performance, based on common protocol attributes:– Sequence numbers (Message IDs).

– Retransmission counters.

• Each IOTP trading role maintains its own message identifier and retransmission counter for the message most recently sent.

• Definition of generic progress mapping generic_2 for IOTP:

TR = {Consumer, Merchant, Payment Handler, Delivery Handler}

GetRCtr : Marking -> Trading Role Retrans Counter

GetMessIDtr : Marking -> Trading Role Message ID

))()()1max(()(2_ MMRCM trTRtr

trgeneric GetRCGetMessID

Page 20: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

20CSEC

Generic Progress Mapping

• Wouldn’t it be nice… a progress mapping giving good performance, based on common protocol attributes:– Sequence numbers (Message IDs).

– Retransmission counters.

• Each IOTP trading role maintains its own message identifier and retransmission counter for the message most recently sent.

• Definition of generic progress mapping generic_2 for IOTP:

TR = {Consumer, Merchant, Payment Handler, Delivery Handler}

GetRCtr : Marking -> Trading Role Retrans Counter

GetMessIDtr : Marking -> Trading Role Message ID

(RCmax+1) is one greater than Max(GetRCtr)

))()()1max(()(2_ MMRCM trTRtr

trgeneric GetRCGetMessID

Page 21: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

21CSEC

IOTP-Specific Progress Mapping

• Two sources of IOTP-specific progress are identified:

1. Within a transaction, progress is exhibited by the execution of successive document exchanges.

– The mapping exch_comb enumerates the combinations of

document exchanges in the order that they occur in e.g. a Purchase Transaction.

2. Within a document exchange, progress is exhibited by the internal state changes of the trading roles.

– Four mappings, m , c , ph and dh , enumerate the trading

role internal states in the order that they occur.

• Definition of the IOTP-specific progress mapping specific

Page 22: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

22CSEC

IOTP-Specific Progress Mapping

• Two sources of IOTP-specific progress are identified:

1. Within a transaction, progress is exhibited by the execution of successive document exchanges.

– The mapping exch_comb enumerates the combinations of

document exchanges in the order that they occur in e.g. a Purchase Transaction.

2. Within a document exchange, progress is exhibited by the internal state changes of the trading roles.

– Four mappings, m , c , ph and dh , enumerate the trading

role internal states in the order that they occur.

• Definition of the IOTP-specific progress mapping specific

)()()()()()( _ MMMMMM dhphcmcombexchspecific

Page 23: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

23CSEC

IOTP-Specific Progress Mapping (2)• Mapping values are engineered so that successive document

exchanges are explored sequentially– i.e. ‘flatten’ the occurrence graph to make it ‘long and narrow’

rather than ‘short and wide’

Page 24: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

24CSEC

IOTP-Specific Progress Mapping (2)• Mapping values are engineered so that successive document

exchanges are explored sequentially– i.e. ‘flatten’ the occurrence graph to make it ‘long and narrow’

rather than ‘short and wide’

• Example:– Purchase Transaction

Occurrence Graphlooks somethinglike this.

– We want to ‘flatten’ it

Auth

Pay

BDOffer

Deliv

Pay-and-Del

Pay Pay

BIOffer

Deliv

Pay-and-Del

Pay

Page 25: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

25CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth

Progress0

Page 26: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

26CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth BDOffer

Progress0 104

Page 27: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

27CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth PayBDOffer

Progress0 104 208

Pay

Page 28: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

28CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth PayBDOffer

DelivPay

Progress0 104 208 286

Page 29: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

29CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth PayBDOffer

Deliv

Pay-and-Del

Pay

Progress0 104 208 286 364

Page 30: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

30CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth PayBDOffer

Deliv

Pay-and-Del

Pay

BIOffer

Progress0 104 208 286 364 494

Page 31: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

31CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth PayBDOffer

Deliv

Pay-and-Del

Pay

PayBIOffer

Pay

Progress0 104 208 286 364 494 598

Page 32: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

32CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth PayBDOffer

Deliv

Pay-and-Del

Pay

PayBIOffer

DelivPay

Progress0 104 208 286 364 494 598 676

Page 33: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

33CSEC

IOTP-Specific Progress Mapping (3)• Example: Purchase Transaction OG Exploration

Auth PayBDOffer

Deliv

Pay-and-Del

Pay

PayBIOffer

Deliv

Pay-and-Del

Pay

Progress0 104 208 286 364 494 598 676 754

Page 34: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

34CSEC

Combination of Generic and Specific Progress Mapping

• The generic progress mapping generic_2 incorporates the RCmax

parameter and is hoped to ‘scale’ well with RCmax.

• The IOTP-specific progress mapping specific takes advantage

of knowledge of the sequential nature of IOTP operations, but lacks potential for scalability.

• We hope to obtain a progress mapping with the advantages of both generic_2 and specific

• Definition of a combined progress mapping comb for IOTP:

Page 35: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

35CSEC

Combination of Generic and Specific Progress Mapping

• The generic progress mapping generic_2 incorporates the RCmax

parameter and is hoped to ‘scale’ well with RCmax.

• The IOTP-specific progress mapping specific takes advantage

of knowledge of the sequential nature of IOTP operations, but lacks potential for scalability.

• We hope to obtain a progress mapping with the advantages of both generic_2 and specific

• Definition of a combined progress mapping comb for IOTP:

where weight is (at least) one larger than Max(generic_2 )

))()()()( 2_ MweightMM specificgenericcomb

Page 36: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

36CSEC

Combination of Generic and Specific Progress Mapping (2)

• Max(GetMessIDtr):

– 15 non-error and non-cancel messages, used at most once.

– Message ID of sender increments for every new message.

– Each new error message (requesting retransmission) increments the Message ID of the receiver.

– Retransmissions have the same Message ID as the original.

– Reception of a message may stimulate a response from the receiver, incrementing the Message ID once more.

• Max(GetMessIDtr) = 15(RCmax+1)

• Max(GetRCtr) = RCmax

• Thus Max(generic_2 ) = 4(15(RCmax+1)2 + RCmax

• Therefore weight = 4(15(RCmax+1)2 + RCmax + 1

Page 37: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

37CSEC

• Sweep-line statistics for the analysis of the revised IOTP CPN using generic_2

– The progress mapping is non-monotonic.

– This is expected, as message identifiers and retransmission counters are reset to 0 at various times during an IOTP transaction.

– Not a useful reduction.

Experimental Results - generic_2

Page 38: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

38CSEC

• Sweep-line statistics for the analysis of the revised IOTP CPN using specific

– The progress mapping is monotonic

– The reduction in space and time is better than when using generic_2

– The space reduction worsens as RCmax increases

Experimental Results - specific

Page 39: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

39CSEC

• Sweep-line statistics for the analysis of the revised IOTP CPN using comb

– The progress mapping is monotonic

– The reduction in space is identical to using specific for small RCmax

but does not worsen as rapidly when RCmax increases

Experimental Results - comb

Page 40: CSEC Experimenting with Progress Mappings for the Sweep-Line Analysis of the Internet Open Trading Protocol Guy Edward Gallasch, Chun Ouyang, Jonathan.

40CSEC

Conclusions

• Particularised the sweep-line method for CPNs, which allows us to just associate a progress mapping with the CPN.

• Defined three progress mappings for the analysis of the revised IOTP CPN model and presented our intuition and rationale behind each.

• Verified transaction termination property of the revised IOTP with RCmax increased to 7.

• Demonstrated that the sweep-line method can be successfully applied to a complex real-life example.

• Future work– Formalise the progress mapping using vectors, as has been done in similar

work on the Wireless Application Protocol.– To apply the compositional sweep-line method to the analysis of IOTP.– To apply sweep-line method to investigate more properties of IOTP.– Develop guidelines for successful application of sweep-line.