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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-bp message

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


Subject: RE: [ebxml-bp] Semantics of variables.


[Last response to the series of excellent comments from Andreas Schrodinger, reflecting a close reading and critical revies of the ebBP 2.0 specification and support materials.

Andreas has provided  comments that come at a great time as we are engaged in drawing up a list of  possible enhancements as well as fixes that need to be made with errata issued.  We will be transitioning this work to ebCore before long, and we are pleased to have these questions documented in our comment and TC mailing list for future work.

 

Dale Moberg]

 

 

 

1.      Semantics of variables.

The semantics of variables are not completely clear to me. It seems to me that the exact use of variables may and should be defined by process designers before starting to modeling with ebBP. Some of the things that would have to be specified are:

 

I agree with your position. Others may wish to provide different views, but variables were introduced into the specification mainly as an experimental element of the XSD, whose semantics and precise usage was underspecified, and mainly left to the implementer for specialization for the precise usages the ebBP model was to support.

 

The main discussion of semantics was that a Variable could retain knowledge of a previously completed document or result, which could then be used later on. So it was a measure introduced to permit more “stateful” descriptions of processes.

1.      What does a Variable actually consist of?
On page 77, ebBP standard states:
A Variable MAY have a duration, a type and, where applicable, a default value.

I will need to consult with some of the TC members to clarify the term “duration” here.

2.      Which languages are admissible for specifying variables?

From sample use cases I have investigated for other projects, XPath[1 or 2]  and XSLT are mainly of use in assignment of values

 

3.      Are there any scoping rules for variables?

No, effectively it would be safest to consider them as global. Sorry. But if you wish to suggest scoping rules that prove useful, they can go on our maintenance list of issues and topics.

I will note that implementers have noted an interest in more specification on semantics of variables.

 

4.      Are there any synchronization primitives for accessing a variable concurrently or is concurrent access forbidden?

 

Software using these variables can establish their own treatment of assignment and evaluation. Given that they are in effect global, I would think concurrent read access might be OK but as normal, concurrent write would be quite a problem. In general, I think an XSLT like variable that could be fed to an XSLT script as an external parameter would be the normal imagined technical usage. Again, we were asked to provide storage of state but the precise use cases were not provided to even see that variables were really needed.  



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