[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [tosca-interop] Background question on working assumptions about TOSCA types.
Hi Dale, some inline comments from my perspective below ... Regards, Thomas <tosca-interop@lists.oasis-open.org> wrote on 06.06.2013 20:16:17: > From: Dale Moberg <dmoberg@axway.com> > To: "tosca-interop@lists.oasis-open.org" <tosca-interop@lists.oasis- > open.org>, > Date: 06.06.2013 20:15 > Subject: [tosca-interop] Background question on working assumptions > about TOSCA types. > Sent by: <tosca-interop@lists.oasis-open.org> > > 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 > > > > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]