Addressing Derek's Comment from 07/Feb/12:
Ad „Un-typed/un-named interfaces"
It's no problem at all to associate a NAME attribute to the proposed <Interface> element. I don't get the point why you call operations „un-typed": operations have a name as well as input and output parms, i.e. they have a signature; admittedly, since we combine operations from completely different invocation styles, these signatures are not "beautiful".
We want to stay out of multiple inheritance as long as possible for avoiding complexity. Also, because an interface (as defined today) is coupled with a node type, we did not see a meaningful scenario in which a given node type inherits from multiple node types.
Your proposal (1) seems to imply that we add a means to define interfaces separately. Wouldn't this be yet another interface description language? Well, yes, the Interface element is some sort of IDL, but it's coupled with a node type, i.e. it cannot be viewed as "yet another IDL".
Ad "Hardcoding operation implementation style at meta level"
Admittedly, I don't quite get the point, but I try a response: An operation may be associated with multiple implementations (i.e. <ImplementationArtifact> elements). And issue TOSCA-5 proposes to allow implementation artifacts also at the node template level (to override, add to,... the implementation artifacts defined at the node type level). Is that what you are looking for?
Ad "Mixing of WSDL, REST, and Script in same interface"
From a definitional point of view changing an implementation from one style to another is ok: you just redefine the interface by dropping the old style and adding the new style. But this change has "governance" implications in case the operation is already in use by some plans. Supporting an operation in more than one style in fact requires defining separate operations.
Remark: Exchanging implementations of an operation without impacting the operation itself could be done based on WSDL bindings (which is not what we propose). But this would imply a different style of interface definition in TOSCA (and additional definitions in WSDL like REST- and Script-bindings) and would introduce an ESB as prereq for a TOSCA environment. Again: this is not what we propose.
The purpose of operations is to be used by tasks in plans. For this purpose, a human being (the "plan deployer") has to "bind" appropriate operations to all tasks - which is the usual proceeding today. This human being has to find corresponding operations, i.e. typically, there is no automatism involved. From this point of view, a canonicalization doesn't seem to be necessary.
Ad "Script operations..."
We would appreciate help by TC members for a detailed description of all the information required for script operations.
I added a proposal for resolving this issue: http://www.oasis-open.org/apps/org/workgroup/tosca/download.php/45048