[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Issue - 76 - Mandating either Pessimistic or Optimistic Static Analysis
<process> ... <variables> <variable name="inmessage" type="inmessagedef"/> <variable name="outmessage" type="outmessagedef"/> </variables> ... <sequence> <receive variable="inmessage".../> <switch> <case condition="bpws:getVariableProperty(inmessage,randomvalue) > 3"> <assign><copy><from>...</from><to variable="outmessagedef" part="one"/></copy></assign> </case> </switch> <reply variable="outmessagedef".../> </sequence> </process> Depending on the value of the randomvalue property in the incoming message the reply activity could cause a bpws:uninitializedVariable fault to be raised. The spec does not currently mandate any particular behavior in regards to the static analysis of this program. Therefore this program could be accepted by BPEL engines that use optimistic analysis and rejected by BPEL engines that use pessimistic analysis. This ambiguity prevents real portability since there is no way for a programmer to know ahead of time what kind of BPEL engine their program will be run on. To solve this portability problem that BPEL TC needs to mandate that all BPEL engines use consistent behavior in applying static analysis. The two most common choices for the TC to adopt is either to mandate optimistic or pessimistic static analysis behavior. Optimistic analysis is defined as meaning that a BPEL engine MUST accept any BPEL definition so long as there exists at least one possible execution path that will not cause any errors that can be detected using static analysis. Pessimistic analysis is defined as meaning that a BPEL engine MUST reject any BPEL definition which has at least one possible execution path that will cause an error that can be detected using static analysis. Thanks, Yaron
<<attachment: winmail.dat>>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]