[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Fwd: Re: [soa-rm-ra] The many faces of Action
Sorry to send you a duplicate, Ken, However, I neglected to hit the "reply to all" option. I'll respond to Jeff separately. Cheers, Rex >Date: Wed, 4 Jun 2008 17:58:27 -0700 >To: Ken Laskey <klaskey@mitre.org> >From: Rex Brooks <rexb@starbourne.com> >Subject: Re: [soa-rm-ra] The many faces of Action >Cc: >Bcc: >X-Attachments: > >Thanks Ken, > >My response is inline. > >>I think it's agreed that we need to have a consistent story for >> >>- Action as part of the Action and Process Models >> >>- Action as related to Messages and Interaction. >> >>As promised near the end of today's call, I'm trying to capture >>what we have so far and look for the common thread. The following >>is my attempt at that. Personally, I think the thread gets a >>little frayed by the end but that's why we work as a team to bind >>those threads together. >> >>So here goes. We start with the definition of Action from line 755: >> >>Action is the application of intent by a participant (or agent) to >>achieve a real world effect. >> >>So any time "action" is used in the following, I should be able >>(and intend) to identify >> >>- what is the intent >> >>- whose intent is it >> >>- how is it applied >> >>- what RWE does the who expect >> >>To summarize where we were at the end of the call, to first order >> >>- Action as used in the Action Model is singular, i.e. there >>is only one Participant >> >>- Action in Interaction is Joint Action, i.e. there must be >>two or more Participants >> >>- Types of Joint Action are: >> >> -- serial: one Participant does something [is this an Action in >>any sense?] and then another Participant does something in turn, >>possibly in response. A Speaker speaking followed by a Listener >>receiving the speech is an example. >> >> -- parallel: some subset of the Participants must do separate >>things at the same time for the desired RWE to occur. One >>Participant signing a contract and another Participant witnessing >>the signing is an example we used during the call. >> >> -- cooperative: two or more Participants have to do separate >>(possibly very similar) things in a coordinated manner for the >>desired RWE to occur. Two Participants lifting a heavy object is >>an example; again, an example from the call. >> >>- A Communicative Action is a parallel Joint Action in which >>one Participant takes on the role of Speaker and the other >>Participants take on the role of Listener. Who is the Speaker and >>who are the Listeners typically changes over the course of an >>Interaction. >> >>We have committed for this RA that Interaction will be done through >>message exchange. >> >>Checkpoint 1: do we have agreement to here? > >This works for me. > >> >> >>Frank has advocated that the message is the Action. Thus, how >>intent is applied is always by using a message create and send >>client. This doesn't pass my feel-right test, but we'll let it go >>for now. > >Doesn't feel right to me either. I think the use of a message >denotes a communicative action. > >>If the Action Model (as defined in the RM) is the characterization >>of the actions that may be invoked against the service, then the >>Action Model comprises those messages that the service is prepared >>to receive. This begs the question of what needs to be done in >>response to receiving a message, and for lack of a better term I'm >>going to refer to the effect (RWE?) of receiving the message as the >>Initiated Activity. Thus, there is an Initiated Activity for every >>received message, where the details of the activity are private to >>the service. > >hmmmn. Have to give this some thought. This is where I prefer for >the result of a message to be a bit more like an additive process, >e.g. each stage of the process adds its allotment of "something" to >the process up until a threshold of some kind is reached where a >pre-defined "event" or "trigger" occurs which achieves some part of >the RWE (perhaps all, perhaps only some of a RWE). > >>According to the RM, the Process Model characterizes the temporal >>relationships and temporal properties of actions and events >>associated with interacting with the service. Let's stick with >>Actions and not look at Events right now. So the Process Model is >>saying the service has to receive a first message before it is >>prepared to receive the second message and move on to completing >>its described business function, leading to its described business >>function RWE. This can be seen as a Precondition for the Action. >> >>Checkpoint 2: I think things are still holding together. Are >>others still on board? > >Slightly different words but the gist seems the same with the >exception that I brought up the "event' already. > >> >> >>Now we've said the Actions for the Action (and Process) Model are >>singular, i.e. there is only one Participant. So who is the >>Participant? > >Disagree. See below. > >>It has to be the service because that is the only constant. Where >>in our models do we show a single Participant "invoking" Action? >>What are the conditions and relationships? I would have to say the >>Action is the "act" of the service receiving (being prepared to >>receive?) the message and proceeding (being prepared to proceed?) >>with the Initiating Activity in response. The Action is more of a >>potential because it has to exist even when there isn't a message. >>Note, if there is a real message, then we have Interaction and >>therefore Joint Action. > >For me, the consumer requesting the service is an Action. It becomes >an Interaction only if it triggers a response, e.g. a Joint Action. >That's why receiving a message is so often the "Event" which >initiates a Business Process. However, it is the reception of the >message which serves as the Event, not the sending of the message. >Sending the message is prototypical Action. It is purely singular >even if the parties have exchanged WSDLs and practiced the >interchange in simulations to work out the kinks. > >The Service can only hold itself in readiness until it is requested. >There are potentially different intents at work, some that coincide, >some that don't. The Consumer intends to request and use the >Service. The Provider intends to offer the Service under some set of >conditions. The Consumer and Provider both intend to bring about >some part or all of the RWE, which can have many parts, some of >which require Joint Actions, Communicative Actions and Singular >Action. > >>So under these conditions, for singular Action: >> >>- intent: proceed to Initiating Activity >> >>- who: the service >> >>- how: private >> >>- RWE: whatever portion of the RWE associated with the business >>function that is achieved from this Action >> >>This isn't very satisfying, so I look forward to variations. >> >>How does things change is there is a message and we proceed with >>Interaction? The Speaker (who) uses a client to create and send a >>message (how) so the service will proceed with the Initiating >>Activity (intent) leading to a successfully completed business >>function (RWE). The "jointness" (i.e. completing the Communicative >>Action) is the Listener is there to receive the message, and then >>we're on to the Activity. >> >>Checkpoint 3: Are things starting to get flaky? >> >> >> >>This seems to create schizophrenia with the concept of Action. I >>still think this goes away if the message is what initiates the >>service Action rather than having to be an Action itself. > >Agree. See above. > >>But let's see where else this may go. Per Jeff's model that just >>came in, Communicative Action conveys (initiates?) > >Disagree. I take convey to mean "transports or transmits a message >or notification." > >>Action. I can interpret this to mean the communicative Action >>leads to the singular Action of the Action and Process Models to >>proceed with the corresponding Initiating Activity. The component >>Message provides (conveys) the Message payload (per indicated >>Structure and Semantics) to that same Action so it has what it >>needs to proceed. > >I think the "Initiating Activity" should be spelled out as the >"Event" agreed upon beforehand where some threshold is reached which >starts a process according to a "Business Rule." For me this is >where business logic takes over, however it gets initiated, and is >more precisely "Management." > >>Checkpoint 4: is this a reasonable interpretation of what is >>intended by the model? > >For me, yes, with the caveats mentioned. > >> >> >>Questions related to models: >> >>1. Do we need a common parent class for Action and Joint Action? >>Having the two independent as classes but so tightly entwined will >>undoubtedly lead to more confusion. > >I think the distinction between one participant and two or more is >pretty clear cut. > >> >>2. In an attempt to simplify, can we say that >> >> a. we are only modeling SOA so we do not have to show subclasses >>that are not relevant to SOA, and > >I think Action > Joint Action/Interaction (or Transaction) are >acutely relevant to SOA and especially the RA, and we should just >keep hammerin' on it till we get consensus. > >> b. if we only have one subclass of a class, then we should >>collapse those into the subclass and, if helpful for clarity, only >>mention the parent class in the accompanying text. > >Don't like this a hard and fast rule, but as a rule of thumb (not >applied to Action > JointAction>CommunicativeAction) 'sokay. > > >Cheers, >Rex > >> >> >> >>Other important things I'm missing? >> >> >> >>Ken >> >> >>------------------------------------------------------------------------------------------ >> >>Ken Laskey >> >>MITRE Corporation, M/S H305 phone: 703-983-7934 >> >>7515 Colshire Drive fax: 703-983-1379 >> >>McLean VA 22102-7508 > > >-- > >Rex Brooks >President, CEO >Starbourne Communications Design >GeoAddress: 1361-A Addison >Berkeley, CA 94702 >Tel: 510-898-0670 -- Rex Brooks President, CEO Starbourne Communications Design GeoAddress: 1361-A Addison Berkeley, CA 94702 Tel: 510-898-0670
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]