Issue 3956: Community and Collaboration models severely broken. (negotiation-ftf) Source: OSM (Mr. Stephen McConnell, mcconnell@osm.net) 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. End of Annotations:===== From: "Stephen McConnell" To: "Juergen Boldt" Cc: , , "Abdul Akram Ph. D." , "Sanjeev Goyal" Subject: Negotiation FTF Issues Date: Mon, 16 Oct 2000 19:17:22 +0200 Message-ID: <004101c03794$f2064ac0$0a01a8c0@osm.net> MIME-Version: 1.0 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.0810.800 Importance: Normal Content-Type: multipart/mixed; boundary="----=_NextPart_000_0042_01C037A5.B58F1AC0" X-UIDL: -HAe93@]!!J1(!!e=>!! Issue AAAA: Community and Collaboration models severely broken. --------------------------------------------------------------- Nature: Broken interface. Severity: High 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: 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.