separating operational and control behaviors quan z. sheng, zakaria maamar, hamdi yahyaoui,jamal...
TRANSCRIPT
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
ProblemsProblemsWeb Services are confined to
simpler applicationsWSDL does not show how to
oversee executionsDesign Soundness-Conversation
DeadlocksDifficult debugging and testing
What are Web What are Web Services?Services?
application components
communicate using open protocols
self-contained and self-describing
used by other applications
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
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?
SeparationSeparationOperational Behavior
◦Application-dependant◦Contains functionality
Control Behavior◦Application-independent◦Builds execution progress
Conversational Messages◦Convey information between the two
www.noaa.gov
Two FunctionsNext(activated, path1) = (commitment, done)
Next(activated, path2)= (failure, aborted)
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
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
ExampleExampleSync(str) handles (activated,
label1 , input-collected) ◦Consists of strp1 and strp2
Conversation SessionsConversation SessionsSequenced conversational
messagesSync.SuccessSync.Delay.Syncreq.Sync.SuccesSome sequences lead to
indefinite waiting
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
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
QuestionsQuestions(mandatory)(mandatory)
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