
Hi BES folx, The SAGA Core Specification is getting closer to completion. One of the elements we wanted to use from the OGSA-BES specification is its state model. We had some discussion with Marvin Theimer and Chris Smith at GGF17, and back then it looked like the BES and SAGA state model would converge very nicely. What is the current state of the state model (hope you appreciate the clever play of words)? Is it expected to undergo major changes before the OGSA-BES spec goes into the document pipeline? In the doc version as sent by Morgan I could not immediately find any information about allowed/forbidden state transitions. Is there a complete state diagram available? Also, I missed the Suspended state, which was in discussion earlier - is that gone? Is that supposed to be part of the state detail in the Running state? If yes, the SAGA state diagram would need to differ from the BES state diagram: in SAGA, Suspended is supposed to be a top level state. Sorry if these issues should be clear from the doc, or from the discussions on this list - I was not able to follow the BES activities as closely as would have liked to... For what its worth, I attach the current SAGA state diagram. IFAICS, exchanging SAGA::New with BES::Pending and SAGA::Unknown with BES::New would yield the current BES state diagram - apart from SAGA::Suspend that is. Thanks, Andre. Quoting [Mark Morgan] (Aug 15 2006):
Fellow BES'ers,
I have uploaded to GridForge (and attached to this email for your convenience) my revamped version of the BES specification as agreed to during last week's telecon. The great majority of changes reflect resolutions that we reached on that telecon and include a re-work of the state model (both in text and xml form) as well as a rework of the attributes or info model (again, in text and XML form). It is my belief that the document now constitutes a consistent story from English description through XSD and WSDL though by no means should the document be considered fully proofed or ready for ppublishing. The following details apply:
The version of the document that I uploaded is based originally on that received from Mr. Ian Foster and so should include many of his changes. As per the BES telecon discussion, some of the material in that document has been moved to an appendix. In particular, the discussion on JSDL extensions is now an appendix (in fact, I simply cut-and-paste that chapter into the appendix so no editing has been done there and probably should be before we go public).
Also, the specification had been split into three separate port types; management, factory, and activity. As per our discussions, activity is out of scope for BES but quite reasonable as an appendix. I therefor removed this port type from the document proper. However, I didn't feel like I had the time nor the vested interest in that port type necessary to do it justice. It therefor has not been re-added into an appendix and if the group feels like it has a place there, some work needs to be done to re-insert it.
In Ian's original draft, each of the separate port types had it's own attributes/properties. However, as per resolutions on last week's telecon, this no longer fit the model we had agreed upon. I have therefor moved all such attributes into the management port type (which seems reasonable as one could construe info model as a management function).
Finally, just to be clear on how I handled the state model (as I think this was one of our key features), I have defined a new data type called OverallStatusType which contains exactly one of bes-factory:New, bes-factory:Pending, bes-factory:Running, bes-factory:Cancelled, bes-factory:Failed, and bes-factory:Finished as a child element. Each of these elements in turn has an xsd:any inside which can be used for arbitrary specialization or sub-stating. For example, suppose I wished to reflect that I was in the Mark Morgan Blocked sub-state of the Uva VCGR Staging-In sub-state of the spec. defined Running state. My XML for that would look like:
<bes-factory:OverallStatus xmlns:bes-factory="http://schemas.ggf.org/bes/2006/08/bes-factory" xmlns:vcgr="http://vcgr.cs.virginia.edu/bes/2006/08/states" xmlns:morgan="http://mark-morgan.org/bes/2006/08/states">
<bes-factory:Running> <vcgr:Staging-In> <morgan:Blocked/> </vcgr:Staging-In> </bes-factory:Running>
</bes-factory:OverallStatus>
-- "So much time, so little to do..." -- Garfield