Background question on working assumptions about TOSCA types.

From
Thomas Spatzier <>
Date
2013-06-07T07:03:00+00:00
ID
Thread
Background question on working assumptions about TOSCA types.
Hi Dale,  some inline comments from my perspective below ...  Regards, Thomas  <> wrote on 06.06.2013 20:16:17:
>
From: Dale Moberg <>
>
To: "" <-
> open.org>,
>
Date: 06.06.2013 20:15
>
Subject: [tosca-interop] Background question on working assumptions
> about TOSCA types.
> Sent by: <> >
> Hi, >
> Last Monday someone brought up whether we should think about TOSCA
> types as something like JS prototypes or more like OO classes. >
> This question made me realize that I did not know what we are/were/
> will be assuming about TOSCA types, but I hope it will be something
> simple and not involve us in something like the “Lambda cube”  and > “Rank-N polymorphism” and the all the distinctions of the
> programming-language, type theorists behind Coq, ML, F, Haskell and the like. >
> Here is what I had been assuming we meant by TOSCA types: >
> 1. types can have subtypes
> 2. there is inheritance  by subtypes.
> 3. subtypes inherit from at most one supertype (no multiple
> inheritance, no diamond)  Agree on all 3.  >
> Some things unclear to me from our documentation so far: >
> 1. can anything (method,variable,value,default,etc.) be overridden
> in a subtype?  I did look at the spec, but from what I recall from writing most of it I think that a subtype can override everything. In some cases, there are constraints, though. For example, when a supertype defines a capability of type A with name "mycap", a subtype can only refine "mycap" with a capability of type B that derives from A.
> 2. if there are abstract types, how do we tell when a type can be
> the type of, for example, a given node template? (we have 3 levels
> now, is the first level abstract and the other two concrete enough
> to have instances?)  So in my mental model, a Node Template can always be of an abstract type. You can only not directly instantiate it. A TOSCA container will have to find a replacement for the abstract type at the latest during deployment. That replacement must be a non-abstract type that derives from the abstract type referenced by the Node Template.  >
> I reserve the right to ask a few more questions depending on what
> answers I hear! > > [Matt, I have not finished all your slides, and maybe the answers
> were implicit somewhere, but I wasn’t smart enough to extract them.] >
> Bye
> Dale Moberg > > > > >