Beispiel #1
0
        private object EvaluateObjectOrRetrieveFromCache(AbstractFusionObject fusionObject, string fusionPath, FusionAst fusionConfiguration, Cache.EvaluationContext cacheContext)
        {
            object output           = null;
            var    evaluateObject   = true;
            var    evaluationStatus = EvaluationStatus.Skipped;

            if (runtimeContentCache.preEvaluate(cacheContext, fusionObject, out object cachedResult))
            {
                return(cachedResult);
            }
            if (!EvaluateIfCondition(fusionConfiguration, fusionPath, fusionObject))
            {
                evaluateObject = false;
            }
            if (evaluateObject)
            {
                output           = fusionObject.Evaluate();
                evaluationStatus = EvaluationStatus.Executed;
            }
            lastEvaluationStatus = evaluationStatus;
            if (evaluateObject)
            {
                output = EvaluateProcessors(output, fusionConfiguration, fusionPath, fusionObject);
            }
            // TODO
            // runtimeContentCache.postProcess(cacheContext, fusionObject, output);
            return(output);
        }
        public static Client.EvaluationStatus ConvertEvaluationStatus(EvaluationStatus source)
        {
            switch (source)
            {
            case EvaluationStatus.InProgress:
            {
                return(Client.EvaluationStatus.InProgress);
            }

            case EvaluationStatus.Complete:
            {
                return(Client.EvaluationStatus.Complete);
            }

            case EvaluationStatus.Error:
            {
                return(Client.EvaluationStatus.Error);
            }

            default:
            {
                throw new ArgumentException($"Invalid value `{source}` for evaluation status was provided.", nameof(source));
            }
            }
        }
Beispiel #3
0
 public EvaluationTicket(EnvironmentGenome environmentGenome, List <AgentGenome> agentGenomesList, int focusPopIndex, int maxTimeSteps)
 {
     status = EvaluationStatus.Pending;
     this.environmentGenome = environmentGenome;
     this.agentGenomesList  = agentGenomesList;
     this.focusPopIndex     = focusPopIndex;
     this.maxTimeSteps      = maxTimeSteps;
 }
Beispiel #4
0
        void Start()
        {
            eStatus = EvaluationStatus.LOADING;
            PrintStatus();
            Global.App_datapath          = Application.dataPath;
            cr_options                   = new ContinuousResultOptions();
            cr_options.latencyFrameCount = 1;
            parameters                   = new configuartion_parameters_t(deviceType);
            knownThreshold               = Global.GetDatasetThreshold(deviceType);

            iteration_results = new Results();
            all_results       = new Results();
            user_results      = new Results();

            //
            // Load all data
            //
            participants         = Global.GetParticipantList(deviceType);
            participantsDataset  = new List <Dataset>();
            trainSets            = new List <List <Sample> >();
            participantsFrames   = new List <List <Frame> >();
            participantsCommands = new List <List <GestureCommand> >();
            jkTrainSets          = new List <List <Jackknife.Sample> >();

            long ts1 = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; // at beginning

            foreach (int external_PID in participants)
            {
                Dataset dataset = Global.load_subject_dataset(deviceType, external_PID);
                participantsDataset.Add(dataset);

                List <Frame> loadedFrames = new List <Frame>();
                Global.load_session(deviceType, external_PID, loadedFrames, dataset);
                participantsFrames.Add(loadedFrames);

                List <GestureCommand> commands = new List <GestureCommand>();
                GestureCommand.GetAllCommands(commands, dataset, deviceType, external_PID);
                participantsCommands.Add(commands);

                List <Sample> trainSet = Global.GetTrainSet(dataset, trainCount);
                trainSets.Add(trainSet);

                List <Jackknife.Sample> jkTrainSet = JackknifeConnector.GetJKTrainSet(trainSet);
                jkTrainSets.Add(jkTrainSet);
            }

            long ts2 = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond; // after loading

            Debug.Log(string.Format("Loaded participants data. Time elapsed: {0}s", (ts2 - ts1) / 1000.0));

            iteration = 0;
            currentParticipantIndex = 0;
            currentParticipantID    = participants[currentParticipantIndex];
            eStatus = EvaluationStatus.TRAINING;

            timeStats_Overall       = new RunningStatistics();
            timeStats_UserDependent = new RunningStatistics();
        }
Beispiel #5
0
 /// <summary>
 /// Indicates that the evaluation got canceled because of a cycle (or deadlock), and notifies any waiting threads
 /// </summary>
 public void Cancel(EvaluationStatus result)
 {
     Contract.Requires(result == EvaluationStatus.Cycle || result == EvaluationStatus.Crash);
     lock (this)
     {
         m_result |= result;
         m_event?.Set();
     }
 }
Beispiel #6
0
 public dtoCriterionForEvaluation(long id, String name, int display, EvaluationStatus status, Boolean invalid)
     : base()
 {
     Id           = id;
     DisplayOrder = display;
     Name         = name;
     Status       = status;
     IsInvalid    = invalid;
 }
 public CodeCellEvaluationFinishedEvent(
     CodeCellId codeCellId,
     EvaluationStatus status,
     bool shouldStartNewCell,
     IReadOnlyList <Diagnostic> diagnostics)
 {
     CodeCellId         = codeCellId;
     Status             = status;
     ShouldStartNewCell = shouldStartNewCell;
     Diagnostics        = diagnostics;
 }
Beispiel #8
0
    // public Vector3 ArenaBounds?
    //public ChallengeSettingsGenome challengeSettings;

    /*public EvaluationTicket(int[] genomeIndices, int focusIndex, int maxTimeSteps) {
     *  status = EvaluationStatus.Pending;
     *  //environmentRepIndex = environmentIndex;
     *  this.genomeIndices = genomeIndices;
     *  this.focusPopIndex = focusIndex;
     *  this.maxTimeSteps = maxTimeSteps;
     *  //challengeSettings = settings;
     * }*/

    public EvaluationTicket(EnvironmentGenome environmentGenome, List <AgentGenome> agentGenomesList, int focusIndex, int maxTimeSteps)
    {
        status = EvaluationStatus.Pending;
        //environmentRepIndex = environmentIndex;
        //this.genomeIndices = genomeIndices;
        this.environmentGenome = environmentGenome;
        this.agentGenomesList  = agentGenomesList;
        this.focusPopIndex     = focusIndex;
        this.maxTimeSteps      = maxTimeSteps;
        //challengeSettings = settings;
    }
Beispiel #9
0
        /// <summary>
        /// Internal evaluation method of absolute fusionPath
        /// </summary>
        /// <param name="fusionPath"></param>
        /// <param name="behaviorIfPathNotFound"></param>
        /// <param name="contextObject">The object which will be "this" in Eel expressions, if any</param>
        /// <returns></returns>
        protected object EvaluateInternal(string fusionPath, FailureBehavior behaviorIfPathNotFound, AbstractFusionObject contextObject = null)
        {
            var needToPopContext = false;
            var needToPopApply   = false;

            lastEvaluationStatus = EvaluationStatus.Executed;
            var fusionConfiguration = GetConfigurationForPath(fusionPath);
            var cacheContext        = runtimeContentCache.Enter(new Cache.FusionObjectCacheConfiguration(), fusionPath);

            var currentProperties = GetCurrentApplyValues();

            if (currentProperties.ContainsKey(fusionPath))
            {
                if (!EvaluateIfCondition(fusionConfiguration, fusionPath, contextObject))
                {
                    return(null);
                }
                return(EvaluateProcessors(currentProperties[fusionPath].Value, fusionConfiguration, fusionPath, contextObject));
            }

            if (!CanRenderWithConfiguration(fusionConfiguration))
            {
                FinalizePathEvaluation(cacheContext);
                ThrowExceptionForUnrenderablePathIfNeeded(fusionPath, fusionConfiguration, behaviorIfPathNotFound);
                lastEvaluationStatus = EvaluationStatus.Skipped;
                return(null);
            }
            object output = null;

            try
            {
                if (HasExpressionOrValue(fusionConfiguration))
                {
                    return(EvaluateExpressionOrValueInternal(fusionPath, fusionConfiguration, cacheContext, contextObject));
                }
                needToPopApply = PrepareApplyValuesForFusionPath(fusionPath, fusionConfiguration);
                var fusionObject = InstantiateFusionObject(fusionPath, fusionConfiguration);
                needToPopContext = PrepareContextForFusionObject(fusionObject, fusionPath, fusionConfiguration, cacheContext);
                output           = EvaluateObjectOrRetrieveFromCache(fusionObject, fusionPath, fusionConfiguration, cacheContext);
            }
            catch (Exception e)
            {
                FinalizePathEvaluation(cacheContext, needToPopContext, needToPopApply);
                // todo error handling
                Console.WriteLine(e.Message);
                // Console.WriteLine(e.StackTrace);
                // throw e;
            }
            FinalizePathEvaluation(cacheContext, needToPopContext, needToPopApply);
            return(output);
        }
Beispiel #10
0
    public object Deserialize(BsonReader bsonReader, Type nominalType, IBsonSerializationOptions options)
    {
        EvaluationResult er = new EvaluationResult();

        bsonReader.ReadStartDocument();
        er.Id = bsonReader.ReadObjectId();
        er.DurationInSeconds = bsonReader.ReadDouble();
        er.startTime         = BsonUtils.ToDateTimeFromMillisecondsSinceEpoch(bsonReader.ReadDateTime());
        er.endTime           = BsonUtils.ToDateTimeFromMillisecondsSinceEpoch(bsonReader.ReadDateTime());
        er.Result            = EvaluationStatus.Parse(bsonReader.ReadString());
        er.JSON = bsonReader.ReadString();
        bsonReader.ReadEndDocument();
        return(er);
    }
Beispiel #11
0
        //public dtoBaseEvaluation(Evaluation evaluation)
        //{
        //    Deleted = evaluation.Deleted;
        //    Id = evaluation.Id;
        //    Evaluated= evaluation.Evaluated;
        //    IdCommittee= evaluation.Committee.Id;
        //    IdEvaluator= evaluation.Evaluator.Id;
        //    IdSubmission= evaluation.Submission.Id;
        //    Status= evaluation.Status;
        //    DisplayName = (evaluation.Submission!= null && evaluation.Submission.Owner !=null) ? evaluation.Submission.Owner.SurnameAndName : " -- ";
        //    Anonymous = (evaluation.Submission==null || evaluation.Submission.isAnonymous || evaluation.Submission.Owner == null);
        //    SubmittedOn = (evaluation.Submission!= null) ? evaluation.Submission.SubmittedOn : null;
        //    EvaluatorName = (evaluation.Evaluator != null && evaluation.Evaluator.Person != null) ? evaluation.Evaluator.Person.SurnameAndName : "";
        //    //SubmittedBy = (evaluation.Submission != null && evaluation.Submission.SubmittedBy!=null ) ? evaluation.Submission.SubmittedOn : null;
        //}

        public dtoBaseEvaluation(lm.Comol.Modules.CallForPapers.Domain.Evaluation.Export.expEvaluation evaluation, String anonymousDisplayName, String unknownUserName)
        {
            Deleted      = evaluation.Deleted;
            Id           = evaluation.Id;
            Evaluated    = evaluation.Evaluated;
            IdCommittee  = evaluation.IdCommittee;
            IdEvaluator  = evaluation.IdEvaluator;
            IdSubmission = evaluation.IdSubmission;
            Status       = evaluation.Status;
            Anonymous    = (evaluation.Submission == null || evaluation.Submission.isAnonymous);
            DisplayName  = (Anonymous) ? anonymousDisplayName : ((evaluation.Submission.Owner == null) ? unknownUserName : evaluation.Submission.Owner.SurnameAndName);

            SubmittedOn     = (evaluation.Submission != null) ? evaluation.Submission.SubmittedOn : null;
            EvaluatorName   = (evaluation.Evaluator != null && evaluation.Evaluator.Person != null) ? evaluation.Evaluator.Person.SurnameAndName : unknownUserName;
            IdSubmitterType = (evaluation.Submission != null && evaluation.Submission.Type != null) ? evaluation.Submission.Type.Id : 0;
            //SubmittedBy = (evaluation.Submission != null && evaluation.Submission.SubmittedBy!=null ) ? evaluation.Submission.SubmittedOn : null;
        }
Beispiel #12
0
            /// <summary>
            /// Sets value and notifies any waiting threads
            /// </summary>
            public void SetValue(ref object value, EvaluationResult newValue)
            {
                // Contract.Requires(newValue != null);
                lock (this)
                {
                    // If we got canceled because of a deadlock or cycle, the only allowed value is the error value.
                    Contract.Assume(((m_result & EvaluationStatus.Cycle) == 0) || newValue.IsErrorValue);

                    // If the evaluation crashed, the only allowed value is the error value.
                    Contract.Assume(((m_result & EvaluationStatus.Crash) == 0) || newValue.IsErrorValue);

                    // If a value was already set, then we can only ever 'set' the same value again. This may happen in the case of cycles/deadlocks,
                    // where the error value is first set by a different thread that detected the cycle/deadlock, and then it's set again
                    // as the evaluation stack unwinds (minor implementation detail).
                    Contract.Assume(((m_result & EvaluationStatus.Value) == 0) || ((EvaluationResult)value).Value == newValue.Value);

                    value     = newValue;
                    m_result |= EvaluationStatus.Value;
                    m_event?.Set();
                }
            }
Beispiel #13
0
        internal Evaluation(
            CodeCellId codeCellId,
            EvaluationStatus status,
            EvaluationResultHandling resultHandling,
            object value,
            TimeSpan evaluationDuration = default,
            int cultureLCID             = 0,
            int uiCultureLCID           = 0,
            bool initializedIntegration = false,
            IReadOnlyList <AssemblyDefinition> loadedAssemblies = null)
        {
            CodeCellId     = codeCellId;
            Status         = status;
            ResultHandling = resultHandling;

            switch (value)
            {
            case null:
                ResultRepresentations = Array.Empty <object> ();
                break;

            case RepresentedObject representedObject:
                ResultType            = representedObject.RepresentedType;
                ResultRepresentations = representedObject;
                break;

            default:
                ResultType            = RepresentedType.Lookup(value.GetType());
                ResultRepresentations = new [] { value };
                break;
            }

            EvaluationDuration     = evaluationDuration;
            CultureLCID            = cultureLCID;
            UICultureLCID          = uiCultureLCID;
            InitializedIntegration = initializedIntegration;
            LoadedAssemblies       = loadedAssemblies ?? Array.Empty <AssemblyDefinition> ();
        }
Beispiel #14
0
 Evaluation(
     CodeCellId codeCellId,
     EvaluationStatus status,
     EvaluationResultHandling resultHandling,
     IRepresentedType resultType,
     IReadOnlyList <object> resultRepresentations,
     bool resultIsException,
     TimeSpan evaluationDuration,
     int cultureLCID,
     int uiCultureLCID,
     bool initializedIntegration,
     IReadOnlyList <AssemblyDefinition> loadedAssemblies)
 {
     CodeCellId             = codeCellId;
     Status                 = status;
     ResultHandling         = resultHandling;
     ResultType             = resultType;
     ResultRepresentations  = resultRepresentations;
     EvaluationDuration     = evaluationDuration;
     CultureLCID            = cultureLCID;
     UICultureLCID          = uiCultureLCID;
     InitializedIntegration = initializedIntegration;
     LoadedAssemblies       = loadedAssemblies;
 }
        //Private Methods:
        private void DetectBegin()
        {
            //sets:
            Plane backPlane = new Plane(InputNormal, transform.position);

            //entered button volume?
            foreach (var item in _evaluations)
            {
                //skip inactive items:
                if (float.IsNegativeInfinity(item.Value.current.x))
                {
                    continue;
                }

                //status:
                Vector3 onPlane         = backPlane.ClosestPointOnPlane(item.Value.current);
                float   onPlaneDistance = Vector3.Distance(transform.position, onPlane);

                //within radius?
                if (onPlaneDistance * 2 <= ScaledRadius)
                {
                    //status:
                    Vector3 hoverPlanePosition = InputNormal * (hoverDistance + ScaledTouchDistance) + transform.position;
                    float   zonePercentage     = MathUtilities.TraveledPercentage(transform.position, hoverPlanePosition, item.Value.current);

                    //within zones?
                    if (zonePercentage >= 0 && zonePercentage <= 1)
                    {
                        _activeStatus     = item.Value;
                        InteractionActive = true;
                        OnHoverBegin?.Invoke();
                        break;
                    }
                }
            }
        }
 public long GetEvaluationsCount(EvaluationStatus status)
 {
     return((Counters == null || !Counters.ContainsKey(status)) ? 0 : Counters[status]);
 }
 public dtoCommitteeEvaluationInfo()
 {
     Status = EvaluationStatus.None;
 }
Beispiel #18
0
 public long GetEvaluationsCount(EvaluationStatus status)
 {
     return(Evaluations == null ? ((long)0) :  Evaluations.Where(e => e.Status == status).Count());
 }
Beispiel #19
0
 public EvaluationResult(EvaluationStatus status, string rejectionReason = "")
 {
     Status       = status;
     RejectReason = rejectionReason;
 }
Beispiel #20
0
 public void NotifyEvaluationComplete(CodeCellId targetCodeCellId, EvaluationStatus status);
Beispiel #21
0
 public CodeCellEvaluationFinishedEvent(CodeCellId codeCellId, EvaluationStatus status, bool shouldStartNewCell, IReadOnlyList <Diagnostic> diagnostics);
 protected BaseEvaluation1D()
 {
     _status = EvaluationStatus.None;
 }
 public long GetEvaluationsCount(EvaluationStatus status)
 {
     return Evaluations.Where(e => e.Status == status).Count();
 }
Beispiel #24
0
        void Update()
        {
            if (eStatus == EvaluationStatus.TRAINING)
            {
                if (segmentorType == SegmentorType.MACHETE)
                {
                    Prepare();
                }
                else if (segmentorType == SegmentorType.WINDOW)
                {
                    PrepareWindow();
                }

                eStatus = EvaluationStatus.EVALUATING;
            }

            if (eStatus == EvaluationStatus.EVALUATING)
            {
                if (frame_idx > 1)
                {
                    // Time since last frame
                    timer += Time.deltaTime; // Total time
                    timeStats_UserDependent.add(Time.deltaTime);
                    timeStats_Overall.add(Time.deltaTime);
                }

                if (segmentorType == SegmentorType.MACHETE)
                {
                    Step();
                }
                else if (segmentorType == SegmentorType.WINDOW)
                {
                    StepWindow();
                }

                frame_idx += 1;
                if (frame_idx == frames.Count)
                {
                    eStatus = EvaluationStatus.SUMMARIZING;
                }
            }

            if (eStatus == EvaluationStatus.SUMMARIZING)
            {
                Summarize();
                eStatus = EvaluationStatus.TRANSITION;
            }

            if (eStatus == EvaluationStatus.TRANSITION)
            {
                iteration += 1;

                Debug.Log(string.Format("Iteration {2} User# {0}, (Participant {1}) Completed.\n",
                                        currentParticipantIndex, currentParticipantID, iteration));
                iteration_results.PrintF();
                user_results.AppendResults(iteration_results);
                // PrintTimes();
                iteration_results.Reset();

                // If all iterations are done, continue to next participant
                if (iteration == iterationCount)
                {
                    // Save results into a file and to all results
                    logResultsToFile("stats.csv", user_results, timeStats_UserDependent, "PID " + currentParticipantID);
                    all_results.AppendResults(user_results);

                    iteration = 0;
                    currentParticipantIndex += 1;

                    timeStats_UserDependent.reset();
                    user_results.Reset();
                }


                // If all participants done, we're finished
                if (currentParticipantIndex == participants.Count)
                {
                    Debug.Log("FINISHED");
                    eStatus = EvaluationStatus.FINISHED;
                    all_results.PrintF();

                    logResultsToFile("stats.csv", all_results, timeStats_Overall, "global");

                    timeStats_Overall.reset();
                    return;
                }

                eStatus = EvaluationStatus.TRAINING;
            }

            if (eStatus == EvaluationStatus.FINISHED)
            {
            }
        }
 public void NotifyEvaluationComplete(string targetCodeCellId, EvaluationStatus status)
 => GetSession().EvaluationService.NotifyEvaluationComplete(
     targetCodeCellId,
     status);
Beispiel #26
0
        static void OnCodeCellEvent(ICodeCellEvent codeCellEvent)
        {
            // NOTE: events may post to cells "out of order" from evaluation in
            // special cases such as reactive/IObservable integrations. This is
            // not handled at all in this simple console client since we just
            // append to stdout. Because of this, ignore "out of order" cell
            // events entirely. A real UI would render them in the correct place.
            if (lastCodeCellId != default && codeCellEvent.CodeCellId != lastCodeCellId)
            {
                return;
            }

            if (codeCellEvent is CodeCellEvaluationStartedEvent)
            {
                StartSpinner();
            }
            else
            {
                StopSpinner();
            }

            switch (codeCellEvent)
            {
            // a full UI would set cell state to show a spinner and
            // enable a button to abort the running evaluation here
            case CodeCellEvaluationStartedEvent _:
                break;

            // and would then hide the spinner and button here
            case CodeCellEvaluationFinishedEvent finishedEvent:
                lastCellEvaluationStatus = finishedEvent.Status;

                switch (finishedEvent.Status)
                {
                case EvaluationStatus.Disconnected:
                    RenderError("Agent was disconnected while evaluating cell");
                    break;

                case EvaluationStatus.Interrupted:
                    RenderError("Evaluation was aborted");
                    break;

                case EvaluationStatus.EvaluationException:
                    RenderError("An exception was thrown while evaluating cell");
                    break;
                }

                foreach (var diagnostic in finishedEvent.Diagnostics)
                {
                    RenderDiagnostic(diagnostic);
                }

                break;

            // and would render console output and results on the cell itself
            // instead of just appending to the screen (see "out of order" note)
            case CapturedOutputSegment output:
                RenderOutput(output);
                break;

            case Evaluation result:
                RenderResult(result);
                break;
            }
        }