
Hmm, not sure what went wrong - opens fine for me with Acrobat and Preview, on MacOS. I simply post it again - maybe the attachement process mangled the doc, or whatever. Please let me know if the problem persists, and I look into it again.
Here are my comments: Page 1 - Copyright (update for 2010) Page 4: - saga::advert_directory --> saga::advert::directory - saga::logical_directory --> saga::replica::logical_directory Page 6: - undefined reference [?] - the the --> the - ...second advert directory /this/? acts as a... Page 7: - how to ensure atomicity of setting a workitem to be 'accepted'? - ...directories adverts... --> directory adverts Page 8: - _SAGA_LOCK is not sufficient if set to 1, it needs to contain the information about what object holds the lock (id of corresponding object?) otherwise it's useless for the implementation of atomic access (or, how should atomic locking be implemented) - ...define their on... --> define their own Page 9: - I'm feeling a bit uneasy with the requirement to throw IncorrectState for expired entries. If this is generally enforced I see no way to delete those. Furthermore, couldn't it be necessary to access those entries even after they expired (atleast as long as they still exist)? Debugging, archiving, etc. come to mind here. Page 10: - advert_directory is missing a constructor allowing to reuse default session, it is not possible to inherit constructors (well, at least not in C++, but I doubt it works in other languages) Page 11: - advert is missing a constructor allowing to reuse default session - ...uses the same /ag/? semantics... - How can Truncate reset TTL counter if it is supposed to empty the attributes? Do you mean _SAGA_MODIFIED should be set to the current time and _SAGA_TTL shouldn't be touched? Page 12: - does Truncate on a directory purge everything below in the hierachy? - ...it has two additional method... --> it has two additional methods - directorie's --> directory's - directories --> directory's - PostCond: ...of the context use... --> of the context used Page 13: - 'if the Tuncate flag is given, the returned object MUST NOT have an associated object': what 'associated object' is meant? - The way the spec describes the TTL timer implies that each entry must have a 'hidden' entry representing either the remaining TTL or the starting point in time when the TTL has been reset. Wouldn't it be benefitial to make that explicit, i.e. add another attribute defining the point in time when the entry expires? Page 14: - what's the preferred method of getting a list of all expired items (I'm asking as find() shouldn't return those)? - ...manage manage... --> manage - ...set of user define attributes... --> set of user defined attributes Page 17: - ...semantics as ... --> semantics as Page 18: - how can I remove an associated object from an entry (de-associate the object)? Pages 19-22: - note: I did not compile/run the code, but looks ok Page 25: - I'd suggest to change the way names for those multiple keys are formed: _SAGA_CONTEXT_<N>_URL --> _SAGA_CONTEXT_URL_<N>, as this makes it easier to generate those, allows simpler search patterns, and even allows to make _SAGA_ANY_ATTRIBUTE and _SAGA_ANY_ATTRIBUTE_0 equivalent by definition (which unifies the attribute naming scheme) Page 26: - how is the _SAGA_OBJECT_TYPE attribute supposed to be stored? as string, as integer? - 'For all classes inheriting saga::object, the serialization SHOULD contain the two attributes, too.' What two attributes? - I believe it might be useful to store th euuid of the original object as well, allowing to make persistent object relations independently of a single application instance - How can a saga::object have associated context information stored? It should be sufficient to refer to the session, which in turn refers to the contexts. - ...If no session information are serialized... --> If no session information is serialized Page 27: - strings should be always uuencode'd, otherwise we loose interoperability - How vector attributes of a job description have to be serialized - the job service id should not be serialized along with the jobid to avoid ambiuities/incompatibilities between the two, parsing the jobid is not a big deal in the end... Page 28: - are permissions serialized too? Page 29: - logical\_file --> logical_file - logical\_directory --> logical_directory Page 30: - what attributes have advert and advert_directory when serialized? Regards Hartmut --------------- Meet me at BoostCon www.boostcon.com