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: Action (private action, public action, joint action) and State (private state, shared state, RWE)


Hi:

 

Firstly, here is the threaded exchange between Ken and myself on the subject of action, private action and joint action:

 

[Ken] Line 984: Private actions are mentioned in section 3.3. Is it necessary/useful to introduce here? Opacity means private actions, which may be the private part of a joint action, are not publicly visible but are likely essential in realizing real world effect.

[Peter] ??? We don't use the term "private action" anywhere....

[Ken] line 1178-1179 says "...for any given action - whether the action is private or is a joint action...".  Also, lines 2231-2232 later say "These operations represent the sequence of actions (often private) a service must perform..."  The larger question is what is the relationship between Action and Joint Action.  If Joint Action is a type of Action, what (Private Action?) is/are the non-Joint Action types?  Note, this has been a long-running issue...

 

In follow-up to that exchange, I stated:

I think it is incorrect to talk about "private actions, which may be the private part of a joint action". I discussed this with Chris and my view is that an action can be either a private action ('black box' to anyone else even if an RWE can be perceived by others) or a 'public action' (action of a *single* actor, but visible to all). A 'joint action' should be seen as an amalgamation (more formally, an aggregation) of 2 or more public actions. Indeed lines 1178-79 (21 Dec, Clean version) imply that private action and joint action are mutually exclusive. This conclusion came from the thought and question: can you have a joint action without all parties to the action knowing what makes it up?

 

This would mean we have a model something like, and without any connector between Action and Joint Action:

 

 

Models in the current document that show Joint Action as a type of Action would need to change, but without surveying the previous arguments in the TC on this, Ken and I think this approach reasonable.

 

By analogy, we can look at the issue of State based on the current definitions in the text and this would give us:

 

 

We really need an activity or sequence diagram to capture this – as it is a Shared State’s *change* that gives the RWE, something that can’t be easily captured in a class diagram. Note that the cardinality for shared state is 1..* as a single actor’s shared state change can cause an RWE, whereas joint action requires at least two actors’ ‘public actions’ (hence cardinality of 2..*)

 

I actually argued for the term ‘public state’ rather than ‘shared state’, as our definition of shared state does not imply that the ‘information’ about the state is shared, only that it is shareable. I think that is potentially confusing.

 

In may be an academic step too far, but could this be an alternative representation:

 

 

What we have yet to capture in any diagram is the relationship between joint action, shared state and RWE and also – as raised in s4 – the additional concepts of Service level RWE and Action Level RWE.

 

Questions first:

-        Are Service Level RWE and Action Level RWE intended to be the outcomes of, respectively, a Service Action and a Communicative Action? Do we need to align the terms here?

-        Are we clear that any RWE caused by a communicative action cannot, by definition, be part of the ‘substantive’ RWE that is delivered by the use of a service? Or would it be better to define RWE as precisely being that ‘soft of’ effect that results only from a service action? In other words, a communicative action will have effects, but not RWEs…

 

If we keep the distinct concepts of communicative and service actions, the distinction only makes sense if we consider the former as a sort of ‘support action’ that helps parties prepare for, execute and validate a service action (“are you ready?”, “give me a moment, just checking things…OK, ready now..execute”, “OK, got it”).

 

We talk of RWE as both being “a measurable change to the shared state of one or more participants”, but also as a “measurable change in the overall state of the SOA ecosystem”. Presumably a communicative action will not have an impact on the ‘overall state’ but rather cause transient effects which have no lasting value – and RWE is all about creating a value for the service participants. Indeed, the RM states that:

‘The service consumer is trying to achieve some result by using the service, as is the service provider. At first sight, such a goal can often be expressed as “trying to get the service to do something”. This is sometimes known as the “real world effect” of using a service’. For me, this is not the same as the outcome of a communicative action. However, the RM goes on to say:

‘a real world effect can be the response to a request for information or the change in the state of some defined entities shared by the service participants. In this context, the shared state does not necessarily refer to specific state variables being saved in physical storage but rather represents shared information about the affected entities.’. This could be understood to favour communicative actions also delivering RWE. My view is that the ‘the request for information’ in the RM example is a service request not an accessory activity.

 

Comments please – Chris and I will try to come up with some satisfactory wording changes in light of our discussions…

 

Cheers,

Peter

 

Peter F Brown

Independent Consultant

Description: Description: cid:image002.png@01CB9639.DBFD6470

Transforming our Relationships with Information Technologies

www.peterfbrown.com

@pensivepeter

P.O. Box 49719, Los Angeles, CA 90049, USA

Tel: +1.310.694.2278



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