Note: Nonoccurrence features that should be vars (including "top-level" features) require a constraint on occurrences to make them var. Readonly features (must be vars) Links::Link:participant:Anything[2..*] nonunique ordered; Links::BinaryLink::source/target: Anything[0..*] nonunique subsets participant; Another data point for the JIRA discussion on participants as (non) vars. Metaobjects::Metaobject::annotatedElement:Element[1..*] Metaobjects::SemanticMetadata::redefines annotatedElement : Type[1] Clocks::universalClock:UniversalClockLife[1] Observation::defaultMonitor[1] : DefaultMonitorLife SpatialFrames::feature defaultFrame : DefaultFrameLife[1] Above are domain Anything ("top level"). Must be const to prevent deleting the (single) *Life, then immediate recreating and "resetting" feature (logically possible). Readonly on occurrence features: Transfers::Transfer:isInstant/isMove/isPush: Boolean[1] StatePerformances::StatePerformance:incomingTransitionTrigger : MessageTransfer [0..1] default null "Root" features on non-occurrences, all "top-level" (intended to "change" over time) Base::things: Anything [1..*] nonunique Base::dataValues: DataValue[0..*] nonunique subsets things Base::naturals: ScalarValues::Natural[0..*] subsets dataValues Could these change dynamically? Base::zeroOrOne [0..1] (multiplicity) Base::oneToMany [1..*] (multiplicity) Base::zeroToMany [0..*] (multiplicity) Links::links: Link[0..*] nonunique subsets things Links::binaryLinks: BinaryLink[0..*] nonunique subsets links Links::selfLinks: SelfLink[0..*] nonunique subsets binaryLinks Could these change dynamically? Metaobjects::feature metaobjects : Metaobject[0..*] :> objects Occurrences::occurrences: Occurrence[0..*] nonunique subsets things; Occurrences::earlierFirstIncomingTransferSort : IncomingTransferSort Objects::objects: Object[0..*] nonunique subsets occurrences { Objects::linkObjects: LinkObject[0..*] nonunique subsets links, objects intersects links, objects { Objects::binaryLinkObjects: BinaryLinkObject[0..*] nonunique subsets binaryLinks, linkObjects Performances, Transfers:: Assuming these top-level steps, exprs, transfers, flows are non-vars (at least for steps, transfers, and flows, since theire specializations will be linked by successions).