|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vitaly Lugovsky 2:5080/1003 10 Feb 2003 06:22:56 To : Zahar Kiselev Subject : Re: Правильный выбор инструмента -------------------------------------------------------------------------------- Zahar Kiselev <Zahar.Kiselev@p1.f382.n5030.z2.fidonet.org> wrote: > Тут уже не раз говорились совершенно правильные слова о выборе наиболее > соответствующего решаемой задаче инструмента. Проблема лишь в том, что > далеко не всегда бывает просто такой инструмент обнаружить. Это только > под виндами все знают "что чем делать". Пусть не всегда правильно знают, но > знают. А в случае линукса - обычно "разводят руками". > > Вот очередная задачка - она возникла не у меня, но хотелось бы помочь советом > хорошему человеку. > Есть электронное устройство, содержащее микроконтроллер и подключенное к > машине с Линуксом через ком-порт. Оно посылает некие байты и принимает некие > команды, реализуя некоторый специфический протокол общения. Соответственно > требуется написать программу, реализующую автомат с заданным множеством > состояний и возможных переходов между ними. Причем переходы > между состояниями(и соответствующие действия) должны выполняться не только > когда устройство что-то там прислало, но и когда оно _не_ прислало чего-то за > отведенный промежуток времени. В задаче спрашивается - как, с помощью чего, > рекомендуется писать программы подобного типа? Понятно, что можно наплодить > крайне запутанную конструкцию из множества "if ... then" и кучи меток > переходов. Hо может быть существует какой-то набор инструментов для написания > подобных программ? Любой язык с клозуриками и pattern matching-ом. ML, Haskell. State machines на этом деле пейсать - одно удовольствие. --- ifmail v.2.15dev5 * Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1464663a9a070.html, оценка из 5, голосов 10
|