STIX 1.2.1 contains a set of abstract base types for each "top-level" construct except Observable (which leverages CybOX directly). Each of the "top-level" objects derive from these abstract base types and the abstract base types are leveraged wherever relationships to the "top-level" object concepts are needed.
These abstract base types were included in STIX for 3 reasons:
- to support the potential desire of some user to leverage a completely different implementation for one of the "top-level" concepts rather than the STIX default implementation (e.g. IODEF instead of STIX Incident).
- to support the potential desire of some user to leverage a specialized derivation of one of the default STIX implementations of the "top-level" concepts (e.g. the secret squirrel community wishing to leverage a Threat Actor++ implementation with some domain specific properties unique to them).
- to enable loose coupling of the various "top-level" default implementations in the very explicit domain of XSD Schema serialization
Propose removing these abstract base types as unnecessary due to the following:
STIX 1.2.1 contains a set of abstract base types for each "top-level" construct except Observable (which leverages CybOX directly). Each of the "top-level" objects derive from these abstract base types and the abstract base types are leveraged wherever relationships to the "top-level" object concepts are needed.
These abstract base types were included in STIX for 3 reasons:
Propose removing these abstract base types as unnecessary due to the following: