Бесконечная автоматизация

Sep 09, 2011 14:21

Конечные автоматы бывают разные. Есть генераторы исходного кода по схемам-описаниям, есть табличные исполнители, а есть неявные конечные автоматы. Они сложнее, но читаются как детективный роман -- со множеством веток предположений и откатов на исходные позиции, а так же с необходимостью найти на них время. Неявные конечные автоматы в разных проектах -- это то, что одновременно удерживает от прихода новых участников (нужно уметь раскручивать детективный сценарий) и позволяет глубже понять, что и как задумывалось. Разгадав очередной автомат, получаешь вполне осязаемое удовлетворение.
  1. Парсер конфигурационных файлов (.ini-файлов): начало, подкладывание очередного "трупа", обнаружение "трупа", раскрытие убийства. В качестве источника информации Шерлок использует очередь событий, связанную с конкретным парсером, в рамках процесса обработки эта очередь глобальна, все участники обработки имеют доступ ко всей информации, все происходит прямо на глазах у Ватсона.
  2. Авторизация пользователя или проверка прав доступа относительно сервера Kerberos V в обработчике PAM: начало. События имеют несколько уровней видимости, раскрытие преступления уже не разворачивается на глазах у Ватсона -- Шерлок постоянно общается с какими-то мутными посетителями, приносящими странные предметы и получающими какие-то не относящиеся, вроде бы, к основному расследованию, задания. При этом создается видимость бездействия сыщика, не делающего ничего до появления следующего посетителя. Асинхронная обработка событий кого угодно может запутать. К тому же, Шерлок активно пользуется своим опытом. Наконец, две (авторизация и проверка) основные ветки счастливого конца, которые все же могут довести и до цугундера.

ссылки, заметки-на-полях, cs, floss, scenarios, gplv3, рабочее, fun, quotes, цитаты

Previous post Next post
Up