-
Type: New Feature
-
Status: Deferred
-
Priority: Major
-
Resolution: Unresolved
-
Affects Version/s: CSD03
-
Fix Version/s: CSD05
-
Component/s: Profile-YAML
-
Labels:None
Currently in TOSCA, anyone who subclasses a Type (Node, Relationship, Data, Interface, etc.) is able to override the settings, behaviors (interfaces), operations (implementation artifacts), property defaults (values), etc. In all cases "override" is the default allowed behavoir. This is even allowed, in some cases for Templates that are based on Types.
In other words, there is no way for a Type designers to "lock in" or finalize their implementations, tested values, or behaviors.
In other languages the concept of finalization at the Type/class, Operations/method and property/variable levels is considered (typically through some keyword like "final"). In order for TOSCA Type system to be "future proof" and allow "experts" to "lock in" their carefully designed types, we need to consider such an option.