[SAGA-RG] Service Discovery spec updated at last ...

Steve Fisher dr.s.m.fisher at gmail.com
Thu Dec 18 16:40:24 CST 2008


OK I can buy that. I should have complained about the notation when
the core spec was being put together. If you reference it that should
be fine.

Steve

2008/12/18 Andre Merzky <andre at merzky.net>:
> Quoting [Steve Fisher] (Dec 18 2008):
>>
>> >> I would like to be consistent - however the url here is not a string
>> >> but a SAGA URL object - so it cannot have a default value of "".
>> >
>> > Basically, it means that the URL would be created by giving
>> > an empty string to the URL's constructor.
>> >
>> > Thus
>> >
>> >  object (saga::url u = "");
>> >
>> > is a short form for
>> >
>> >  object (saga::url u = saga::url (""));
>> >
>> >
>> >
>> >> Whatever syntax is appropriate for an optional session parameter is
>> >> also good for an optional url parameter.
>> >
>> > Well, we describe the session parameter default explicitely
>> > in section 3.5.2 in the Core spec, but we do not describe it
>> > for other parameter types anywhere, in particular not for
>> > URL.
>>
>> This discoverer class should have has the same constructor as the
>> job_service. Where the spec says:
>
> Exactly!
>
>
>> CONSTRUCTOR (in session s,
>> in url rm = "",
>> out job_service obj);
>>
>> However the Java interface has got 3 "constructors" in the job factory
>> with arguments:
>>
>> (session, url)
>> (session)
>> ()
>>
>> I want the Java API to be like this but, for convenience,  with the addition of:
>>
>> (url)
>
> Sure, but that is a language binding issue.  And again, that
> probably should follow the language binding for the
> job_service, although I do not know how that is rendered in
> Java at the moment.
>
>
>> I am happy to express this in the spec with a single constructor with
>> 2 optional arguments - so our *only* concern is the precise notation.
>> I don't want to rely upon people having read section 3.5.2 of the main
>> spec to appreciate that session parameters are always optional and I
>> don't like a notation which implies using a url from the default
>> constructor being used to represent a default url.
>
> I added an explicit reference to section 3.5.2 and 2.2.2 of
> the core spec, where the handling of session, and of other
> default parameters, is descibed in some detailed.
>
> 2.2.2 says that default parameters are to expressed in the
> language bindings in a way native to the languge, and should
> give you enough freedom for Java.
>
> With that, is the notation precise enough for you?
>
> Best, Andre.
>
> ------------------------------------------
>    - CONSTRUCTOR
>      Purpose:  create a new discoverer object
>      Format:   CONSTRUCTOR     (in session session,
> !                                in url url = "",
>                                 out discoverer dis);
>      Inputs:   session:         session handle
>                url:             URL to guide the implementation
>      Outputs:  dis:             new discoverer object
>      Throws:   NotImplemented
>                IncorrectURL
> +               DoesNotExist
> +               AuthorizationFailed
> +               AuthenticationFailed
> +               TimeOut
>                NoSuccess
>      Notes:    - the url specified as in input parameter is to
>                  assist the implementation to locate the
>                  underlying information system such that it
>                  can be queried.
> +               - if the url is syntactically valid, but no
> +                 backend service can be contacted at that URL,
> +                 a 'DoesNotExist' exception is thrown.
> +               - the semantics for the other exceptions is as
> +                 outlined in the SAGA Core API specification.
> +               - note that the session parameter is optional,
> +                 as described in the SAGA Core API
> +                 specification, section 3.5.2.  Also Section
> +                 2.2.2 of the same document applies to
> +                 url and its default value.
> ------------------------------------------
>
>
>
> --
> Nothing is ever easy.
>


More information about the saga-rg mailing list