separating operational and control behaviors quan z. sheng, zakaria maamar, hamdi yahyaoui,jamal...

25

Upload: cameron-armstrong

Post on 05-Jan-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE
Page 2: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

Separating Operational and Separating Operational and Control BehaviorsControl Behaviors Quan Z. Sheng , Zakaria Maamar Quan Z. Sheng , Zakaria Maamar , , Hamdi Hamdi Yahyaoui Yahyaoui ,,Jamal BentaharJamal Bentaharand Khouloud Boukadi and Khouloud Boukadi Internet Computing, IEEE Internet Computing, IEEE May-June 2010 May-June 2010 Volume:Volume: 14 Issue:3 14 Issue:3 On page(s): On page(s): 68 - 76 68 - 76

SSE 3200Luke Gesior Jeremy Strandberg

Page 3: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE
Page 4: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

ProblemsProblemsWeb Services are confined to

simpler applicationsWSDL does not show how to

oversee executionsDesign Soundness-Conversation

DeadlocksDifficult debugging and testing

Page 5: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

What are Web What are Web Services?Services?

application components

communicate using open protocols

self-contained and self-describing

used by other applications

Page 6: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

What is SOAP?What is SOAP?

Simple Object Access Protocol

Format for sending messages

Designed to communicate via Internet

Allows you to get around firewalls

Page 7: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

What is WSDL?What is WSDL?Web Services Description Languageused to describe Web services

Universal Description, Discovery and Integration

a directory for storing information about web services

What is UDDI?What is UDDI?

Page 8: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

SeparationSeparationOperational Behavior

◦Application-dependant◦Contains functionality

Control Behavior◦Application-independent◦Builds execution progress

Conversational Messages◦Convey information between the two

Page 9: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE
Page 10: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

www.noaa.gov

Page 11: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE
Page 12: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE
Page 13: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

Two FunctionsNext(activated, path1) = (commitment, done)

Next(activated, path2)= (failure, aborted)

Page 14: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

Conversational Conversational MessagesMessagesSeven Types

◦sync, ping, success, ack, fail, delay, syncreq

Initiation messages◦from control to operational behaviors◦start an execution

Outcome Messages◦from operation to control behaviors◦Report on executions status

Page 15: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE
Page 16: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

Input ArgumentsInput Arguments• strp1 –Common Arguments– ID, Name, From, To, Trigger

• strp2 –Arguments from control to operational

behavior–Authorized activity-time, Authorized

passivity-time, Required Participants• strp3 –Arguments from operational to control

behavior–Counter-part ID, Effective activity time,

Execution Nature

Page 17: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

ExampleExampleSync(str) handles (activated,

label1 , input-collected) ◦Consists of strp1 and strp2

Page 18: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

Conversation SessionsConversation SessionsSequenced conversational

messagesSync.SuccessSync.Delay.Syncreq.Sync.SuccesSome sequences lead to

indefinite waiting

Page 19: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

SolutionSolution• Represent every combination of

conversational messages• Integrate restrictions to

conversational messages–Each Delay message in a sequence

should be followed by a Success, Fail, or Syncreq message, that is, Delay(t) ⇒ Success(t + 1) ∨ Fail(t + 1) ∨ Syncreq(t + 1). –Each Ping message in a sequence

should be followed by an Ack message, that is, Ping(t) ⇒ Ack(t + 1).

• Ensures soundness of design

Page 20: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

Conclusion and Conclusion and ImplementationImplementation

Coded in JavaConsists of four tools system engineers

access◦Control Behavior Modeler◦Operational Behavior Modeler◦Conversation Modeler

Takes web services behavior as input Produces conversation specification as output,

translated into XML◦Conversation Controller

Provides methods for managing conversations◦Service Manager

Allows engineer to track and analyze execution

Page 21: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE
Page 22: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE
Page 23: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

QuestionsQuestions(mandatory)(mandatory)

Page 24: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE

ReferencesReferences Separating Operational and Control Behaviors

Quan Z. Sheng , Zakaria Maamar , Hamdi Yahyaoui ,Jamal Bentaharand Khouloud Boukadi Internet Computing, IEEE May-June 2010 Volume: 14 Issue:3 On page(s): 68 – 76

A Formal Verification Approach of Conversations in Composite Web Services using NuSMVMelissa KOVA1, Jamal BENTAHAR1, Zakaria MAAMAR, and HamdiYAHYAOUI

http://www.w3schools.com/ www.noaa.gov

Page 25: Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE