OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[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]