OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

soa-rm-ra message

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

Subject: The many faces of Action

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?


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.

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.

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?


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?  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.

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.

But let's see where else this may go.  Per Jeff's model that just came in, Communicative Action conveys (initiates?) 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.

Checkpoint 4: is this a reasonable interpretation of what is intended by the model?


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.

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

   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.


Other important things I'm missing?




Ken Laskey

MITRE Corporation, M/S H305     phone:  703-983-7934

7515 Colshire Drive                        fax:        703-983-1379

McLean VA 22102-7508

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