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: RE: [soa-rm-ra] Action (private action, public action, jointaction) and State (private state, shared state, RWE)


Gentlemen,

Although this is a very interesting philosophical discussion, the question that I have is about service/Client opacity. The things that are private exist, no doubt about it, but they should be opaque to the service consumer. This include both service state and service action. From the point of view of service invoker only public things are visible and should be part of service interface/specification. All the private things are part of internal implementation and should be never visible. Otherwise service consumer may start rely on the things that he should not.

Now to the state. I do not know whether there is such thing as shared state. There is shared knowledge, but this is a very different thing. The consumer have to know service invocation requirements and expected results, but I would never go as far as calling this a shared state. The only exception of this rule is conversational state, but I do not think that this is what you are talking about

 

From: mpoulin@usa.com [mailto:mpoulin@usa.com]
Sent: Thursday, January 06, 2011 1:31 PM
To: soa-rm-ra@lists.oasis-open.org
Subject: Re: [soa-rm-ra] Action (private action, public action, joint action) and State (private state, shared state, RWE)

 

Peter, my comments are embedded into your text.

- Michael

 

-----Original Message-----
From: Peter F Brown <peter@peterfbrown.com>
To: soa-rm-ra@lists.oasis-open.org
Sent: Thu, Jan 6, 2011 5:29 pm
Subject: [soa-rm-ra] 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...

 

M.P.: to my understanding, a Joint Action comprises both actions performed in the dialogue exchanged between consumer and service AND actions performed by the service in response to the dialogue.  (I deliberately use different words to outline non-normative sense of what I try to say) . In this case, there may be public actions and private actions in the Joint Action: if consumer-service exchange communication messages in clear, i.e. they act in clear, we have public actions. All other actions including secured (confidential) communication actions and, for sure, service's internal actions are private. 

 

This means that my understanding does not fit with lines 1178-1179. Then, Joint Action is a composition of actions (private and public) - if Joint Action ends, this means that all included actions end (complete).

 

 

I think it is incorrect to talk about "private actions, which may be the private part of a joint action". M.P. - Agree

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). M.P. - Agree

A 'joint action' should be seen as an amalgamation (more formally, an aggregation) M.P. - Disagree: after Joint Action completes, all comprising actions complete - this is a composition rather than an aggregation               of 2 or more public actions. M.P. - Disagree: all actions in the Joint Actions may be private (consider security and see my comment above) 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? M.P. - Knowing what makes the Joint Action and knowing what the actions were are different things. I.e. we know that the consumer interacts with the service - network monitoring tells us about this fact - but we do not know what the actions performed.

 

This would mean we have a model something like, and without any connector between Action and Joint Action: M.P. - Disagree: see my comments above. Joint Aaction, IMO, has to include both public and private actions, plus, cardinality to public action has to be 0-1..* while for private action -  1-1..* (service must perform, at least, one private action to prepare the response to the request; response may be private to the public request and vise verse)

 

 

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: M.P. - Disagree: while State may be shared/public and private indeed, RWE also may have shared/public and private parts: IF RWE=service outcome THEN a part (up to 100%) of the outcome may returned to the consumer and used privately or a part of the outcome may be made available to others, i.e. public. In both cases, the overall ecosystem's state has changed. Moreover, the state of the consumer might not changed if it used service to perform for others only (no return value but acknowledgement)

 

 

We really need an activity or sequence diagram to capture this – as it is a Shared State’s *change* that gives the RWE M.P. - Disagree: not only shared but private state as well, 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, M.P. - Disagree: RWE may result in no shared OR no private state OR in both     whereas joint action requires at least two actors’ ‘public actions’ (hence cardinality of 2..*) M.P. - Disagree: existence of public Actors does not constitute any public actions. 

 

 

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. M.P. - Agree with Peter but because of different reason: requester may not always own the RWE in the first place to share it.  I think that is potentially confusing.

 

In may be an academic step too far, but could this be an alternative representation: M.P. - Disagree: see my comments above.

 

 

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? M.P. IMO, a Communication Action causes, at least, one Service Action. I.e. a Service denies request: response may or may be not sent back and no RWE is produced by the service. My answer is Yes, we need to align them here and be very accurate with relationships with RWE.

-        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? M.P. I do not understand and did not before what RWE may be produced by Communicative Actions... Or would it be better to define RWE as precisely being that ‘soft of’ effect that results only from a service action? M.P. this is my strong recommendation to avoid confusions in the future. In other words, a communicative action will have effects, but not RWEs…M.P. Yes, and the first effect is, at least, one private action of the service. Overall, RWE is always a change in the state of the ecosystem while an effect is just a reaction to a trigger and this reaction does not necessary results in the change of the ecosystem's state

 

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’ M.P. - Agree 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”M.P. - I was always disagree with this: RWE may be consumed resulting in the state change by a 3rd party, not a participant of the service interaction. I.e. a consumer invokes service to send notifications - consumer's state does not change in this interaction but RWE is created (notifications), 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 M.P. - Agree for the service participants M.P. - Disagree: considering service _interaction_ participants, RWE may be used for changing state of non-participants as I mentioned above. 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’. M.P. - sure, but this does not mean that the state of the consumer changes because of this interaction. 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. M.P. - IMO, this is too narrowed explanation  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. M.P. - Disagree unless we consider the process of service execution (not the result) as a change in the state of ecosystem. This suggestion would be very strange to me. My view is that the ‘the request for information’ in the RM example is a service request not an accessory activity. M.P. - Absolutely agree.

 

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

Transforming our Relationships with Information Technologies

www.peterfbrown.com

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

Tel: +1.310.694.2278


The information contained in this communication may be CONFIDENTIAL and is intended only for the use of the recipient(s) named above. If you are not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. If you have received this communication in error, please notify the sender and delete/destroy the original message and any copy of it from your computer or paper files.



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