示例#1
0
        //metodo que procura o estado inicial da Vfsm  e converte as informação para estado da FSM.
        private void AddInitialStateVfsmToFSM(Vfsm vfsm, FiniteStateMachine fsm)
        {
            State          stateInitial = new State();
            TransitionVfsm tVfsm        = GetStateInitialVfsm(vfsm.StateInitial, vfsm);
            String         name         = vfsm.StateInitial.Name;

            foreach (Variable v in tVfsm.ListGuardian)
            {
                name += v.Condition;
            }
            stateInitial.Name = name;
            stateInitial.Id   = vfsm.StateInitial.Id;
            fsm.InitialState  = stateInitial;
        }
示例#2
0
        //metodo que converte uma transição de uma VFSm para uma transição de uma FSM.
        private Transition ConvertToTransitionFSM(TransitionVfsm tVfsm, Vfsm vfsm)
        {
            Transition t = new Transition();

            t.Input  = tVfsm.Input;
            t.Output = tVfsm.Output;

            State sSource = new State();

            sSource.Name = Concatenate(vfsm.ListOfGuardian, tVfsm.Source);
            //sSource.Id = t.SourceState.Id;

            UpdateVariableCurrentVfsm(vfsm, tVfsm.ListNewGuardian);
            State Starget = new State();

            Starget.Name = Concatenate(tVfsm.ListNewGuardian, tVfsm.Target);
            //Starget.Id = t.TargetState.Id;
            t.SourceState = sSource;
            t.TargetState = Starget;

            return(t);
        }