Exemple #1
0
            public TlaTransition(int id, TlaState from, TlaState to, TlaFormula condition)
            {
                this.Id        = id;
                this.FromState = from;
                this.ToState   = to;
                this.Condition = condition;

                to.RegisterIncoming(this);
                from.RegisterOutgoing(this);
            }
Exemple #2
0
        private void RemoveState(TlaState state)
        {
            _statesById.Remove(state.Id);
            _statesByName.Remove(state.Name);

            foreach (var t in state.Outgoings)
            {
                _statesById[t.ToState.Id].UnregisterIncoming(t);
                _allTransitions.Remove(t);
            }
        }
Exemple #3
0
        public ITlaState CreateState(string name, bool isInitial, bool isAccepting)
        {
            var state = new TlaState(this, _statesById.Count, name, isInitial, isAccepting);

            _statesById.Add(state.Id, state);
            _statesByName.Add(state.Name, state);

            if (isInitial)
            {
                _initialStates.Add(state);
            }

            if (isAccepting)
            {
                _acceptingStates.Add(state);
            }

            return(state);
        }