240 likes | 324 Views
Efficient Controllability Analysis of Open Nets. Workshop on Web Services and Formal Methods 2008. Daniela Weinberg weinberg@informatik.hu-berlin.de http://www.service-technology.org/wsfm2008. Setting. Service self-contained software unit encapsulated functionality with interface
E N D
Efficient Controllability Analysis of Open Nets Workshop on Web Services and Formal Methods 2008 Daniela Weinberg weinberg@informatik.hu-berlin.de http://www.service-technology.org/wsfm2008
Setting Efficient Controllability Analysis of Open Nets • Service • self-contained software unit • encapsulated functionality with interface • designed to interact with other services S interacting with another service service modeling service S
Controllability Efficient Controllability Analysis of Open Nets • question, whether there exists another service C such that S and C can interact properly • does the composition of S and C reach a final state without deadlocking and no messages are left pending on the interface • interaction is done asynchronously
Model of a Service Efficient Controllability Analysis of Open Nets • a service is modeled as an open net • Petri net with • output (yellow) places, • input (orange) places, • special initial state and set of final states • acyclic • Example: online portal • initial state: [p1] • set of final states: {[p5]}
Using the Online Portal user as an automaton Interaction Graph ?terms ?note ?stats !review !login !login Efficient Controllability Analysis of Open Nets
Filling out the Bubbles Efficient Controllability Analysis of Open Nets • nodes: set of states • transient states, deadlocks [p1] [p4, terms] [p2, note] [p3, stats, note] ?terms
Filling out the Bubbles Efficient Controllability Analysis of Open Nets • nodes: set of states • transient states, deadlocks [p1] [p4, terms] [p2, note] [p3, stats, note] ?terms [p4] !login
Filling out the Bubbles Efficient Controllability Analysis of Open Nets • nodes: set of states • transient states, deadlocks [p1] [p4, terms] [p2, note] [p3, stats, note] ?terms [p4] !login [p4, login] [p5]
Filling out the Bubbles Efficient Controllability Analysis of Open Nets • nodes: set of states • transient states, deadlocks [p1] [p4, terms] [p2, note] [p3, stats, note] !review ?note ... ... ?stats !login ... ... ?terms !review ?note [p4] ... ?stats ?terms ... !login ... ... [p4, login] [p5] ... ...
Interaction Graph of Online Portal Efficient Controllability Analysis of Open Nets
Interaction Graph of Online Portal Efficient Controllability Analysis of Open Nets • Is our service controllable? • Does the IG contain a controller? • Classification of the nodes necessary
The complete Interaction Graph Efficient Controllability Analysis of Open Nets • for real life services IG grows huge in size • industrial service (open net: #P = 116, #E = 156) • complete IG: #Nodes = 1584, #Edges = 7473, time = 302s • solution: define reduction rules! • reduced IG: #Nodes = 31, #Edges = 41, time = 1s
Activation of Events Efficient Controllability Analysis of Open Nets • state s activates an event a: • state s is a deadlock • sending or receiving a leads from s to a new state [p1] [p4, terms] [p2, note] [p3, stats, note] !review ?note ... ... ?stats !login ... ?terms [p4] !login ...
Receiving before Sending Efficient Controllability Analysis of Open Nets • Idea: do not send anything as long as you can receive something • one state activates a receiving and a sending event • consider the receiving event only [p1] [p4, terms] [p2, note] [p3, stats, note] !review ?note ... ... ?stats !login ... ... ?terms ...
Reduced Interaction Graph I Efficient Controllability Analysis of Open Nets
Combining Receiving Events Efficient Controllability Analysis of Open Nets • Idea: receive as much as possible at once • a state activates more than one receiving event • combine all receiving events of one state to one event [p1] [p4, terms] [p2, note] [p3, stats, note] !review ?note ... ... ?stats !login ... ... ?terms ...
Combining Receiving Events Efficient Controllability Analysis of Open Nets • Idea: receive as much as possible at once • a state activates more than one receiving event • combine all receiving events of one state to one event [p1] [p4, terms] [p2, note] [p3, stats, note] !review ... ?stats, ?note !login ... ... ?terms ...
Reduced Interaction Graph II Efficient Controllability Analysis of Open Nets
All Reduction Rules combined Efficient Controllability Analysis of Open Nets • all reduction rules can be combined
Reduced Interaction Graph III Efficient Controllability Analysis of Open Nets • all reduction rules combined: 6 nodes, 5 edges • full IG: 30 nodes, 31 edges
Take Home Points Efficient Controllability Analysis of Open Nets • our case studies show • reduced interaction graph is an efficient technique to decide controllability • for most services reduction by >90% • IG and all reduction rules are integrated into tool Fiona • http://www.service-technology.org/fiona
Future Work Efficient Controllability Analysis of Open Nets • define more reduction rules • which events are activated • reduce number of states stored in nodes • adapt techniques to work with cyclic open nets as well
See more Efficient Controllability Analysis of Open Nets • Web • http://www.service-technology.org/wsfm2008 • slides, paper, tools, examples, ...