abstract xor EventOptions PresentInWhole PresentInRemainder PresentInNextComboStep PresentInNextSmallStep PresentInSame [BSML.Semantics.ConcurrencyAndConsistency.Concurrency.Many] abstract BSML Syntax Events? [Semantics.EventLifeLine] EventTriggers? EnvironmentalInputEvents? [Semantics.EventLifeLine.ExternalEvents.ExternalInputEvents.ExternalInputEventOptions.SyntacticInputEvents] NegatedEnvironmentalnputEvents? [Semantics.Priority.NegationOfTriggers] InterfaceEvents? [Syntax.Events.GeneratedEvents.GeneratedInterfaceEvents] [Semantics.EventLifeLine.InterfaceEvents] NegatedInterfaceEvents? [Semantics.Priority.NegationOfTriggers] NegatedEvents? [Semantics.Priority.NegationOfTriggers] GeneratedEvents? EnvironmentalOutputEvents? [Semantics.EventLifeLine.ExternalEvents.ExternalOutputEvents.ExternalOutputEventOptions.SyntacticOutputEvents] GeneratedInterfaceEvents? [Syntax.Events.EventTriggers.InterfaceEvents] Variables? VariableOperators // in Day & Atlee, this is an optional feature, but it may not have to be optional because all its nested clafers are optional too. new? [Semantics.OrderOfSmallSteps.Dataflow] [Semantics.EnablednessMemoryProtocol.InternalVariablesInGC.GCBigStep || Semantics.EnablednessMemoryProtocol.InternalVariablesInGC.GCSmallStep || Semantics.AssignmentMemoryProtocol.InternalVariablesInRHS.RHSBigStep || Semantics.AssignmentMemoryProtocol.InternalVariablesInRHS.RHSSmallStep] new_small? [Semantics.EnablednessMemoryProtocol.InternalVariablesInGC.GCSmallStep || Semantics.AssignmentMemoryProtocol.InternalVariablesInRHS.RHSSmallStep] cur? [Semantics.EnablednessMemoryProtocol.InternalVariablesInGC.GCBigStep || Semantics.AssignmentMemoryProtocol.InternalVariablesInRHS.RHSBigStep] pre? [Semantics.EnablednessMemoryProtocol.InternalVariablesInGC.GCSmallStep || Semantics.AssignmentMemoryProtocol.InternalVariablesInRHS.RHSSmallStep] VariableAssignments? [Semantics.AssignmentMemoryProtocol] EnvironmentalOutputVariablesInLHS? InterfaceVariablesInRHS? [Semantics.AssignmentMemoryProtocol.InterfaceVariablesInRHS] EnvironmentalInputVariablesInRHS? GuardConditions? [Semantics.EnablednessMemoryProtocol] InterfaceVariablesInGC? [Semantics.EnablednessMemoryProtocol.InterfaceVariablesInGC] EnvironmentalInputVariablesInGC? ControlStates? Hierarchical? And? [Semantics.ConcurrencyAndConsistency] Stable? [Semantics.BigStepMaximality.Syntactic] ComboStable? [Semantics.ComboStepMaximality.ComboSyntactic] Semantics xor BigStepMaximality Syntactic [Syntax.ControlStates.Stable] TakeOne TakeMany xor ComboStepMaximality ? // Need any other combo-step semantic option for this to have meaning: [Semantics.EventLifeLine.InternalEvents.PresentInNextComboStep || Semantics.EventLifeLine.ExternalEvents.ExternalInputEvents.EventOptions.PresentInNextComboStep || Semantics.EventLifeLine.ExternalEvents.ExternalOutputEvents.EventOptions.PresentInNextComboStep || Semantics.EnablednessMemoryProtocol.InternalVariablesInGC.GCComboStep || Semantics.AssignmentMemoryProtocol.InternalVariablesInRHS.RHSComboStep] // Options: ComboSyntactic [Syntax.ControlStates.ComboStable] ComboTakeOne ComboTakeMany [not Semantics.BigStepMaximality.TakeOne] ConcurrencyAndConsistency ? [Syntax.ControlStates.Hierarchical.And] xor Concurrency Single Many xor SmallStepConsistency SourceDestinationOrthogonal ArenaOrthogonal xor Preemption NonPreemptive Preemptive EventLifeLine ? [Syntax.Events] InternalEvents : EventOptions ExternalEvents ? ExternalInputEvents ? EventOptions : EventOptions xor ExternalInputEventOptions SyntacticInputEvents [Syntax.Events.EventTriggers.EnvironmentalInputEvents] ReceivedEventsAsEnvironmental HybridInputEvents ExternalOutputEvents ? EventOptions : EventOptions xor ExternalOutputEventOptions SyntacticOutputEvents [Syntax.Events.GeneratedEvents.EnvironmentalOutputEvents] LastComboStepGeneratedEvents LastSmallStepGeneratedEvents HybridOutputEvents xor InterfaceEvents ? [Syntax.Events.EventTriggers.InterfaceEvents] StrongSynchronousEvent WeakSynchronousEvent AsynchronousEvent EnablednessMemoryProtocol ? [Syntax.Variables.GuardConditions] xor InternalVariablesInGC GCBigStep GCSmallStep GCComboStep xor InterfaceVariablesInGC ? [Syntax.Variables.GuardConditions.InterfaceVariablesInGC] GCStrongSynchronousVariable GCWeakSynchronousVariable GCAsynchronousVariable AssignmentMemoryProtocol ? [Syntax.Variables.VariableAssignments] xor InternalVariablesInRHS RHSBigStep RHSSmallStep RHSComboStep xor InterfaceVariablesInRHS ? [Syntax.Variables.VariableAssignments.InterfaceVariablesInRHS] RHSStrongSynchronousVariable RHSWeakSynchronousVariable RHSAsynchronousVariable xor OrderOfSmallSteps ? None ExplicitOrdering Dataflow [Syntax.Variables.VariableOperators.new] Priority ? Hierarchical? [Syntax.ControlStates.Hierarchical] ExplicitPriority? NegationOfTriggers? [Syntax.Events.EventTriggers.NegatedEvents || Syntax.Events.EventTriggers.InterfaceEvents.NegatedInterfaceEvents || Syntax.Events.EventTriggers.EnvironmentalInputEvents.NegatedEnvironmentalnputEvents] // Let's say in SCCD, we always have a minimum of syntactic features SCCD : BSML [Syntax.Events] [Syntax.ControlStates.Hierarchical.And] [Syntax.Variables.VariableAssignments] [Syntax.Variables.GuardConditions] currentlySupported : SCCD [PresentInNextSmallStep || PresentInNextComboStep] [SyntacticInputEvents] [SyntacticOutputEvents] // validConfiguration : BSML // [PresentInSame] // [ComboTakeMany] // invalidConfiguration : BSML // [PresentInSame] // [not Concurrency]