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: Re: [wsbpel] Issue - 107 - Opacity and the meaning of nothingnessin abstract processes


I have three goals:

#1 - To introduce both an <opaque> activity.

#2 - To introduce a reserved opaque value for use in BPEL attributes 
that don't need to be specified in an abstract process. E.g. <receive 
variable="bpel:opaque" .../>.

#3 - To make it illegal to specify an abstract BPEL whose structure 
would not be legal in an executable BPEL unless an <opaque> activity or 
opaque attribute is used.

So, for example, it would be illegal to create an abstract process with 
no start activities unless an <opaque> activity was used as a place 
holder at the start of the process. It would also be illegal to specify 
an operation and leaves off a variable attribute, one would have to 
include the attribute but could use the specially reserved opaque 
attribute value.

This doesn't stop anyone however in leaving out details that don't 
result in an illegal BPEL structure. For example, imagine I have the 
following BPEL executable process:

process
    ...
    sequence
       ...
       assign
       receive
       reply
       ...

It turns out that the assign is just some internal fix up and really 
isn't relevant to the definition of an abstract version of the process. 
So when I define the abstract process I just specify:

process
    ...
    sequence
       ...
       receive
       reply
       ...

The resulting structure is legal so there is no need to use <opaque>. As 
you point out, however, one might want to use <opaque> if one explicitly 
wanted to point out 'hey, put something here'.

	Make sense?

		Thanks,

			Yaron

> 
> 
> 
> We need both, i.e. we should not enforce "consistent usage" of the implicit
> or explicit mechanism.
> 
> (1) Sometimes you want to hide details of on internal process; even that
> fact that "something happens" between two activities in the abstract
> process.  Thus, we need implicit.
> 
> (2) The explicit is not only needed for "error detection" but also for
> "templating" of process models.
> 
> Regards,
> Frank
> 
> 
> 
> 
> 
> 
> 
> Please respond to wsbpel@lists.oasis-open.org
> 
> To:    wsbpel@lists.oasis-open.org
> cc:
> Subject:    [wsbpel] Issue - 107 - Opacity and the meaning of nothingness
>        in abstract processes
> 
> 
> This issue has been added to the wsbpel issue list. The issues list is
> posted as a Technical Committee document to the OASIS WSBPEL TC pages on a
> regular basis. The current edition, as a TC document, is the most recent
> document with the title in the "Issues" folder of the WSBPEL TC document
> list - the next posting will include this issue. The list editor's working
> copy, which will normally include an issue when it is announced, is
> available at this constant URL.
> Issue - 107 - Opacity and the meaning of nothingness in abstract processes
> 
> 
> Status: open
> Area: Abstract processes
> Date added: 18 Mar 2004
> Submitter: Yaron Y. Goland
> Date submitted: 18 March 2004
> Description: The design of abstract processes requires the ability to omit
> information that is not relevant to the abstract process's design. There
> are two general strategies for omitting information - implicit and
> explicit.
> 
> 
> An example of implicitly hiding data is the way that abstract processes
> deal with some of the variables on message operations. If one doesn't want
> to specify where a message is recorded on a receive then one may simply
> leave off the variable attribute.
> 
> 
> An example of explicitly hiding data would be introducing something like an
> <opaque> activity. For example, imagine that one is defining an abstract
> process and the start activities of the abstract process are to be omitted
> since they are not relevant to the functionality the abstract process is
> describing. In that case one could start a process with an <opaque>
> activity. By putting in <opaque> one is explicitly communicating to the
> reader of the abstract process 'There is something here but its definition
> is not relevant to the goal of the abstract process.'
> 
> 
> The advantage of explicit versus implicit hiding is in error detection.
> 
> 
> In an implicit system where one simply leaves off variables or omits
> activities there is no way to tell the difference between an error, e.g.
> the person intended to include the variable or activity but forget and true
> omission. This is a well known problem with treating the absence of
> information as information.
> 
> 
> In an explicit system where one would have <opaque> activities and special
> reserved bpel:opaque place holders for attributes there is no possibility
> for confusion. If an opaque value is specified then one has an unambiguous
> declaration from the designer of the abstract process as to their
> intention.
> 
> 
> The issue before the group is - should we consistently use an implicit or
> explicit omission mechanism for specifying when information has been
> intentionally omitted in an abstract process?
> Changes: 18 Mar 2004 - new issue
> 
> 
> 
> To comment on this issue, please follow-up to this announcement on the
> wsbpel@lists.oasis-open.org list (replying to this message should
> automatically send your message to that list), or ensure the subject line
> as you send it starts "Issue - 107 - [anything]" or is a reply to such a
> message.
> 
> 
> To add a new issue, see the issues procedures document (but the address for
> new issue submission is the sender of this announcement).
> 
> 
> To unsubscribe from this mailing list (and be removed from the roster of
> the OASIS TC), go to
> http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php
> .
> 
> 
> 
> 
> To unsubscribe from this mailing list (and be removed from the roster of the 
> OASIS TC), go to 
> http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php.
> 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]