Декларативная языковая поддержка в.NET
Я разрабатываю механизм моделирования с помощью Visual Studio, который будет предлагать поддержку для моделирования бизнес-процессов. Одной из ключевых функций будет декларативный язык, который позволит бизнес-пользователям быстро настроить имитационную модель. Я приведу очень краткий пример того, что я имею в виду:
initialise simulation.
create 100 resources.
create 50 jobs.
create 2 teams of resources.
start simulation with 10 runs.
Поэтому я хотел бы, чтобы что-то похожее на вышеприведенное в Visual Studio использовалось для определения имитационных моделей. Теперь я знаю, как сделать это с другими средами, такими как java и groovy, но мне нужно разработать его в VS, поскольку это то, что использует моя компания. Любые идеи относительно того, что я могу найти в VS?
Приветствия.
2 ответа
Поскольку вы упомянули Groovy, я бы подумал, что IronPython или IronRuby вполне подойдут. Предполагается, что Ruby хорошо подходит для программирования DSL (предметно-ориентированный язык).
Windows Workflow Foundation (WF) - это не совсем симулятор или язык симуляции, но платформа поддерживает декларативное программирование и надежную разработку программного обеспечения (которые могут быть настроены для выполнения симуляции).
Visual Studio 2010 (VS2010) поставляется с WF, который позволяет пользователям создавать программы или долго выполняющиеся процессы в виде последовательности задач (или рабочего процесса). Рабочий процесс WF может быть декларативно выражен на языке разметки XML, называемом XAML, или с помощью инструмента визуального конструктора, или процедурно через язык, поддерживаемый.NET, такой как C# или VB.NET. Все вышеперечисленные подходы поддерживаются в VS2010.
WF обеспечивает надежную среду выполнения, которая поддерживает различные блоки действий в рабочем процессе для асинхронного запуска. Кроме того, текущая WF также имеет поддержку обмена сообщениями через веб-службу или службы WCF и интеграцию данных с источниками данных через ADO.NET и другие.NET каркасы данных. Приложение, управляемое сообщениями или данными, может быть интегрировано в рабочий процесс WF.