позволить пользователю ввести уравнение, используемое для оценки данных телеметрии - PullRequest
1 голос
/ 05 октября 2010

В настоящее время у меня есть данные датчика, сбрасываемые в базу данных.Это необработанные данные, и к ним нужно применить уравнение, чтобы они имели какой-либо смысл для конечных пользователей.Проблема, с которой я столкнулся, заключается в том, что я еще не знаю большинство формул, а также хотел бы, чтобы программа была достаточно гибкой, чтобы при добавлении в систему нового датчика пользователь мог ввести уравнение калибровки, котороебыл бы в состоянии преобразовать необработанные данные во что-то полезное.

Я никогда не работал с тем, чтобы позволить пользователю вводить в уравнение для манипулирования данными.Буду признателен за любой вклад, который может помочь. В каком направлении я должен смотреть, должен ли я пробовать деревья лямбда-выражений, оценивать уравнение и компилировать его с использованием CodeDom или смотреть в другом направлении? Я никогда не делал много с деревьями лямбда-выражений или CodeDomи, как всегда, и в довольно сжатые сроки, так что кривая обучения имеет значение.У меня будет возможность вернуться и исправить это позже, им просто нужно, чтобы он работал и сейчас.

Спасибо за любой вклад.

Ответы [ 2 ]

1 голос
/ 05 октября 2010

Я настоятельно рекомендую FLEE для анализа / оценки выражения.У него есть собственный IL-компилятор, который испускает быстрый IL, у которого нет проблем с памятью, которые есть у CodeDOM.

Он также имеет желательный атрибут простоты программирования и расширения.

1 голос
/ 05 октября 2010

Я думаю, вам нужно посмотреть, что работает для вас.Я также подумал о двух, только чтобы узнать, что вы упомянули их.Я думаю, что другая альтернатива состоит в том, чтобы разрешить сохранение параметров нескольких основных формул (например, кубических, квадратичных, экспоненциальных, логарифмов, ...) и выбрать один из них для использования.лично используйте деревья выражений, потому что это самое чистое.Одной из проблем CodeDom является утечка памяти, вызванная компиляцией кода, особенно если пользователь изменяет код и строит формулу несколько раз.Одним из решений было бы загрузить скомпилированный код в отдельный домен приложения, а затем выгрузить весь домен приложения.

...