Rozszerzanie aplikacji C # .NET - zbuduj własny język skryptowy, czy nie?

Muszę zbudować interfejs skryptowy dla mojego programu C #, który wykonuje testowanie wbudowanego oprogramowania na poziomie systemu.

Moja aplikacja zawiera biblioteki do pełnej interakcji z urządzeniami. Istnieją oddzielne biblioteki do inicjowania działań, uzyskiwania danych wyjściowych i śledzenia sukcesu / niepowodzenia. Moja aplikacja ma również GUI do zarządzania wieloma urządzeniami i przypisywania wielu skryptów do uruchomienia.

Dla testerów (nieprogramiści, ale techniczni), muszę dostarczyć interfejs skryptowy, który pozwoli im wymyślić różne scenariusze do testowania i ich uruchomienia. Po prostu zadzwonią do moich API, a następnie zwrócą wynik do mojego programu (pass / fail i message).

Bardzo podstawowy przykład tego, czego chcę:

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

Gdzie funkcje raportowania, zasilania i częstotliwości są dostarczane przez moje biblioteki C #.

Czy coś takiego jak IronRuby lub IronPython będzie dobre do tego, czy powinienem po prostu zbudować swój własny bardzo podstawowy język?

Czy kod Ruby / Python staje się nieuporządkowany, gdy próbujesz dołączyć kilka skompilowanych zestawów .NET? Chcę, aby był łatwy do nauki i kodowania zarówno dla programistów, jak i programistów.

EDYTOWAĆ:

Dzięki za wszystkie wspaniałe odpowiedzi. Jako odpowiedź wybrałem IronPython, ponieważ miał on najwięcej wsparcia, ale spędzę trochę czasu z każdym z IronPython, Boo i IronRuby, aby zobaczyć, co testerzy wolą pisać skrypty.

questionAnswers(9)

yourAnswerToTheQuestion