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

Profile

abbra: (Default)
abbra

April 2016

S M T W T F S
     12
3456789
1011121314 1516
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 22nd, 2017 01:21 pm
Powered by Dreamwidth Studios