Расширение приложения C # .NET - создавать собственный язык сценариев или нет?

Мне нужно создать сценарий для моей программы на C #, которая выполняет тестирование встроенного программного обеспечения на системном уровне.

Мое приложение содержит библиотеки для полного взаимодействия с устройствами. Существуют отдельные библиотеки для инициирования действий, получения выходных данных и отслеживания успеха / неудачи. Мое приложение также имеет графический интерфейс для управления несколькими устройствами и назначения многих сценариев для запуска.

Для тестировщиков (не программистов, но технических) мне нужно предоставить интерфейс сценариев, который позволит им предлагать различные сценарии для тестирования и запускать их. Они просто будут вызывать мои API и затем возвращать результат моей программе (pass / fail и message).

Очень простой пример того, что я хочу:

TURN_POWER_ON
TUNE_FREQUENCY frequency
WAIT 5
IF GET_FREQUENCY == frequency
  REPORT_PASS "Successfully tuned to " + frequency
ELSE
  REPORT_FAIL "Failed to tune to " + frequency
ENDIF
TURN_POWER_OFF

Где функции отчетности, питания и частоты предоставляются моими библиотеками C #.

Будет ли что-то вроде IronRuby или IronPython хорошо для этого или я просто создам свой очень простой язык?

Не нарушается ли код Ruby / Python при попытке включить несколько сборок .NET? Я хочу, чтобы это было легко изучать и кодировать как для непрограммистов, так и для программистов.

РЕДАКТИРОВАТЬ:

Спасибо за все отличные ответы. Я выбрал IronPython в качестве ответа, так как он получил наибольшую поддержку, но яЯ проведу немного времени с каждым из IronPython, Boo и IronRuby, чтобы увидеть, что тестировщики предпочтут писать сценарии.

Ответы на вопрос(9)

Ваш ответ на вопрос