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: [Fwd: Re: Negotiation BPSS and some comments]


Everyone, comments raised by Hima Mukkamala and initial comments from 
Dale Moberg. See below. We will discuss in working through our pre-CD 
review. Thanks.

>Comments inline from Dale Moberg to Hima Mukkamala below.....                                                                                      
>-----Original Message-----
>From: Himagiri.Mukkamala@sybase.com
>[mailto:Himagiri.Mukkamala@sybase.com] 
>Sent: Wednesday, March 09, 2005 8:03 PM
>To: Monica.Martin@Sun.COM; Dale Moberg
>Subject: Negotiation BPSS and some comments
>
>Attaching the negotiation BPSS compliant with schema sent
>out. I think the data on schema is
>oasis-ebxmlbp-2.0-schema-tc-review-draft-022205.xsd
>
>Some comments on the specification.
>
>a) This hasn't simplified the negotiation business process to any
>extent.
>The process looks clearer though with new FromLink, ToLink etc
>
>Dale> I will try to see whether a refactor is possible to improve.
>
>b) The functionality for role reversal using "Performs" isn't really
>serving
>the purpose unless I'm doing something wrong. Only place
>where it serves value is when I can use performs to transition
>from "original responder role" to "counter offer initiator role".
>It hasn't solved the problem of role reversal within the inner
>collaboration
>I have had to stick with explicit separation into two different
>BTAs
>
>Dale> I will look into whether a refactoring exists. I will probably see
>about wrapping a BusinessCollaboration within a CollaborationActivity
>and then rebind Role values for entry into the BusinessCollaboration.
>
>
>c) There are no name,nameIDs attributes on Transition but they
>exist on success and Failure. Any particular reason why?
>
>Dale> Start, Success and Failure are the only pseudo states left that
>would need to be referenced (possibly) in a ToLink. We might remove
>those references in v 3.0 if we can see that they are clearly not
>needed.
>
>
>d) No documentation on the Transition element
>
>Dale> Well we need to fix that.
>
>e) The whole notion of currentRoleRef, performsRoleRef, etc.
>is not clear.
>
>JJ also found this unclear and I am afraid the doc is not as vivid as it
>needs be.
>
>For simplicity, let us just consider two places that Performs elements
>can occur: in a BTA and in a CA.
>
>Because we want to transition to a version where BusinessCollaboration
>replaces BinaryCollaboration and MultipartyCollaboration, we want to
>have a uniform way, within a BTA, of saying which Role R1 does the
>RequestingBusinessActivity ReqBA and which Role R2 does the
>RespondingBusinessActivity ResBA. So two Peforms elements are added to a
>BTA. Attributes that formerly indicated ToRole FromRole initiating Role
>are dropped. All is done within Performs elements.
>
>I changed the schema annotation (Monica please comment if desired) to
>explain the attributes
>
></xsd:sequence>
>        <xsd:attribute name="currentRoleRef" type="xsd:IDREF"
>use="required">
>            <xsd:annotation>
>                <xsd:documentation>The currentRoleRef attribute defines
>the nameID reference of the
>                    specific role currently used in an activity. If
>roles change, this name ID
>                    reference for the currently used role is the
>referring role that is linked to
>                    the referred-to role in the performsRoleRef.
></xsd:documentation>
>            </xsd:annotation>
>        </xsd:attribute>
>        <xsd:attribute name="performsRoleRef" type="xsd:IDREF"
>use="optional">
>            <xsd:annotation>
>                <xsd:documentation>The performsRoleRef attribute defines
>nameID reference of the
>                    referred-to role for the specific in an activity.
>This referred-to role is bound
>                    to the referring role (currentRoleRef).
></xsd:documentation>
>            </xsd:annotation>
>        </xsd:attribute>
>        <xsd:attribute name="initiatingRoleRef" type="xsd:IDREF"
>use="optional">
>            <xsd:annotation>
>                <xsd:documentation>The initiatingRoleRef attribute
>defines nameID reference to the
>                   RequestingBusinessActivity that performs the
>RequestingBusinessActivity in a  BT. Note that this reference 
>                    is not to a Role in the BT because there is no Role
>in a  BT; the reference is to the RequestingBusinessActivity element.
>               </xsd:documentation>
>            </xsd:annotation>
>        </xsd:attribute>
>        <xsd:attribute name="respondingRoleRef" type="xsd:IDREF"
>use="optional">
>            <xsd:annotation>
>                <xsd:documentation>The respondingRoleRef attribute
>defines nameID reference for the
>                     RespondingBusinessActivity that performs the
>RespondingBusinessActiivty in a  BT.
>                  Note that this reference   is not to a Role in the BT
>because there is no Role in a BT; the 
>                  reference is to the RespondingBusinessActivity
>element.</xsd:documentation>
>            </xsd:annotation>
>
>
>Actually because we now have Performs, BTs could have Roles defined and
>still be reusable. I leave that to version 3 to decide if we want to
>alter anything and get rid of the initiatingRoleRef and
>respondingRoleRef attributes. 
>
>So in a BTA our Performs looks like
>
><Performs currentRoleRef="R1ID" initiatingRoleRef="ReqBAID" />
><Performs currentRoleRef="R2ID" respondingRoleRef="ResBAID" />
>
>In a CollaborationActivity , we could instead have things like
>
><Performs currentRoleRef="R1ID" performsRoleRef="R10ID" />
><Performs currentRoleRef="R2ID" performsRoleRef="R12ID" />
><Performs currentRoleRef="R3ID" performsRoleRef="R14ID" />
><Performs currentRoleRef="R4ID" performsRoleRef="R16ID" />
>
>If we went from a 6 Role BusinessCollaboration to a 4 Role
>BusinessCollaboration, for example.
>
>
>
>
>
>
> I don't know if other reading the spec feel the same
>or it is just me. Will attend next conf call to get this clarified.(See
>attached file: CPA_Negotiation_BPSS_20.zip)
>  
>


<?xml version="1.0" encoding="UTF-8"?>
<ProcessSpecification xmlns="http://www.oasis-open.org/committees/ebBP/BPS/2.0"; 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";  xmlns:xi="http://www.w3.org/2001/XInclude";
	xsi:schemaLocation="http://www.oasis-open.org/committees/ebBP/BPS/2.0 D:\ebxml\bpss\022305\oasis-ebxmlbp-2.0-schema-tc-review-draft-022205.xsd" 
	name="Negotiation Business Process" 
	nameID="Negotiation_business_process_id" 
	uuid="urn:www.oasis-open.org/committees/negotiation/negotiation-business-process/2.1" 
	specificationVersion="2.0"
	instanceVersion="2" >
	<Documentation>
		This business process describes CPPA negotiation process compliant with bpss version dated 02/25/05
	</Documentation>
	<!--CPA Offer Document-->
	<BusinessDocument name="CPA Offer Doc" nameID="CPA_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!--CPA Acceptt Offer Document-->
	<BusinessDocument name="CPA Accept Offer Doc" nameID="CPA_Accept_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Accept_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Accept_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>

	<!--CPA Counter Pending Offer Document-->
	<BusinessDocument name="CPA Counter Pending Offer Doc" nameID="CPA_Counter_Pending_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Counter_Pending_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Conter_Pending_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>

	<!--CPA Counter Offer Document-->
	<BusinessDocument name="CPA Counter Offer Doc" nameID="CPA_Counter_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Counter_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Counter_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>

	<!--CPA Reject Offer Document-->
	<BusinessDocument name="CPA Reject Offer Doc" nameID="CPA_Reject_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Reject_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Reject_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>

	<!--CPA Document. This will probably come from the CPA specification-->
	<BusinessDocument name="CPA Final Doc" nameID="CPA_Final_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Final_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Final_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>

	<!--Response to final CPA Document. This will probably come from the CPA specification
		This is used when the CPA is not signed just to show acceptance or denial of final CPA-->
	<BusinessDocument name="CPA Final Response Doc" nameID="CPA_Final_Response_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Final_Response_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Final_Response_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>

	<!-- Response to final CPA Document which is signed and agreed to create a double singed CPA. Receiving party will create a Signature over the signed CPA and send that. This will probably come from the CPA specification-->
	<BusinessDocument name="CPA Final Response Doc Signed" nameID="CPA_Final_Response_Doc_Signed">
		<Specification name="CPA Offer Doc" nameID="CPA_Final_Response_Doc_Signed_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Final_Response_Signed_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
</BusinessDocument>

	<!--Response to final CPA Document Could be rejecting the final CPA cause it's different
from the agreed upon CPA or signature does not verify-->
	<BusinessDocument name="CPA Final Response Reject Doc" nameID="CPA_Final_Response_Reject_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Final_Response_Reject_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Final_Response_Reject_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>

	<!-- Business Transaction for sending the final CPA message. This CPA is sent by the party finally accepting the offer-->
	<RequestResponse name="CPA Final BT" nameID="CPA_Final_BT">
		<RequestingBusinessActivity name="Final CPA BT ReqBA" nameID="Final_CPA_BT_ReqBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationReceiptRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope name="CPA Final Doc Envelope" nameID="CPA_Final_Doc_Envelope" businessDocumentRef="CPA_Final_Doc" isAuthenticated="none" isConfidential="none"/>
		</RequestingBusinessActivity>
		<RespondingBusinessActivity name="Final_CPA_BT_RespBA" nameID="Final_CPA_BT_RespBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope name="CPA Final Response Doc Env" nameID="CPA_Final_Response_Doc_Env" businessDocumentRef="CPA_Final_Response_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
			<DocumentEnvelope name="CPA Final Response Doc Signed Env" nameID="CPA_Final_Response_Doc_Signed_Env"  businessDocumentRef="CPA_Final_Response_Doc_Signed" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
			<DocumentEnvelope name="CPA Final Response Reject Doc Env" nameID="CPA_Final_Response_Reject_Doc_Env"  businessDocumentRef="CPA_Final_Response_Reject_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="false"/>
		</RespondingBusinessActivity>
	</RequestResponse >
	
	<!-- Business Transaction for sending an offer -->
	<RequestResponse name="CPA Offer BT" nameID="CPA_Offer_BT">
		<RequestingBusinessActivity name="CPA_Offer_BT_ReqBA" nameID="CPA_Offer_BT_ReqBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationReceiptRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope  name="CPA Offer Doc Env" nameID="CPA_Offer_Doc_Env"   businessDocumentRef="CPA_Offer_Doc" isAuthenticated="none" isConfidential="none"/>
		</RequestingBusinessActivity>
		<RespondingBusinessActivity name="CPA_Offer_BT_RespBA" nameID="CPA_Offer_BT_RespBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope  name="CPA Accept Offer Doc Env" nameID="CPA_Accept_Offer_Doc_Env"  businessDocumentRef="CPA_Accept_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
			<DocumentEnvelope  name="CPA Reject Offer Doc Env" nameID="CPA_Reject_Offer_Doc_Env"  businessDocumentRef="CPA_Reject_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="false"/>
			<DocumentEnvelope  name="CPA Counter Pending Offer Doc Env" nameID="CPA_Counter_Pending_Offer_Doc_Env" businessDocumentRef="CPA_Counter_Pending_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
		</RespondingBusinessActivity>
	</RequestResponse >
	
	<!-- Business Transaction for sending the counter offer 	-->
	<RequestResponse name="CPA Counter Offer BT" nameID="CPA_Counter_Offer_BT">
		<RequestingBusinessActivity name="CPA_Counter_Offer_BT_ReqBA" nameID="CPA_Counter_Offer_BT_ReqBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationReceiptRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope name="CPA Counter Offer Doc Env" nameID="CPA_Counter_Offer_Doc_Env" businessDocumentRef="CPA_Counter_Offer_Doc" isAuthenticated="none" isConfidential="none"/>
		</RequestingBusinessActivity>
		<RespondingBusinessActivity name="CPA_Counter_Offer_BT_RespBA" nameID="CPA_Counter_Offer_BT_RespBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope name="CPA Accept Offer Doc Env" nameID="CPA_Accept_CounterOffer_Doc_Env" businessDocumentRef="CPA_Accept_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
			<DocumentEnvelope name="CPA Reject Offer Doc Env" nameID="CPA_Reject_CounterOffer_Doc_Env" businessDocumentRef="CPA_Reject_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="false"/>
			<DocumentEnvelope name="CPA Counter Pending Offer Doc Env" nameID="CPA_CounterCounter_Pending_Offer_Doc_Env"  businessDocumentRef="CPA_Counter_Pending_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
		</RespondingBusinessActivity>
	</RequestResponse >	

	<!-- Main collaboration for negotiation business process -->
	<BinaryCollaboration name="CPA Negotiation BC" nameID="CPA_Negotiation_BC">
		<!-- Role for initiator for negotiation process -->
		<Role name="CPA Negotiation Initiator" nameID="CPA_Negotiation_Initiator_Role"/>
		<!-- Role for initial responder of business collaboration -->
		<Role name="CPA Negotiation Responder" nameID="CPA_Negotiation_Responder_Role"/>
		<TimeToPerform duration="P1D"/>
		
		<Start  name="CPA Negotiation BC Start" nameID="CPA_Negotiation_BC_Start">
			<ToLink toBusinessStateRef="CPA_Offer_BTA"/>
		</Start>
		
		<BusinessTransactionActivity  name="CPA Offer BTA" nameID="CPA_Offer_BTA" businessTransactionRef="CPA_Offer_BT"  hasLegalIntent="false" isConcurrent="false">
			<Documentation>
				First transaction in negotiation. Negotiation Initiator sends an offer to negotiation responder
			</Documentation>
			<TimeToPerform duration="P1D"/>
			<Performs currentRoleRef="CPA_Negotiation_Initiator_Role"/>
		</BusinessTransactionActivity>
		
		<CollaborationActivity name="CPA Counter Offer CA" collaborationRef="CPA_Negotiation_Counter_Offer_BC" nameID="CPA_Counter_Offer_CA">
			<Documentation>
				If negotiation responder sends a "counter offer pending" message, then transitions to this collaboration where role
				of initiator in this is performed by the original negotiation responder by sending a counter offer to original initiator.
			</Documentation>
			<Performs currentRoleRef="CPA_Negotiation_Responder_Role" performsRoleRef="CPA_Negotiation_CounterOfferInitiator_Role"/>
		</CollaborationActivity>
		
		<BusinessTransactionActivity name="CPA Final BTA" nameID="CPA_Final_BTA" businessTransactionRef="CPA_Final_BT"  hasLegalIntent="false" isConcurrent="false">
			<Documentation>
				If negotiation responder sends a "accept offer" message, then transitions to this transaction where responder
				who sent "accept offer" will send the "final cpa"
			</Documentation>
			<TimeToPerform duration="P1D"/>
			<Performs currentRoleRef="CPA_Negotiation_Responder_Role"/>
		</BusinessTransactionActivity>
		
		<!-- If final CPA BTA goes through fine, then overall collaboration is marked success -->
		<Success name="CPA_Negotiation_BC_Success" nameID="CPA_Negotiation_BC_Success">
			<FromLink  conditionGuard="Success" fromBusinessStateRef="CPA_Final_BTA"/>
		</Success>
		
		<!-- If inner collaboration goes through fine, then overall collaboration is marked success. Inner collaboration
			Would have gone through the transaction that ends up with either the final CPA (Signed if needed) -->
		<Success name="CPA_Negotiation_BC_Success_from_CA" nameID="CPA_Negotiation_BC_Success_from_CA">
			<FromLink conditionGuard="Success" fromBusinessStateRef="CPA_Counter_Offer_CA"/>
		</Success>
		
		<!-- If Reject offer document is sent for offer bta collaboration is marked as failure-->
		<Failure name="CPA_Negotiation_BC_Failure_CPA_Reject" nameID="CPA_Negotiation_BC_Failure_CPA_Reject">
			<FromLink conditionGuard="BusinessFailure" fromBusinessStateRef="CPA_Offer_BTA">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Reject Offer Doc"/>
			</FromLink>
		</Failure>
		
		<!-- If final CPA is rejected then its a failure too. -->
		<Failure name="CPA_Negotiation_BC_Failure_CPA_FinalResponse_Reject" nameID="CPA_Negotiation_BC_Failure_CPA_FinalResponse_Reject">
			<FromLink conditionGuard="BusinessFailure" fromBusinessStateRef="CPA_Final_BTA">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Final Response Reject Doc"/>
			</FromLink>
		</Failure>
		
		<!-- If Final CPA BTA fails for some reason, then collaboration is marked as failure -->
		<Failure name="CPA_Negotiation_BC_Failure_Final_BTA_Fail" nameID="CPA_Negotiation_BC_Failure_Final_BTA_Fail">
			<FromLink conditionGuard="Failure" fromBusinessStateRef="CPA_Final_BTA"/>
		</Failure>
		
		<!-- If  Counter Offer Collaboration  CPA BTA fails for some reason, then collaboration is marked as failure -->
		<Failure name="CPA_Negotiation_BC_Failure_Counter_Collaboration_Fail" nameID="CPA_Negotiation_BC_Failure_Counter_Collaboration_Fail">
			<FromLink conditionGuard="Failure" fromBusinessStateRef="CPA_Counter_Offer_CA"/>
		</Failure>
		
		<!-- Transition to Final CPA offer  binary Transaction if the responder for main transaction accepts the initial offer -->
		<Transition>
			<FromLink fromBusinessStateRef="CPA_Offer_BTA">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Accept Offer Doc"/>
			</FromLink>
			<ToLink toBusinessStateRef="CPA_Final_BTA"/>
		</Transition>
		
		<!-- Transition to counter offer  binary collaboration if the responder for main transaction returns a counter offer pending message -->
		<Transition>
			<FromLink fromBusinessStateRef="CPA_Offer_BTA">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Counter Pending Offer Doc"/>
			</FromLink>
			<ToLink toBusinessStateRef="CPA_Counter_Offer_CA"/>
		</Transition>
	</BinaryCollaboration>
	
	<BinaryCollaboration name="CPA Negotiation Counter Offer BC" nameID="CPA_Negotiation_Counter_Offer_BC">
		<Role name="CPA Negotiation Counter Offer Initiator" nameID="CPA_Negotiation_CounterOfferInitiator_Role"/>
		<Role name="CPA Negotiation Counter Offer Responder" nameID="CPA_Negotiation_CounterOfferResponder_Role"/>
		<TimeToPerform duration="P1D"/>
		<!-- This collaboration starts with the negotiation process responder (CounterOfferInitiator) sending the counter offer -->
		<Start  name="CPA_Negotiation_Counter_offer_BC_Start" nameID="CPA_Negotiation_Counter_offer_BC_Start">
			<ToLink toBusinessStateRef="CPA_Counter_Offer_BTA_init_CounterOfferInitiatorRole"/>
		</Start>
		
		<!-- This transaction activity is for negotiation process responder (CounterOfferInitiator) sending the counter offer -->
		<BusinessTransactionActivity name="CPA_Counter_Offer_BTA_init_CounterOfferInitiatorRole" nameID="CPA_Counter_Offer_BTA_init_CounterOfferInitiatorRole"  businessTransactionRef="CPA_Counter_Offer_BT" hasLegalIntent="false" isConcurrent="false">
			<Documentation>
				This is the BTA from the CounterOfferInitiator To Send the Counter Offer after sending the pending counter offer 
				message to counter offer received from CounterOfferInitiator. First time this BTA is activated, this is cause
				CounterOfferInitiator who was the the original responder had responded to original offer by sending Pending Counter Offer
			</Documentation>
			<TimeToPerform duration="P1D"/>
			<Performs currentRoleRef="CPA_Negotiation_CounterOfferInitiator_Role"/>
		</BusinessTransactionActivity>
		
		<!-- This transaction acitvity is for negotiation process initiator ((CounterOfferResponder)sending the counter offer -->
		<BusinessTransactionActivity name="CPA_Counter_Offer_BTA_init_CounterOfferResponderRole" nameID="CPA_Counter_Offer_BTA_init_CounterOfferResponderRole" businessTransactionRef="CPA_Counter_Offer_BT" hasLegalIntent="false" isConcurrent="false">
			<Documentation>
				This is the BTA from the CounterOfferResponder To Send the Counter Offer after sending the pending counter offer 
				message to counter offere received from CounterOfferInitiator
			</Documentation>
			<TimeToPerform duration="P1D"/>
			<Performs currentRoleRef="CPA_Negotiation_CounterOfferResponder_Role"/>
		</BusinessTransactionActivity>
		
		<BusinessTransactionActivity name="CPA_Final_BTA_init_CounterOfferInitiatorRole" nameID="CPA_Final_BTA_init_CounterOfferInitiatorRole" businessTransactionRef="CPA_Final_BT"  hasLegalIntent="false" isConcurrent="false">
			<Documentation>
				This is the BTA from the CounterOfferInitiator To Send the Final Offer Approval after receiving the accept counter offer 
				from CounterOfferResponder
			</Documentation>
			<TimeToPerform duration="P1D"/>
			<Performs currentRoleRef="CPA_Negotiation_CounterOfferInitiator_Role"/>
		</BusinessTransactionActivity>
		
		<BusinessTransactionActivity name="CPA_Final_BTA_init_CounterOfferResponderRole" nameID="CPA_Final_BTA_init_CounterOfferResponderRole" businessTransactionRef="CPA_Final_BT" hasLegalIntent="false" isConcurrent="false">
			<Documentation>
				This is the BTA from the CounterOfferResponder To Send the Final Offer Approval after receiving the accept counter offer 
				from CounterOfferInitiator
			</Documentation>
			<TimeToPerform duration="P1D"/>
			<Performs currentRoleRef="CPA_Negotiation_CounterOfferResponder_Role"/>
		</BusinessTransactionActivity>
		
		<!-- Inner collaboration succeeds if the final BTA which involves sending final CPA succeeds -->
		<Success name="CPA_CA_Success_Final_BTA_CounterOfferInitiatorRole" nameID="CPA_CA_Success_Final_BTA_CounterOfferInitiatorRole">
			<FromLink  conditionGuard="Success" fromBusinessStateRef="CPA_Final_BTA_init_CounterOfferInitiatorRole"/>
		</Success>
		
		<!-- Inner collaboration succeeds if the final BTA which involves sending final CPA succeeds. This is
		  	the same as above but the difference is this initiated by a different party -->
		<Success name="CPA_CA_Success_Final_BTA_CounterOfferResponderRole" nameID="CPA_CA_Success_Final_BTA_CounterOfferResponderRole">
			<FromLink  conditionGuard="Success" fromBusinessStateRef="CPA_Final_BTA_init_CounterOfferResponderRole"/>
		</Success>
		
		<!-- If final CPA is rejected then its a failure too. -->
		<Failure name="CPA_CA_Failure_Final_BTA_CounterOfferInitiatorRole" nameID="CPA_CA_Failure_Final_BTA_CounterOfferInitiatorRole">
			<FromLink conditionGuard="Failure" fromBusinessStateRef="CPA_Final_BTA_init_CounterOfferInitiatorRole">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Final Response Reject Doc"/>
			</FromLink>
		</Failure>
		
		<!-- If final CPA is rejected then its a failure too. -->
		<Failure name="CPA_CA_Failure_Final_BTA_CounterOfferResponderRole" nameID="CPA_CA_Failure_Final_BTA_CounterOfferResponderRole">
			<FromLink conditionGuard="Failure" fromBusinessStateRef="CPA_Final_BTA_init_CounterOfferResponderRole">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Final Response Reject Doc"/>
			</FromLink>
		</Failure>
		
		<Failure name="CPA_CA_Failure_Counter_Offer_BTA_CounterOfferResponderRole" nameID="CPA_CA_Failure_Counter_Offer_BTA_CounterOfferResponderRole">
			<Documentation>
				This failure is resulting from reject counter offer doc being sent by the counterofferinitiator as response 
				to counter offer sent by counterofferresponder
			</Documentation>
			<FromLink conditionGuard="BusinessFailure" fromBusinessStateRef="CPA_Counter_Offer_BTA_init_CounterOfferResponderRole">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Reject Offer Doc"/>
			</FromLink>
		</Failure>
		
		<Failure name="CPA_CA_Failure_Counter_Offer_BTA_CounterOfferInitiatorRole" nameID="CPA_CA_Failure_Counter_Offer_BTA_CounterOfferInitiatorRole">
			<Documentation>
				This failure is resulting from reject counter offer doc being sent by the counterofferresponder as response 
				to counter offer sent by counterofferinitiator
			</Documentation>
			<FromLink conditionGuard="BusinessFailure" fromBusinessStateRef="CPA_Counter_Offer_BTA_init_CounterOfferInitiatorRole">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Reject Offer Doc"/>
			</FromLink>
		</Failure>
		
		<!-- If responder in this innercollaboration sends  an acceptace offer, initiator in this innercollaboration sends the final CPA -->
		<Transition>
			<FromLink fromBusinessStateRef="CPA_Counter_Offer_BTA_init_CounterOfferInitiatorRole">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Accept Offer Doc"/>
			</FromLink>
			<ToLink toBusinessStateRef="CPA_Final_BTA_init_CounterOfferInitiatorRole" />			
		</Transition>
		
		<!-- If initiator in this innercollaboration sends  an acceptace offer, responder in this innercollaboration sends the final CPA -->
		<Transition>
			<FromLink fromBusinessStateRef="CPA_Counter_Offer_BTA_init_CounterOfferResponderRole">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Accept Offer Doc"/>
			</FromLink>
			<ToLink toBusinessStateRef="CPA_Final_BTA_init_CounterOfferResponderRole" />			
		</Transition>
		
		<!-- Initiator in inner collaboration sends Counter Offer, then If the responder in this innercollaboration sends counter offer pending, collaboration transitions to responder sending a counter offer next time -->
		<Transition>
			<FromLink fromBusinessStateRef="CPA_Counter_Offer_BTA_init_CounterOfferInitiatorRole">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Counter Pending Offer Doc"/>
			</FromLink>
			<ToLink toBusinessStateRef="CPA_Final_BTA_init_CounterOfferResponderRole" />			
		</Transition>
		
			<!-- Responder in inner collaboration sends Counter Offer, then If the Initiator in this innercollaboration sends counter offer pending, collaboration transitions to Initiator sending a counter offer next time -->
		<Transition>
			<FromLink fromBusinessStateRef="CPA_Counter_Offer_BTA_init_CounterOfferResponderRole">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Counter Pending Offer Doc"/>
			</FromLink>
			<ToLink toBusinessStateRef="CPA_Final_BTA_init_CounterOfferInitiatorRole" />			
		</Transition>
	</BinaryCollaboration>
</ProcessSpecification>


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