[Oslc-Automation] Revisiting input and output parameters

Charles Rankin rankinc at us.ibm.com
Tue Jul 24 12:08:19 EDT 2012


When looking at the current wording of inputParameter and outputParameter 
for AutomationResult [1], it appears as though a parameter may only appear 
as an outputParameter if either it wasn't in the set of inputParameters or 
 it has a value different than specified on the inputParameter.  I 
question whether this is the intended and desired behavior?  I believe the 
most common use case here will be to examine the entire set of "output" 
parameters from an automation, particularly so for a "chaining" scenario. 
As the spec is presently worded, I believe the user will need to do a 
merge between the inputParameters and outputParameters to get the complete 
set of parameters. To that end I would like to suggest that we change the 
meaning of outputParameter to indicate that it will be the total set of 
parameters, whether changed or not.  In the case where a user is 
particularly interested in whether a parameter has changed since the 
beginning of the automation, they can still make a comparison of the 
values.

I think this will actually make things easier on service providers as 
well.  I believe that most take a snapshot of the input parameters and 
then maintain the current set of all parameter values, which aligns with 
what I'm recommending. 

One interesting corner case is what happens to a parameter, A1, that 
starts out with an initial value of "foo", then gets updated to a value of 
"bar", and then subsequently gets changed back to "foo".  With our current 
wording, would A1 be in the outputParameters at the end of the execution, 
as it has changed values during the execution, but now has the same value 
as it initially did?  With my recommended change, it will always be in the 
outputParameters with it's current value.

On a side note, I was initially thinking about this with respect to a 
Build Forge service provider implementation for Automation.  Build Forge 
(unlike many/most other tools) does not save the initial set of parameter 
values.  So, in its present form, will not be able to accurately generate 
the inputParameters.  As the spec is currently worded, it would not be 
able to accurately generate the outputParameters either.  With my 
recommended change, Build Forge could at least provide an accurate 
representation for outputParameters.  :)

Off-hand, I think it is probably better to force the issue one way or the 
other, so that outputParameters either have all parameters or only those 
that are new or have changed.  Softening the wording to "allow" 
outputParameters to have unchanged parameters doesn't seem to directly 
help the consumer very much, in my opinion, and may just confuse them.

Thoughts?

[1] 
http://open-services.net/bin/view/Main/AutoSpecificationV2?sortcol=table;up=#Resource_AutomationResult

Charles Rankin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-automation_open-services.net/attachments/20120724/f9916c9d/attachment-0003.html>


More information about the Oslc-Automation mailing list