Итак, прочитав эти вопросы здесь, и здесь у меня действительно нет других идей о том, как я хочу задайте этот вопрос, не объясняя мою ситуацию.
Примечание. Я новичок в проприетарных платформах в целом, так как имею опыт работы с бесплатным/открытым программным обеспечением.
По сути, у меня есть работающая программа для нашей собственной собственной платформы управления движением, которая использует сценарий с макросами для связи между программой на стороне пользовательского интерфейса и прошивкой на стороне контроллера движения. Документацией и разработкой всего задействованного программного обеспечения занимается дочерняя компания, и документация отсутствует/неполная, у нас есть поддержка от них, но они натянуты, имеют свои собственные продукты, 2700 миль, и не могу быть в доме по вызову для нас, у меня нет исходного кода / мне не разрешено иметь исходный код ни для основного приложения, ни для прошивки, и ДЕЙСТВИТЕЛЬНО убить его, наш последний, остался только настоящий программист. Мы одни с этим скриптом и множеством новых продуктов, которые зависят от того, как этот скрипт хорошо работает в программном обеспечении. Скрипт нуждается в серьезном, регулярном решении для проверки ошибок; для каждой настроенной машины, с которой мы используем эту систему контроллера движения.
Итак, я собираюсь начать отладку этого скрипта. Вот что здесь происходит.
Я попытался написать макет реализации bash, но степени рекурсии, массивы, извлеченные из файлов .ini, определенный системой набор команд и анализ сценария в прошивке; усложнили эту реализацию отладки bash, и я не уверен, что смогу полностью справиться с ней, не взломав важные вещи.
Я рассмотрел другие варианты, такие как ANTLR, который тоже немного выше моего понимания, но может сработать.
Теперь контроллер обменивается данными через некоторую перекрестную настройку Ethernet со статическим IPv4 (Telnet?), но имеет последовательный порт RS-232, который будет выводить отформатированные строки, которые анализируются из команды «sout». Я намеревался изменить скрипт так, чтобы он выводил как можно больше из форматированных строк с предопределенными системными командами и переменными, но я боюсь, что это не даст мне полной картины.
Сам сценарий определяет глобальные, системные и локальные переменные и функции, которые (поскольку они находятся на стороне контроллера движения с аппаратными ограничениями) могут быть вложены в 25 подпрограмм в глубину. Настоящие подвохи, похоже, заключаются в том, где рекурсивная сторона скрипта входит и выходит из этих функций, когда они вызываются из пользовательского интерфейса и других функций. Ничего не выпрыгивает, но без подробных документов я могу видеть только так много, и в значительной степени только что изучил все это с другим инженером, который задает вопросы дочерней компании.
Может ли кто-нибудь дать мне несколько советов относительно того, как я должен продолжать свои усилия? Я знаю, что это, вероятно, много, чтобы спросить, но я как бы застрял в колее и мне нужно больше когнитивных ресурсов, чем позволяют мои навыки и кофе.
Спасибо за уделенное время.