Issues for Negotiation Facility FTF mailing list
To comment on any of these issues, send email to negotiation-ftf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.
List of issues (green=resolved, yellow=pending Board vote, red=unresolved)
Issue 3461: Page 25: Return type on lookup operation should be BaseElement
Issue 3462: Page 27, control attribute table, label row, purpose column
Issue 3463: Page 27, sec 2.2.6
Issue 3464: model_element property not shown in IDL
Issue 3465: Page 34, first paragraph, second sentence. Please provide an example of th
Issue 3466: Page 34, sec 2.4.2., first paragraph: "set_simulator
Issue 3467: Page 34, sec 2.4.2
Issue 3468: Page 36, sec 2.5.1: the terminilogy for containment does not align with UML
Issue 3469: Page 43, sec 3.1.1
Issue 3470: Page 44, table at the top of page
Issue 3471: Page 44 sec 3.1.4, 3rd sentence
Issue 3472: Page 45, last full paragraph
Issue 3473: Page 47, UML diagram
Issue 3474: Page 55, first full paragraph, last sentence
Issue 3475: Page 60, IDL for interface Member
Issue 3476: Page 71, processed_by and processes relationships
Issue 3477: Page 75, UML diagram
Issue 3478: Page 76: Not clear what is implied
Issue 3479: Page 76: Not clear what is implied
Issue 3480: Page 79, IDL for EncounterFactory
Issue 3481: Page 80, 1st paragraph, last sentence
Issue 3482: Page 81
Issue 3483: Page 82, 1st table, properites row, purpose column
Issue 3484: Page 82, IDL for Engagement
Issue 3485: Page 84, first table
Issue 3486: Page 85, sec 4.4.3, first paragraph: Shouldn't VoteModel be VoteElement?
Issue 3487: Page 86, sec 4.5.1
Issue 3488: Page 87, 4th paragraph
Issue 3489: Page 87, 5th paragraph, second sentence
Issue 3490: Page 87, 5th paragraph, third sentence
Issue 3491: Page 87, 6th paragraph, 2nd sentence
Issue 3492: Page 87, 6th paragraph, 2nd sentence
Issue 3493: Page 88, 1st full sentence
Issue 3494: Wha tis a root CollaborationElement?
Issue 3495: Page 89, 1st paragraph, 3rd sentence
Issue 3496: Page 89, 1st paragraph, 4th sentence
Issue 3497: Page 89, 3rd paragraph references CollaborationModel
Issue 3498: Page 90, 1st paragraph, 2nd sentence
Issue 3499: Page 90, 3rd pagragraph, 1st sentence
Issue 3500: Page 93, IDL for Collaboration
Issue 3501: Page 94, IDL for the active_state attribute
Issue 3502: Page 96, sec 4.5.4
Issue 3503: Page 97, table at top of page
Issue 3504: Page 100, 1st paragraph, last sentence
Issue 3505: Page 104
Issue 3506: Page 104, last paragraph, last sentence
Issue 3507: Page 105, 1st paragraph, last sentence
Issue 3508: Page 106, 1st table, first row
Issue 3509: Page 106, 1st table, first row
Issue 3510: Page 107, last paragraph, 2nd sentence
Issue 3511: Page 108, 1st table
Issue 3580: Cannot attribute an additional MemberKind to an exiting Member
Issue 3950: Multiple Consumer association to Community and Collaboration types
Issue 3951: Accessibility of external definitions
Issue 3952: Link definition is broken
Issue 3956: Community and Collaboration models severely broken.
Issue 3957: Improvement needed on Membership textual description.
Issue 3958: Duplicate inheritance in Membership interface
Issue 3959: Improvement needed on Membership textual description.
Issue 3960: Separation of Membership versus Role policy required.
Issue 3980: Separation of Collaboration from Encounter inheritance.
Issue 3461: Page 25: Return type on lookup operation should be BaseElement (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary:
Page 25: Return type on lookup operation should be BaseElement (this is
correct in the complete IDL).
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3462: Page 27, control attribute table, label row, purpose column (negotiation-ftf)
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 27, control attribute table, label row, purpose column: The label is
described as the unique identifier, yet Control inherits from BaseElement,
whose identifier attribute seems to do this already.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3463: Page 27, sec 2.2.6 (negotiation-ftf)
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 27, sec 2.2.6: I would have expected mention that AbstractResource
pulls in the CosNotifycomm interfaces and the identifiableobject interface.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3464: model_element property not shown in IDL (negotiation-ftf)
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 33: The UML diagram shows that Model has a model_element property, but
I don't see that in the IDL.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3465: Page 34, first paragraph, second sentence. Please provide an example of th (negotiation-ftf)
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 34, first paragraph, second sentence. Please provide an example of this.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: receive dissue
Issue 3466: Page 34, sec 2.4.2., first paragraph: "set_simulator (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 34, sec 2.4.2., first paragraph: "set_simulator" should be
"add_simulator".
Resolution:
Revised Text:
Actions taken:
March 15, 2000: receive dissue
Issue 3467: Page 34, sec 2.4.2 (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 34, sec 2.4.2: Is an implementation of add_simulator responsible for
calling set_model? Can you dissociate a model from a simulator?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3468: Page 36, sec 2.5.1: the terminilogy for containment does not align with UML (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 36, sec 2.5.1: the terminilogy for containment does not align with
UML, which would be a good idea to do and to explicitly say that you are
doing. Weak aggregationi in UML is "shared" aggregation, which doesn't
simply mean that there is no lifecycle dependency. Weak aggregation is not
the same as no aggregation. Weak aggregation means that an aggregee
instance can be aggregated by more than one aggregate at the same time, and
that the aggregee doesn't go away until the last owning aggregate goes
away. That's why it's called "shared" aggregation. Containment is not a
formally specified notion in UML, and composition is strong aggregation.
So the three possibilities for aggregation semantics are:
1) no aggregation
2) shared (weak) aggregation
3) composite (strong) aggregation
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3469: Page 43, sec 3.1.1 (negotiation-ftf)
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary:
Page 43, sec 3.1.1: It is odd to entitle this section Model Abstraction,
since the Model type is defined in the previous chapter.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3470: Page 44, table at the top of page (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 44, table at the top of page: Re Membership: the description says
that the rules are exposed by MembershipElement but I can't find anything
in the object model or IDL that allows me to navigate to the
MembershipElement, i.e. to navigate to an instance of MembershipElement in
order to extract these rule properties.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3471: Page 44 sec 3.1.4, 3rd sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 44 sec 3.1.4, 3rd sentence: Are these model elements something other
than instances of the type ModelElement?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: receive dissue
Issue 3472: Page 45, last full paragraph (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 45, last full paragraph: I just can't see where a MembershipElement is
associated with a Membership or vice versa.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3473: Page 47, UML diagram (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 47, UML diagram: MemberKind is a strange name for this collection of
properties.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3474: Page 55, first full paragraph, last sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 55, first full paragraph, last sentence reads: "This operation is
equivalent to the add_member operation except that it takes the name of a
MemberKind as a qualifying argument." Is this name the 'identifier'
inherited from BaseElement or the 'label' inherited from Control?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3475: Page 60, IDL for interface Member (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 60, IDL for interface Member: In the inheritance list there is a
comment after the listing of the inherited Session::User interface that
says "// by delegation". This does not make sense. This is interface
inheritance, so the User is not a separate instance.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3476: Page 71, processed_by and processes relationships (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 71, processed_by and processes relationships: There should be a note
that these relationships are defined in the Task & Session specification.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3477: Page 75, UML diagram (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 75, UML diagram: Based on this diagram I would conclude that a Model
associated with an Encounter must be an EncounterModel. Is this correct?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3478: Page 76: Not clear what is implied (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 76: Not clear what is implied by the fact that one Encounter composes
another.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3479: Page 76: Not clear what is implied (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 76: Not clear what is implied by the fact that one Encounter composes
another.
Resolution:
Revised Text:
Actions taken:
Issue 3480: Page 79, IDL for EncounterFactory (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 79, IDL for EncounterFactory: What happens to the inherited create_xx
operations? Are they deprecated for the subtype (not good if so)?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3481: Page 80, 1st paragraph, last sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 80, 1st paragraph, last sentence reads: "The determination of the type
of Encounter to create shall be based on the type of root element exposed
by the model." Is the root element obtained via the list_simulators
operation?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3482: Page 81 (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 81: The pattern seems to be that types whose name ends with Element,
such as MembershipElement and EngagementElement, encapsulate policies.
Thus, why are these named xxElement rather than xxPolicy? If find it
confusing.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3483: Page 82, 1st table, properites row, purpose column (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 82, 1st table, properites row, purpose column: What security
technology adoption processes is this referring to?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3484: Page 82, IDL for Engagement (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 82, IDL for Engagement: Is the manifest property null before engage is
called? Also, how do we know if engage succeeded, since there are no
exceptions raised? Do we know by virtue of the out param 'proof' being null?
Page 83, UML diagram: Should VoteModel be VoteElement?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3485: Page 84, first table (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 84, first table: Shouldn't the title of the table say VoteElement
rather than VoteTemplate?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: receive issue
Issue 3486: Page 85, sec 4.4.3, first paragraph: Shouldn't VoteModel be VoteElement? (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 85, sec 4.4.3, first paragraph: Shouldn't VoteModel be VoteElement?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3487: Page 86, sec 4.5.1 (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 86, sec 4.5.1: This Overview section should come at the end of section
4.5, i.e. after the basics have been defined. Otherwise it is not
comprehensible. Also, I cannot parse item (b) in the 1st paragraph.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3488: Page 87, 4th paragraph (negotiation-ftf)
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 87, 4th paragraph: The paragraph starts with "The features exposed by
the inherited interface MembershipElement...". Inherted by what? In fact,
the paragraph as a whole is not clear.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3489: Page 87, 5th paragraph, second sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 87, 5th paragraph, second sentence reads: "An instance of
Collaboration exposes the operations through which a user may join,
interact and leave the process." This should point out that these
operations are inherited from Membership.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3490: Page 87, 5th paragraph, third sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 87, 5th paragraph, third sentence reads: "Each instance of
Collaboration references an EncounterModel through which user's (sic!) can
access a root CollaborationElement." This should point out that the
reference to an EncounterModel is inherited from Simulator.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3491: Page 87, 6th paragraph, 2nd sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 87, 6th paragraph, 2nd sentence reads: "These relationships include
the subject and model." Should point out that the subject relationship is
inherited from Encounter.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3492: Page 87, 6th paragraph, 2nd sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 87, 6th paragraph, 2nd sentence reads: "These relationships include
the subject and model." Should point out that the subject relationship is
inherited from Encounter.
Resolution:
Revised Text:
Actions taken:
Issue 3493: Page 88, 1st full sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 88, 1st full sentence reads: "An EncounterModel accessible through the
simulates association..." Is this the simulator association on p. 33 or
the simulates LinkKind on p. 38?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3494: Wha tis a root CollaborationElement? (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 88 and 89: The text refers to a "root CollaborationElement". What is
a root CollaborationElement? Root of what?
Page 88, 4th full paragraph, 1st sentence reads: "On invocation of the
apply operation, the implementation of Collaboration executes the
verification of the principal as a registered Member of the
Collaboration..." How does the Collaboration implementation determine the
MemberKind of the caller of the apply operation and whether it is an
initiator or responder with respect to the active state? Via
CORBA::Current? This must be explained in detail.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3495: Page 89, 1st paragraph, 3rd sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 89, 1st paragraph, 3rd sentence reads: "Prior to completion of the
process the Collaboration evaluates any implication associations declared
under a launching template." Does this mean an EncounterModel with
implications? If so, this would be a model, not a template.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3496: Page 89, 1st paragraph, 4th sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 89, 1st paragraph, 4th sentence reads: "Implications are associations
that reference other EncounterTemplate instances..." I believe this should
be "that reference other EncounterModels" shouldn't it?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3497: Page 89, 3rd paragraph references CollaborationModel (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 89, 3rd paragraph references CollaborationModel, but there is no such
type defined in the IDL. In fact, this type is referenced many places in
the text, but never in the IDL.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3498: Page 90, 1st paragraph, 2nd sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 90, 1st paragraph, 2nd sentence reads: "Assuming the purchase
transition initialization argument referenced the requested transition..."
Referenced it by what means? Via what attributes in the IDL?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3499: Page 90, 3rd pagragraph, 1st sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 90, 3rd pagragraph, 1st sentence reads: "It is important to note that
the bilateral negotiation state transition model is simply an example of a
collaborative process model." I doubt it is your intention, but this could
be interpreted as backing away from requiring, as a conformance point,
support of the bilateral model.
Page 90 and others: The state charts are somewhat non-standard. The box
with the triangular end for a state transition is not standard UML as far
as I know.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3500: Page 93, IDL for Collaboration (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 93, IDL for Collaboration: The attribute timeout_list is actually not
a list but, rather, a single instance of the struct TimeoutSequence. The
text on page 94 refers to this as a sequence of TimeoutStructure values,
but it's not. Furthermore, the struct TimeoutSequence IDL is repeated at
the bottom of page 94 and it is different there, and has a member of type
ControlKey which is not a defined type!
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3501: Page 94, IDL for the active_state attribute (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 94, IDL for the active_state attribute: The type of this attribute is
not StateSequence. It should be, I believe, Document::KeywordSequence.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3502: Page 96, sec 4.5.4 (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 96, sec 4.5.4: I don't see how the CollaborationElement and
Collaboration are associated. What's the traversal path?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3503: Page 97, table at top of page (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 97, table at top of page, title reads: "The following table summarizes
the types contained by the CollaborationModel Type. Does this include the
state seq inherited from state?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3504: Page 100, 1st paragraph, last sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 100, 1st paragraph, last sentence reads: "In such a case, the invoking
user must be a Member holding the MemberKind referenced by the constraint."
I presume its MemberKind could be one of the subsidiary MemberKinds of the
MemberKind referenced by the constraint.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3505: Page 104 (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 104: A local Transition with reset = false and active = false would
seem to be a corner case that should be ruled out.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3506: Page 104, last paragraph, last sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 104, last paragraph, last sentence reads: "Referral is created by an
ElementFactory using the element name "referral". The specification of the
element name for factories is uneven in this spec. For some types it is
specified and for some it is not. It should be done uniformly, and a
summary table of these values for the various types would be helpful.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3507: Page 105, 1st paragraph, last sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 105, 1st paragraph, last sentence reads: "The determination of the
action to invoke is resolved through evaluation of a ResultState raised by
an Encounter defined by the model attribute." Is the Encounter retrieved
by Model's list_simulators operation? If so, what if there is more than
one simulator?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3508: Page 106, 1st table, first row (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 106, 1st table, first row: I would think that the type needs to be
more specific, i.e. it should be EncounterModel rather than Model, because
EncounterFactory::create_with_model requires an EncounterModel as input.
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3509: Page 106, 1st table, first row (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 106, 1st table, first row: I would think that the type needs to be
more specific, i.e. it should be EncounterModel rather than Model, because
EncounterFactory::create_with_model requires an EncounterModel as input.
Resolution:
Revised Text:
Actions taken:
Issue 3510: Page 107, last paragraph, 2nd sentence (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 107, last paragraph, 2nd sentence reads: "An offer signifies a state
in which the subject of collaboration may be agreed to but not be
changed..." Then why is active TRUE?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3511: Page 108, 1st table (negotiation-ftf)
Click here for this issue's archive.
Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com)
Nature: Uncategorized Issue
Severity:
Summary: Page 108, 1st table: An Initialization is not a trigger so it doesn't have
a priority, so why is there a priority column?
Resolution:
Revised Text:
Actions taken:
March 15, 2000: received issue
Issue 3580: Cannot attribute an additional MemberKind to an exiting Member (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Uncategorized Issue
Severity:
Summary: Problem: Under the Community::Membership interface there are operations to add members to a membership under a specific business role. There are also operations supporting the removal of a business role of an existing member. The approach to the addition of a supplementary business roles is through the operation add_kind_of_member, however, this is ambiguous when the exclusivity policy is set to false (as the client may be adding a Member instance as a new member or adding a MemberKind to an existing Member). Propose elimination of the inconsistency by restricting the semantics of add_kind_of_member to new Member instance creation, and supplementing the Membership interface with an additional operation add_kind for attribution of MemberKind roles to an existing Member instance.
Resolution:
Revised Text: Membership has been redefined as an abstract interface. Association of a membership model
and the membership object has been clarified through the addition of an explicit abstract
Simulator interface.
The add_member operation is renamed to join, remove_member operation renamed to leave,
addition of add_roles and remove_roles for role modification. Specification of join restricted to
association of a user and does not support role modification. Role modification enabled under
the add_roles and remove_roles operations. Additional operations are added supporting access
to the role to user associations and member listing (influenced by 3950 and 3952).
Member join
in Session::User user,
in Labels roles
) raises (
AttemptedCeilingViolation,
AttemptedExclusivityViolation,
RecruitmentConflict,
RoleAssociationConflict,
MembershipRejected,
UnknownRole
);
void leave(
in CommunityFramework::Member member
) raises (
RecruitmentConflict,
UnknownMember
);
void add_roles(
in CommunityFramework::Member member,
in Labels roles
) raises (UnknownMember,
RoleAssociationConflict,
UnknownRole
);
void remove_roles(
in CommunityFramework::Member member,
in Labels roles
) raises (
UnknownRole,
UnknownMember,
CannotRemoveRole
);
Actions taken:
April 24, 2000: received issue
February 27, 2001: closed issue
Discussion: Additional operations provided to support association and retraction of business roles.
Existing operations renamed to improve clarity. Specification of Membership operations
have been substantially updated – refer section 3 and 4 of CommunityFramework,
EC/2000-11-14.
Issue 3950: Multiple Consumer association to Community and Collaboration types (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature:
Severity: Significant
Summary: The revised Task and Session specification of BaseBusinessObject
includes inheritance of the CosNotifyComm StructuredPushConsumer
and StructuredPushSupplier interfaces. The semantics of
StructuredPushSupplier implies association to a single
StructuredProxyPushConsumer, however, the BaseBusinessObject
interface is intended to support multiple concurrent consumers from
potentially different business domains without mandating nor
excluding the use of Notification channels as an implementation
mechanisms. To enable the documented behaviour an explicit factory
operation is required through which a StructuredPushSupplier
reference can be exposed for a given consumer. This behaviour is
required to support association of multiple consumers under the
Community and Collaboration interfaces. Current inherited behaviour
restricts association of event channels to local implementations
which inconsistent with the stated semantics.
Resolution: see below
Revised Text: Definition of an identifiable event consumer, exposed as an argument to the add_consumer
operation on Session::BaseBusinessObject.
interface IdentifiableDomainConsumer :
Session::IdentifiableDomainObject,
CosNotifyComm::StructuredPushConsumer
{
};
Convenience declaration of a TimeBase::UtcT value.
valuetype Timestamp TimeBase::UtcT ;
Revision of BaseBusinessObject that excludes event consumer and production interface
inheritance in favor of an explicit factory operation named add_consumer which enables animplementation to return a StructuredPushSupplier associated to an identifiable
StructuredPushConsumer passed in as an operation argument.
interface BaseBusinessObject :
Session::IdentifiableDomainObject,
CosLifeCycle::LifeCycleObject
{
CosNotifyComm::StructuredPushSupplier add_consumer(
in IdentifiableDomainConsumer consumer);
Timestamp creation( );
Timestamp modification( );
Timestamp access( );
};
Actions taken:
October 16, 2000: received issue
February 27, 2001: closed issue
Discussion: Resolution:
Revise the definition of BaseBusienssObject such that an
identifiable structured push consumer is passed as an argument,
returning a structured push supplier as opposed to the current
inheritance based exposure a structured event management.
The following IDL is recommended as a replacement to the definition of
BaseBusienssObject:
interface IdentifiableDomainConsumer :
Session::IdentifiableDomainObject,
CosNotifyComm::StructuredPushConsumer
{
};
valuetype Timestamp TimeBase::UtcT ;
interface BaseBusinessObject :
Session::IdentifiableDomainObject,
CosLifeCycle::LifeCycleObject
{
CosNotifyComm::StructuredPushSupplier add_consumer(
in IdentifiableDomainConsumer consumer
);
Timestamp creation( );
Timestamp modification( );
Timestamp access( );
};
Revised Text:
Refer to http://www.osm.net/upload/omg-2000-10-15.pdf, section
1.2 "BaseBusienssObject Revision".
CommunityFramework specification has been updated to include the required
modification of the Task and Session specification of the definition of BaseBusinessObject to
the following IDL:
Issue 3951: Accessibility of external definitions (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Clarification
Severity: Minor
Summary: There are several occurrences within the Negotiation and
Task and Session specification of exception, enumeration and
struct declarations that are defined with the scope of object
interfaces. This approach complicates access to these type
declarations from the Negotiation Community and Collaboration
modules. leading to potential type duplication.
Resolution: see below
Revised Text: All exceptions, enumeration and typedef specifications declared within the scope of an
interface within the Session, CommunityFramework and CollaborationFramework
modules have been moved to module scope.
Actions taken:
October 16, 2000: received issue
February 27, 2001: closed issue
Discussion: Resolution:
Resolution of the problem can be achieved by moving
the respective declarations from interface to module level in
the Session module and Negotiation modules for Community and
Collaboration.
Revised Text:
Refer to http://www.osm.net/upload/omg-2000-10-15.pdf, section
1.4 "Declaration in Module versus Interface scope".
Issue 3952: Link definition is broken (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Revision
Severity: Critical
Summary: The definition of a Link (a relationship declaration) under
Task and Session formal/00-05-03 is in the form of a struct
containing an object reference and relationship type identifier.
These identifiers are declared as constants within the Session
module. This change to Task and Session between bom/98-07-05
and the current formal/00-05-03 specification effectively breaks
the Negotiation model of relationship extension. Restoration of
module independent extension of Links is possible if the current
Link declaration is replaced with an extendable valuetype
definition
Resolution: see below
Revised Text: The Link struct shall be replaced with the following abstract valuetype.
abstract valuetype Link {
AbstractResource resource( );
};
The following convenience operation has been added to enable access to a tag value
indicating the role of a particular association instance in a usage relationship.
abstract interface Tagged {
CORBA::StringValue tag( );
};
Relationships families such as usage, ownership, etc. documented under the Task and Session
specification and defined through constant integer declarations shall be replaced by the
following abstract valuetype definitions.
abstract valuetype Containment : Link{ };
abstract valuetype Privilege : Link{ };
abstract valuetype Access : Privilege { };
abstract valuetype Ownership : Privilege { };
abstract valuetype Usage : Link supports Tagged { };
abstract valuetype Consumption : Usage{ };
abstract valuetype Production : Usage{ };
abstract valuetype Execution : Link{ };
The following valuetype definitions replace the constant integer values used to define a
particular association type.
valuetype Consumes : Consumption {
public AbstractResource resource;
public CORBA::StringValue tag;
};
valuetype ConsumedBy : Consumption {
public Task resource;
public CORBA::StringValue tag;
};
valuetype Produces : Production {
public AbstractResource resource;
public CORBA::StringValue tag;
};
valuetype ProducedBy : Production {
public Task resource;
public CORBA::StringValue tag;
};
valuetype Collects : Containment {
public AbstractResource resource;
};
valuetype CollectedBy : Containment {
public Workspace resource;
};
valuetype ComposedOf : Collects { };
valuetype IsPartOf : CollectedBy { };
valuetype Accesses : Access {
public Workspace resource;
};valuetype AccessedBy : Access {
public User resource;
};
valuetype Administers : Accesses { };
valuetype AdministeredBy : AccessedBy { };
valuetype Owns : Ownership {
public Task resource;
};
valuetype OwnedBy : Ownership {
public User resource;
};
Link related operations defined under Session::AbstractResource have been updated to reflect
the revision of the Link definition from struct to valuetype, enabling improvements in
implementation flexibility when dealing with link navigation queries.
// from Session::AbstractResource
short count(
in CORBA::TypeCode type
);
LinkIterator expand (
in CORBA::TypeCode type,
in long max_number,
out Links seq
);
Implementation Impact
From an implementation point of view the above changes represent a moderate impact.
Exiting systems will be required to rebuild implementations of the bind, replace, release and
expand operations on AbstractResource. Previous assessment of a link type using constant
values must be replaced by a test for type equivalence as distinct from explicit knowledge of
constant LinkKind integer values.
Interface Impact
The proposed changes break existing interfaces through the replacement of the Link struct with
an abstract valuetype and a family of concrete valuetype. This revision is fully consistent with
the abstract and concrete link model implied under the current specification and consistent
with intent expressed section 2.5.3 Technical Note of formal/00-05-03.
Actions taken:
October 16, 2000: received issue
February 27, 2001: closed issue
Discussion: Resolution:
Retract constant LinkKind declarations and replace Link struct
with a valuetype and set of derived valuetypes. Proposed IDL
replacement detailed below:
valuetype BooleanValue boolean;
valuetype Link
{
public AbstractResource resource;
public BooleanValue primary;
};
valuetype Usage : truncatable Link
{
public CORBA::StringValue tag;
};
valuetype Consumption : truncatable Usage { };
valuetype Production : truncatable Usage { };
valuetype Collection : truncatable Link { };
valuetype Containment : truncatable Collection { };
valuetype Rights : truncatable Link { };
valuetype Access : truncatable Rights { };
valuetype Administration : truncatable Access { };
valuetype Execution : truncatable Rights { };
valuetype Ownership : truncatable Rights { };
Revised Text:
Refer to http://www.osm.net/upload/omg-2000-10-15.pdf, section
1.3 "Link Revision".Detailed editorial and IDL changes are included under section 9 “Changes to the adopted
Task and Session Specification” of the finalized CommunityFramework specification under
document number EC/2000-11-14.
Issue 3956: Community and Collaboration models severely broken. (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Revision
Severity: Critical
Summary: DocumentFramework, DomFramework and CommunityFramework
specifications are broken as a result of the changes
introduced to the Task and Session specification
formal/2000-05-02 (refer detailed issues 1, 2 and 3 -
posted 15 OCT 2000) and proposed revisions under
EC/2000-10-01.
* To a large extend the interfaces defined under the
SessionFramework are now redundant.
* Definition of links between resource types concerning
community services must be redefined based on an
extendable Link architecture (raised under issue 1).
* Issues 3461-3474 reflect a level of complexity of the
original specification in terms of the management of
control types relative to containing resource type.
During assessment of issues, it has been identified
that the specifications can be substantially simplified
and clarified through the use of valuetypes when defining
control structures. This approach will enable elimination
of the module thereby simplifying significantly the overall
scope of the specifications and should be addressed prior
to finalisation.
Resolution: see below
Revised Text: The extent of editorial changes introduced through the process of synchronization and
valuetype rationalization has limited the practicality of included change bars within the
revised specification. The FTF recommends replacement of chapters in entirety based on
the EC/2000-11-14 consolidated document, thereby avoiding possible errors that could
arise under a change by change editorial revision. Issues number 3461-3474 have not
been included in this report as they were posted against a draft non-adopted document,
however, these issue have been reviewed in detail and the conclusions reached in the
resolution of the 10 recognized issues reflect recognition of the comments raised. In order to
provide a complete audit trail of the changes introduced under this FTF, the following
description of changes is provided.
Synchronization
Resolution of the synchronization of the specifications has involved elimination of the
SessionFramework module and all dependent references. As a general pattern, interfaces
defined at the level of the CommunityFramework and CollaborationFramework modules that
inherited from SessionFramework::ActiveXXX have been replaced with Session:XXX. For
example, Community was defined as inheriting from ActiveWorkspace. The revised
specification of Community inherits directly from Session::Workspace.
Specification of associations prior to the Task and Session RTF were expressed as interfaces. The
community and collaboration frameworks used these definitions as a base from which derived
relationships could be declared in a manner consistent with the Task and Session association
navigation model. The revision of resource to resource associations to structs and constant
association type identifiers resulted in a requirement for the specification of a new association
model, or modification of the Task and Session module Link definition to accommodate out-of-module
extension. The later approach has been selected. Associations dealing with the User to
Membership relationship have been redefined as valuetype as noted under the revisions
incorporated under issue 3959 based on the link revisions sited under issue 3952.
Other changes supporting rationalization with the new Task and Session model include the
following:
„
SessionFramework::LegalEntity moved to CommunityFrameworkAll interface derived from the SessionFramework::Element have been replaced with
corresponding valuetype definitions. During this process some degree of revision to the object
has been required in order to accommodate the imposed single inheritance restrictions and
leverage valuetype notions of inheritance support and abstract declarations.
The following points summarizes the equivalence between the adopted specification and the
FTF recommendations concerning the CommunityFramework module:
SessionFramework::Element replaced by CommunityFramework::Control valuetype.
valuetype Control
{
public CommunityFramework::Label label;
public CommunityFramework::Note note;
};
SessionFramework::Template replaced by CommunityFramework::Criteria valuetype.
valuetype Criteria :
Control
{
public Arguments values;
};
MembershipKind:1.0 replaced by MembershipModel, MembershipPolicy, Role and RolePolicy
valuetypes (see also issue 3960)
valuetype MembershipPolicy
{
public PrivacyPolicyValue privacy;
public boolean exclusive;
};
valuetype MembershipModel :
Control supports Model
{
public MembershipPolicy policy;
public CommunityFramework::Role role;
};
valuetype RolePolicy
{
public long quorum;
public long ceiling;
public QuorumPolicy policy;
public QuorumAssessmentPolicy assessment;
};
valuetype Role :
Control
{
public RolePolicy policy;
public CommunityFramework::Roles roles;
public boolean is_abstract;
};Sequence typedef declarations have been replaced by boxed valuetypes.
valuetype Roles sequence <Role>;
valuetype Models sequence <Model>;
valuetype CriteriaSequence sequence <Criteria>;
valuetype Problems sequence <Problem>;
valuetype Note CORBA::StringValue;
valuetype Label CORBA::StringValue;
valuetype Labels sequence <Label>;
The following points summarizes the equivalence between the adopted specification and the
FTF recommendations concerning the CollaborationFramework module:
CollaborationTemplate interface replaced by the ProcessorModel and CollaborationModel
valuetypes
valuetype ProcessorModel :
CommunityFramework::Control
supports CommunityFramework::Model
{
public UsageDescriptors usage;
};
valuetype CollaborationModel :
ProcessorModel
{
public CommunityFramework::Role role;
public CollaborationFramework::State state;
};
EngagementTemplate interface replaced by EngagementModel valuetype
valuetype EngagementModel :
ProcessorModel
{
public CommunityFramework::Role role;
public Duration lifetime;
public boolean unilateral;
};
VoteTemplate interface replaced by the VoteModel valuetype
valuetype VoteModel :
ProcessorModel
{
public VoteCeiling ceiling;
public VotePolicy policy;
public boolean single;
public Duration lifetime;
};
EngagementTemplate interface replaced by EngagementModel valuetypes.
valuetype EngagementModel :ProcessorModel
{
public CommunityFramework::Role role;
public Duration lifetime;
public boolean unilateral;
};
State interface replaced by State valuetype.
valuetype State :
CommunityFramework::Control
{
public CollaborationFramework::Triggers triggers;
public CollaborationFramework::States states;
};
Trigger interface replaced by the Trigger, Guard, Launch, Clock, Directive, and Action
valuetypes. The Directive valuetypes have been introduced as part of the resolution of the
separation of Encounter semantics from processor semantics (refer issue 3980) supporting
declaration of the modification of usage associations.
abstract interface Directive {};
valuetype Duplicate
supports Directive
{
public Label source;
public Label target;
public boolean invert;
};
valuetype Move
supports Directive
{
public Label source;
public Label target;
public boolean invert;
};
valuetype Remove
supports Directive
{
public Label source;
};
valuetype Constructor
supports Directive
{
public Label target;
public CommunityFramework::Criteria criteria;
};
Clock and Launch separate out the two distinct modes of operation declared by the Trigger 1.0
interface. Each type is derived from the abstract Guard valuetype and is contained by a
Trigger valuetype.abstract valuetype Guard {};
valuetype Clock :
Guard
{
public Duration timeout;
};
valuetype Launch :
Guard
{
public TriggerMode mode;
public CommunityFramework::Role role;
};
abstract valuetype Action { };
valuetype Trigger :
CommunityFramework::Control
{
public long priority;
public CollaborationFramework::Guard guard;
public CollaborationFramework::Directives directives; // precondition
public CollaborationFramework::Action action;
};
Transition interface replaced by abstract Transition valuetype, and supporting valuetypes
Transition, SimpleTransition, Initialization, LocalTransition and TerminalTransition
abstract valuetype Transitional { };
valuetype Transition :
Action
{
public CollaborationFramework::Transitional transitional;
public UsageDescriptors usage;
};
valuetype Initialization :
Transitional
{
};
valuetype SimpleTransition :
Transitional
{
public State target;
};
valuetype LocalTransition :
Transitional
{
public boolean reset;
};
valuetype TerminalTransition :
Transitional
{public Completion result;
};
CompoundTransition interface has been replaced by the valuetype CompoundTransition and
the supporting valuetypes Referral, Map, Directive, Constructor, Move, Duplicate and Remove.
valuetype Referral :
Action
{
public CollaborationFramework::Action action;
public CollaborationFramework::Directives directives;
};
valuetype Map
{
public ResultClass class;
public ResultID code;
public CollaborationFramework::Directives directives;
public CollaborationFramework::Action action;
};
valuetype Mapping sequence <Map> ;
valuetype CompoundTransition :
Action
{
public CommunityFramework::Criteria criteria;
public CollaborationFramework::Mapping mapping;
};
Sequence typedef declarations have been replaced by boxed valuetypes.
valuetype Roles sequence <Role>;
valuetype Models sequence <Model>;
valuetype CriteriaSequence sequence <Criteria>;
valuetype Problems sequence <Problem>;
valuetype Note CORBA::StringValue;
valuetype Label CORBA::StringValue;
valuetype Labels sequence <Label>;
Actions taken:
October 16, 2000: received issue
February 27, 2001: closed issue
Discussion: Resolution:
A recommended revision incorporating rationalisation of all
CommunityFramerwork interfaces, incorporating rationalisation
of underlying Task and Session specification is proposed under
document number EC/2000-10-02 (supporting UML under
EC/2000-10-03.
Issue 3957: Improvement needed on Membership textual description. (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Clarification
Severity: Minor
Summary: The description of Membership, Member and MembershipKind
presented in 99-07-03 is overly complex and should be
re-written (simplification and clarification) taking into
account underlying revisions to the Task and Session
specification formal/2000-05-02.
Resolution:
Revised Text: Membership interface and MembershipModel valuetype specifications have bee rewritten
taking into account revisions to operations names and simplification of operation
semantics. Revised content is presented under section 3 and 4 of the
CommunityFramework module specification under EC/2000-11-14.
Actions taken:
October 16, 2000: received issue
February 27, 2001: closed issue
Discussion: Resolution:
A recommended revision to the textual description of Membership
and related interfaces is proposed under EC/2000-10-02, Part 2.
Issue 3958: Duplicate inheritance in Membership interface (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Revision
Severity: Significant
Summary: Membership is currently defined as a type of
AbstractResource. In addition two derived types (Community
and Encounter) also inherit from AbstractResource.
Elimination of this conflict can be achieved by declaring
Membership as an abstract interface.
Resolution:
Revised Text: Membership interface has been redefined as an abstract interface.
abstract interface Membership :
Actions taken:
October 16, 2000: received issue
February 27, 2001: closed issue
Discussion: Resolution:
A recommended revision to the Membership interface is
proposed under EC/2000-10-02, Part 2. The revision involves
retraction of inheritance of AbstractResource and declaration of
the interface as abstract.
Issue 3959: Improvement needed on Membership textual description. (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Revision
Severity: Significant
Summary: The Member type represents an association of a User to a
Membership, as such it should be re-defined as a type
of Link. The current specification is currently broken
and must be recast against an extendable Link model.
Resoliution:
Resolution of this issue is proposed under EC/2000-10-02,
Part 2, in conjunction with resolution of issues defined under
EC/2000-10-01.
Resolution: see below
Revised Text: Issue Resolution
Redefinition of Member as a type of Link based on a revised Link valuetype. An abstract
Link named Privilege is defined as the common relationship between a User and a
Membership. The Member link defines the association to a Membership that is held by an
instance of User. The Recognizes link held by a instance supporting Membership defines
an association of a User to that Membership. This revision brings the User to Membership
association in line with the general association model defined under the Task and Session
framework.The definition of Member has been replaced by the following IDL:
valuetype Member : Session::Privilege {
public Membership resource;
};
valuetype Recognizes : Session::Privilege {
public Session::User resource;
public Labels roles;
};
Operations supporting access to role information previously on Member are replaced by
exposure of business roles under the state field named roles on the link held by an instance of
Membership. Additional access operations dealing with disclosure of member roles and
membership aggregation has been relocated under the Membership interface.
// from Membership
boolean is_member(
in Session::User user
) raises (
PrivacyConflict
);
boolean has_role(
in Session::User user,
in Label role
) raises (
PrivacyConflict
);
Labels get_member_roles(
in Session::User user
) raises (
PrivacyConflict
);
Session::UserIterator list_members(
in long max_number,
out Session::Users list
) raises (
PrivacyConflict
);
Session::UserIterator list_members_using(
in Label role,
in long max_number,
out Session::Users list
) raises (
PrivacyConflict
);
};
Actions taken:
October 16, 2000: received issue
February 27, 2001: closed issue
Issue 3960: Separation of Membership versus Role policy required. (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Uncategorized Issue
Severity: Significant
Summary: MembershipKind combines both the policy of a Membership and
the policy of different business roles within a membership.
These notions should be separated into independent control
objects.
Resolution:
Resolution of this issue is proposed under EC/2000-10-02,
Part 2, involving the separation of membership and role
policy into distinct types.
Resolution: see below
Revised Text: MembershipKind has been replaced by the MembershipModel and Role valuetypes.
Policy applicable to a MembershipModel as distinct to the policy associated to a Role has
been separated into the respective valuetypes MembershipPolicy and RolePolicy.
The Control valuetype replaces the SessionFramework::Element interface and serves as a base
type for Role.
valuetype Control
{
public CommunityFramework::Label label;
public CommunityFramework::Note note;
};
Role (together with MembershipModel) replace the MembershipKind interface. Role supports
the seperation of a business role parameters form Membership parameters and is contained
within a MembershipCriteria to describe the structure and policy of logical busienss roles of
associated users.
valuetype Role :
Control
{
public RolePolicy policy;
public CommunityFramework::Roles roles;
public boolean is_abstract;
};
valuetype RolePolicy
{
public long quorum;
public long ceiling;
public QuorumPolicy policy;
public QuorumAssessmentPolicy assessment;
};
MembershipModel is a valuetype used within a Criteria instance to define the construction
constraints and policies of a new Membership instance. MembershipModel together with Role
replace the MembershipKind interface specification.
valuetype MembershipModel :
Control supports Model
{
public MembershipPolicy policy;
public CommunityFramework::Role role;
};valuetype MembershipPolicy
{
public PrivacyPolicyValue privacy;
public boolean exclusive;
};
Actions taken:
October 16, 2000: received issue
February 27, 2001: closed issue
Issue 3980: Separation of Collaboration from Encounter inheritance. (negotiation-ftf)
Click here for this issue's archive.
Source: Fujitsu (Mr. Stephen McConnell, stephen.mcconnell(at)au.fujitsu.com)
Nature: Uncategorized Issue
Severity:
Summary: Negotiation FTF, CollaborationFramework module.
The definition of Encounter combines the notion of a
Membership and rules relating to member association
with rules relating to process execution (e.g. derived
Collaboration interface). In the case of Collaboration
the current inheritance model eliminates the possibility
for independent declaration of process focuses role
models as distinct from the roles attributed to different
members of a membership. While the object model
expressing roles from the two different perspectives
are equivalent at an interface level, the instance
values and lifecycles are independent. It is recommended
that the notion of Encounter be restricted to the
management of a set of members, sharing a common view
on a collaborative process execution. Moving the
collaboration process semantics out of the Encounter
inheritance hierarchy can be achieved by defining a
relationship between Encounter and the active process
that an Encounter is co-ordinating. Once the notion of
process is separated from the notion of membership, the
respective control models can coexist. Secondly, given
formal separation of Membership and process, the existing
usage relationships derived from the inherited
Task interface by Encounter can be used to manage the
subject of collaborative interaction - as such, the
subject relationship can be removed from Engagement,
Voting and Collaboration.
Resolution:
- introduced explicit definition of a processor as a
base type for collaboration, associated to a Task by
a declared relationship
- introduced explicit definition of a processor as a base
type for Collaboration (as per Task Session notion of
Task and processor)
- retract the association of a subject of a collaboration
in favour of the existing usage relationships between
a processor and a Task.
Resolution: see below
Revised Text: Issue 3980 raises the potential for substantial interface simplification and improvements in
clarity of the overall specification of collaborative interaction. Resolution of changes to
incorporate separation have to large extent eliminated the semantic overloading of the
Collaboration apply operation and have resulted in improvements in the reuse of Task
and Session notions of resource usage. Impact on the CollaborationFramework
specifications is summarized below.
Revisions to the Encounter Interface
Encounter has been modified to remove the direct declaration of the defining model (now
accessible through the abstract Simulator interface inherited through Membership), and
retraction of the subject association – supported by the addition of valuetypes within a
ProcessorModel that declare usage association preconditions on its coordinating Task. The
original definition of the model of an Encounter is now redundant as an Encounter (separated
from processing semantics) is fully defined based on a MembershipModel valuetype exposed
under the EncounterCriteria valuetype.
interface Encounter :
Session::Task,
CommunityFramework::Membership
{
};valuetype EncounterCriteria :
CommunityFramework::Criteria
{
public CommunityFramework::MembershipModel model;
};
Specification of Processor and supporting valuetypes
Separation of processing semantics from Encounter enables separation of control policy
concerning a particular community of members from the execution policy of a particular
collaboration. This separation introduces a significant simplification of at the level of
application level processes such as Collaboration.
A ProcessorModel declares the usage association preconditions that a particular processor
imposes on the associated Encounter. ProcessorModel serves as a base valuetype to
CollaborationModel, EngagementModel and VoteModel, replacing the equivalent Template
interface definitions.
abstract valuetype UsageDescriptor { };
valuetype InputDescriptor :
UsageDescriptor
{
public string tag;
public boolean required;
public TypeCode type;
};
valuetype OutputDescriptor :
UsageDescriptor
{
public string tag;
public TypeCode type;
};
valuetype ProcessorModel :
CommunityFramework::Control
supports CommunityFramework::Model
{
public UsageDescriptors usage;
};
The Processor interface has been defined based on the semantics implied by the Task and
Session specification. It serves as a base type for the Collaboration, Engagement and Vote
processor definitions used in conjunction with collaborative processes such as negotiation and
multilateral engagement. Two abstract interfaces Master and Slave have been included to
support the association of one process to another as a controlling processor relative to subsidiary
processors. While the adopted specification describes this behaviour, the interfaces do not
explicitly separate process to sub-process relationships. Processor exposes an operation named
coordinator that returns the controlling Task (e.g. an instance of Encounter). Other operations
are derived directly from the implied semantics detailed in the Task and Session specification.
abstract interface Master {
SlaveIterator slaves (
in long max_number,
out Slaves slaves
);
};abstract interface Slave {
readonly attribute CollaborationFramework::Master master;
};
interface Processor :
Session::AbstractResource,
CommunityFramework::Simulator,
Master, Slave
{
readonly attribute StateDescriptor state;
Session::Task coordinator(
) raises (
Session::ResourceUnavailable
);
CommunityFramework::Problems verify( );
void start (
) raises (
Session::CannotStart,
Session::AlreadyRunning
);
void suspend (
) raises (
Session::CannotSuspend,
Session::CurrentlySuspended
);
void stop (
) raises (
Session::CannotStop,
Session::NotRunning
);
};
Exposure of Processor state has been declared using valuetypes that supplements the state
defined in Task and Session with an exploit declaration of Completion status. The Completion
valuetypes simplify 1.0 control structures that qualified the result of collaboration model actions.
valuetype Completion
{
public ResultClass result;
public ResultID code;
};
valuetype StateDescriptor
{
public ProcessorState state;
public CollaborationFramework::Completion completion;
public CommunityFramework::Problems problems;
};Modifications to the definition of Engagement, Vote and Collaboration
The interfaces Engagement, Vote and Collaboration have been revised such that the principal
base type is Processor instead of Encounter. This revision enables the possibility for a single
Encounter to switch from one process to another without requiring reconstruction of a new
Membership structure. In each case, the operations specific to the type have been separated
out into an abstract interface that is inherited by a concrete interface. Valuetypes defining
processor models and criteria are defined as replacements for the corresponding Template
interfaces from version 1.0. As a result of these changes the declaration of the 1.0 Manifest type
is redundant and has been withdrawn. The following two interface replace the version 1.0
Engagement interface definition.
abstract interface Engagement
{
Proof engage(
in CollaborationFramework::Evidence evidence
) raises (
EngagementProblem
);
};
interface EngagementProcessor :
Engagement,
Processor
{
};
The following valuetype replaces the version 1.0 EngagementTemplate interface.
valuetype EngagementModel :
ProcessorModel
{
public CommunityFramework::Role role;
public Duration lifetime;
public boolean unilateral;
};
The following two interface replace the 1.0 definition of the Vote interface.
abstract interface Vote
{
readonly attribute VoteCount vcount;
VoteReceipt vote(
in VoteDescriptor value
);
};
interface VoteProcessor :
Vote,
Processor
{
};
The following valuetype declaration replaces the 1.0 definition of VoteTemplate interface.valuetype VoteModel :
ProcessorModel
{
public VoteCeiling ceiling;
public VotePolicy policy;
public boolean single;
public Duration lifetime;
};
The definition of Collaboration is replaced by the following two interfaces. An important
simplification of the semantic of the apply operation (detailed under EC/2000-11-14) has been
achieved as a result of rationalization of the CollaborationModel exposure of usage constraints
and usage modification directives.
abstract interface Collaboration
{
readonly attribute Label active_state;
readonly attribute TimeoutSequence timeout_list;
void apply(
in Label identifier
) raises (
InvalidTrigger,
ApplyFailure
);
void apply_arguments(
in Label identifier,
in ApplyArguments args
) raises (
InvalidTrigger,
ApplyFailure
);
};
interface CollaborationProcessor :
Collaboration,
Processor
{
};
The following valuetype replaces the CollaborationTemplate interface.
valuetype CollaborationModel :
ProcessorModel
{
public CommunityFramework::Role role;
public CollaborationFramework::State state;
};
Specifications of valuetypes and revised interfaces concerning the above revisions shall be
taken from EC/2000-11-14. UML for all interfaces and valuetypes is presented at the end of
each module specification in the consolidated specifications (EC/2000-11-14).
„
CollaborationFramework UML, pages 79-82
„
CommunityFramework UML, page 115.
Actions taken:
October 23, 2000: received issue
February 27, 2001: closed issue