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

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
AUTHENTICATION AND KEY DISTRIBUTION
Modelling and Analysis of the CES Protocol of H.245 Lin Liu and Jonathan Billington Computer Systems Engineering Centre University of South Australia.
IETF Trade Working Group January 2000 XML Messaging Overview January 2000.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
Kurt Jensen Lars M. Kristensen 1 Coloured Petri Nets Department of Computer Science Coloured Petri Nets Modelling and Validation of Concurrent Systems.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
1 Digital Rights Management using RFID in an E-Commerce Environment World Applied Sciences Journal,5 (3), pp , 2008 Asso Hamzehei Department of.
Banker’s Algorithm Implementation in CPN Tools Michal Žarnay Department of Transportation Networks University of Žilina, Slovakia.
SPECIFYING COGNITIVE MODELS Using Patterns and Conflicts A. Macklem, F. Mili Oakland University S. Dungrani TARDEC June, 2004.
Introduction and Overview “the grid” – a proposed distributed computing infrastructure for advanced science and engineering. Purpose: grid concept is motivated.
Chapter 7 Using Data Flow Diagrams
Sweep-line Analysis of DCCP Connection Management Somsak Vanit-Anunchai Jonathan Billington Guy Edward Gallasch 25 th October 2006.
Modelling with Coloured Petri Nets Søren Christensen Department of Computer Science University of Aarhus.
1 Computer Systems Engineering Centre University of South Australia An Abstract Model of Routing in Mobile Ad Hoc Networks Cong Yuan, Jonathan Billington,
CPN’0410/10/ Formal Specification and State Space Analysis of an Operational Planning Process Brice Mitchell, Lars M. Kristensen, and Lin Zhang.
An Agent-Oriented Approach to the Integration of Information Sources Michael Christoffel Institute for Program Structures and Data Organization, University.
Chapter 9 Using Data Flow Diagrams
University of South Australia CPN’05 Oct Enhancing the CES Protocol and its Verification Lin Liu 1,2 and Jonathan Billington 2 1 School of Computer.
Object-Oriented Development Process Part I: Requirement Gathering Warsun Najib Department of Electrical Engineering Gadjah Mada University.
Gursharan Singh Tatla Transport Layer 16-May
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
1 Conceptual Modeling of User Interfaces to Workflow Information Systems Conceptual Modeling of User Interfaces to Workflow Information Systems By: Josefina.
Evaluation of a DAG with Intel® CnC Mark Hampton Software and Services Group CnC MIT July 27, 2010.
CLEANROOM SOFTWARE ENGINEERING.
Mining Frequent Itemsets with Constraints Takeaki Uno Takeaki Uno National Institute of Informatics, JAPAN Nov/2005 FJWCP.
Chapter 7 Using Data Flow Diagrams
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Network Security Lecture 26 Presented by: Dr. Munam Ali Shah.
In-Band Access Control Framework Group Name: WG4 SEC Source: Qualcomm Meeting Date: Agenda Item:
What is e-government? E-Government refers to the use by government agencies of information technologies (such as Wide Area Networks, the Internet, and.
1 The CeNTIE project is supported by the Australian Government through the Advanced Networks Program of the Department of Communications, Information Technology.
(Business) Process Centric Exchanges
Security Issues in PIM-SM Link-local Messages J.W. Atwood, Salekul Islam {bill, Department.
EDI communication system
مهندسی مجدد فرآیندهای تجاری
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
NI ©UNITEN 2000/01 1 Faculty of Applied Engineering and Urban Planning Software Engineering Department Class Diagram Faculty of Information system Technology.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
3 June Paris Seminar Modelling and Analysis of TCP’s Connection Management Procedures Jonathan Billington and Bing Han Computer Systems Engineering.
A correction The definition of knot in page 147 is not correct. The correct definition is: A knot in a directed graph is a subgraph with the property that.
Qualifications Update: Human Biology Qualifications Update: Human Biology.
Network Security Lecture 27 Presented by: Dr. Munam Ali Shah.
Input Design Lecture 11 1 BTEC HNC Systems Support Castle College 2007/8.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Protocols and Architecture Slide 1 Use of Standard Protocols.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
IEEE MEDIA INDEPENDENT HANDOVER DCN: Title: IE prioritization for query response size limit support Date Submitted:
Descriptive Research & Questionnaire Design. Descriptive Research Survey versus Observation  Survey Primary data collection method based on communication.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
What it is about? © SkillsRate is registered mark of SKILLSRATE SRL It is all about testing, testing skills,
LEARNING IN A PAIRWISE TERM-TERM PROXIMITY FRAMEWORK FOR INFORMATION RETRIEVAL Ronan Cummins, Colm O’Riordan (SIGIR’09) Speaker : Yi-Ling Tai Date : 2010/03/15.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Chapter 6: Transport Layer (Part I)
“Smart” State Spaces © Kurt Jensen Department of Computer Science University of Aarhus, Denmark "Smart" State.
Coloured Petri Nets Modelling and Validation of Concurrent Systems
Foundations of Technology The Engineering Design Process
Data Pre-processing Lecture Notes for Chapter 2
Short messaging service in GSM
Presentation transcript:

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

CSEC 2 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

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

CSEC 4 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. ≤,.

CSEC 5 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.

CSEC 6 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

CSEC 7 IOTP – Transaction Procedures IOTP Transactions are constructed by combining document exchanges –An example of Purchase Transaction

CSEC 8 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

CSEC 9 A Revised IOTP CPN – Overview

CSEC 10 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)

CSEC 11 Consumer Trading Role Page

CSEC 12 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.

CSEC 13 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 –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.

CSEC 14 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

CSEC 15 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:

CSEC 16 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:

CSEC 17 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}

CSEC 18 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} GetRC tr : Marking -> Trading Role Retrans Counter

CSEC 19 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} GetRC tr : Marking -> Trading Role Retrans Counter GetMessID tr : Marking -> Trading Role Message ID

CSEC 20 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} GetRC tr : Marking -> Trading Role Retrans Counter GetMessID tr : Marking -> Trading Role Message ID (RCmax+1) is one greater than Max( GetRC tr )

CSEC 21 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

CSEC 22 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

CSEC 23 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’

CSEC 24 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 Graph looks something like this. –We want to ‘flatten’ it Auth Pay BD Offer Deliv Pay -and- Del Pay BI Offer Deliv Pay -and- Del Pay

CSEC 25 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth Progress 0

CSEC 26 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth BD Offer Progress 0104

CSEC 27 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth Pay BD Offer Progress Pay

CSEC 28 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth Pay BD Offer Deliv Pay Progress

CSEC 29 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth Pay BD Offer Deliv Pay -and- Del Pay Progress

CSEC 30 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth Pay BD Offer Deliv Pay -and- Del Pay BI Offer Progress

CSEC 31 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth Pay BD Offer Deliv Pay -and- Del Pay BI Offer Pay Progress

CSEC 32 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth Pay BD Offer Deliv Pay -and- Del Pay BI Offer Deliv Pay Progress

CSEC 33 IOTP-Specific Progress Mapping (3) Example: Purchase Transaction OG Exploration Auth Pay BD Offer Deliv Pay -and- Del Pay BI Offer Deliv Pay -and- Del Pay Progress

CSEC 34 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:

CSEC 35 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 )

CSEC 36 Combination of Generic and Specific Progress Mapping (2) Max( GetMessID tr ): –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( GetMessID tr ) = 15(RCmax+1) Max( GetRC tr ) = RCmax Thus Max(  generic_2 ) = 4(15(RCmax+1) 2 + RCmax Therefore weight = 4(15(RCmax+1) 2 + RCmax + 1

CSEC 37 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

CSEC 38 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

CSEC 39 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

CSEC 40 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.