Exemplo n.º 1
0
        public static EventModel GetEventModel(this PlanningParser.EventModelContext context,
                                               IReadOnlyDictionary <string, Event> eventDict, StringDictionary assignment)
        {
            EventModel result = new EventModel(context, eventDict, assignment);

            return(result);
        }
Exemplo n.º 2
0
        public EventModel(PlanningParser.EventModelContext context, IReadOnlyDictionary <string, Event> eventDict, StringDictionary assignment)
        {
            MaxPlausibilityDegree = context.LB() == null ? 0 : 1;

            GenerateEventArray(context, eventDict, assignment);
            GenerateBelievePrecondition();
            GenerateBelievePssa();
            GenerateKnowPrecondition();
            GenerateKnowPssa();
        }
Exemplo n.º 3
0
        private void GenerateEventArray(PlanningParser.EventModelContext context, IReadOnlyDictionary <string, Event> eventDict, StringDictionary assignment)
        {
            if (MaxPlausibilityDegree == 0)
            {
                _believeEventArray = context.gdEvent().ToEventCollection(eventDict, assignment);
                _knowEventArray    = _believeEventArray;
            }
            else
            {
                _believeEventArray = context.plGdEvent(0).gdEvent().ToEventCollection(eventDict, assignment);
                var eventArray1       = context.plGdEvent(1).gdEvent().ToEventCollection(eventDict, assignment);
                int eventArray0Length = _believeEventArray.Length;
                int eventArray1Length = eventArray1.Length;

                _knowEventArray = new Event[eventArray0Length + eventArray1Length];
                Array.Copy(_believeEventArray, _knowEventArray, eventArray0Length);
                Array.Copy(eventArray1, 0, _knowEventArray, eventArray0Length, eventArray1Length);
            }
        }