Skip to content

ThingModels should not define "required" affordances in derived TDs, but "optional" ones  #1400

@thjaeckle

Description

@thjaeckle

During discussion in #1384 several opinions agreed upon that defining optional affordances in ThingModels would be a more intuitive way than defining required ones (as currently defined with tm:required).

To summarize the discussion in #1384:

  • proposal: by default every affordance defined in a TM should be required to be present in a TD following that model
  • the current default (if tm:required is omitted/forgotten) is, that everything is optional
    • everything being optional means that a TD can "implement" a TM without providing any affordance of the TM - making the TM kind of "useless"
    • analogy to "interfaces" in programming languages: implementing an interface / abstract class without providing any abstract method in it
  • by default, modelers of TMs will likely do not consider adding required affordances to tm:required

So a simple proposal would be to have an element tm:optional with the same syntax than the current tm:required.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Thing ModelTopic related to Thing ModelsV1.1should be resolved in v1.1

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions