некоторую неуверенность в нужном для нее результате экзамена.
«А что там с теоретической работой? Может, там есть что-то интересное?» — пришла в голову мысль. Дитрия бросила взгляд на стол и увидела папку в специальной обложке с материалами по претенденту, лежащую рядом с Мондридом. В единственном экземпляре! «Так-так…» — Она прищурилась. Еще одна непонятная ситуация. Обычно письменную работу ученика размножают по количеству принимающих экзаменаторов, каждому по личному экземпляру. Да, явно Руархид и его начальник разведки что-то мутят.
— Мондрид, будь лапочкой, подай мне работу нашего экзаменуемого. — Дитрия наклонилась к сидящему рядом с ней гному и мило улыбнулась, отчего того перекосило. Ненависть между гроссмейстершей интеграционной магии с ее соратниками и помощниками архимага была явно взаимной, хотя открыто на конфликт ни те, ни другие не шли.
— Конечно, Дитрия. — Начальник разведки справился с собой, вернул невозмутимое выражение лица и спокойно пододвинул к ней работу экзаменуемого.
— Благодарю. Ты такой милый, когда хочешь этого, — промурлыкала та. Какое удовольствие выводить эту чопорную, но такую симпатичную физиономию из себя. И, что самое приятное, ей это удавалось очень хорошо. Мужчины такие предсказуемые, особенно играющие в начальников.
— Перестань, — покосился на нее Мондрид. — Надеюсь, ты не забыла о разговоре в отношении Ника?
— Ну что ты, — мягко проговорила Дитрия, — как я могу в чем-то тебе отказать?
Мондрид ничего не ответил и недовольно отвернулся.
Дитрия, улыбаясь про себя, открыла папку с теоретической работой и погрузилась в чтение.
Умеют же магичить эльфы! Я ходил рядом с плетением и любовался, разглядывая его при помощи маго— и инфозрения. Это была изящная сетка наподобие фигуры Лиссажу с очень мелкими ячейками, накинутая на землю. Элегантное решение: нарисовать сетку единственным гармоническим росчерком, а потом дополнительно укрепить узлы, заставив их анализировать колебания нитей. По траектории прорисовки пробегали всполохи энергетических всплесков. Очень похоже на волну, запускаемую периодически по общей шине, изменение амплитуды которой генерируют датчики-узлы, сообщая тем самым об изменении влажности почвы. Очень изящно и аккуратно! Центральный узел выглядел явно крупнее остальных.
«Ты видишь, Умник?» — оторопело поинтересовался я. Казалось, любые потуги что-то там изменить и подсоединить неизбежно нарушат лаконичную элегантность плетения.
«Да, — подтвердил искин и добавил: — Ник, тебе самому трудновато будет тут что-то интегрировать. Увы, но ты пока слишком грубо работаешь с плетениями и, скорее всего, запорешь работу».
В соответствии с моим мысленным пожеланием Умник вывел при помощи бадди-компа перед моими глазами диаграмму, отражающую архитектуру самой сетки, отдельного датчика и главной конструкции. При этом часть фрагментов картинки мигала немного раздражающим красным пунктиром. Так мы с Умником в свое время договорились обозначать на диаграммах фрагменты плетений, которые пока не очень соответствуют разработанной нами модели магии. Таких кусочков было больше чем достаточно.
«Умник, — я тут же мысленно ткнул пальцем в один из них, — ты говорил, что учтешь в модели и особенности магии других стихий, кроме земли?»
«Сам же меня загрузил другими работами», — проворчал в ответ электронный кудесник.
«Угу», — согласился я, раздумывая над задачкой. Умник был прав. Соваться в эту красоту моими пока еще кривоватыми магическими ручками было бессмысленно. Все равно что пытаться выправить погнутую шестеренку в красивых механических настенных часах с помощью домашнего молотка, которым забивают гвозди в стену. Может, что-то там даже и выправится, но часы точно работать не будут. К тому же в плетении слишком много не проработанных нашей моделью магии фрагментов. И мне довольно сложно угадывать в пока не слишком знакомой области эльфийской магии, что разработчики имели в виду, добавляя непонятные куски в магоформу. А Умник все-таки универсал. И там, где мы пока не очень понимаем местные магические выкрутасы, ему всегда помогает знание инфомагии и способность эффективно получать информацию из инфосети. Надеюсь, после полета в точку фокуса у меня самого появятся эти полезные умения. А пока…
«Ладно, Умник, — согласился я, — твой выход. Только описывай каждый свой шаг и консультируйся со мной». Я сел на землю рядом с площадкой, контролируемой эльфийским плетением, в позу лотоса, закрыл глаза, отключился от окружающего мира и стал смотреть, как Умник будет разбирать и корежить изделие детей леса.
«Так, смотри, — начал Умник, разворачивая у меня перед глазами картинку, выделяя стрелками и свечением части плетения, о которых ведется речь, — это датчики влажности. Физика способа, которым они контролируют почву, не очень ясна, но это в данный момент неважно».
«Почему?» — тут же удивился я. Большой опыт программиста мне подсказывал, что мелочей на самом деле не бывает. Когда нужно интегрировать чужую разработку с собственной, а интерфейсы и протоколы обмена информацией не очень подходят, порой какая-нибудь мелочь позволяет эффективно решить задачу.
Конечно, правильнее объединять в единое целое любой софт, чужой и свой, на основе объектно- ориентированного подхода, переписывая куски, которые этим принципам не соответствуют. Результат всегда получается намного более качественным. Но, увы, жизнь редко соответствует идеальным правилам. Порой важно, чтобы программа заработала как можно скорее. И пусть ее поведение будет не слишком надежным, пусть отдельные подсистемы будут соединены довольно коряво и временами станут сыпаться, но важно, чтобы какой-то полезный результат был здесь и сейчас, а не через неделю или месяц работы над нормальной интеграцией.
«Потому, — ответил Умник, — что при демонстрации действия плетения в самом начале я снял все протекающие в датчиках процессы на магическом уровне, как при активации, так и при деактивации. Теперь их даже включать повторно не надо — и так понятно, что они делают и какие магические сигналы генерируют в тех или иных случаях. Или мне следует подробно раскопать и объяснить сами плетения- датчики?»
«Нет, не надо, — согласился я со своим помощником. Тратить время на копание в мелочах явно не стоило. — Ты прав. Сейчас у нас другая задача. Однако эти эльфийские датчики, контролирующие внешнюю среду, — штука очень интересная и полезная в будущем. Обязательно занеси эти плетения в базу данных. Потом мы с тобой как-нибудь подробно разберем все магоформы».
«Хорошо, — подтвердил исполнение моего распоряжения искин. — Продолжаем. Ключевой для нас элемент плетения — узел в его центре. Собственно, так располагаются не одна, а две целых две конструкции, два крупных тесно связанных друг с другом управляющих модуля. Один из них явно выполняет функцию концентратора сети. Он периодически генерирует импульсы, проходящие по сети, соединяющей датчики, и воспринимает ответные. Видимо, так и добывается информация о влажности. Концентратор обеспечивает проверку состояния всех датчиков. Акцент, судя по всему, делается на суммарное изменение амплитуды волны. Каждый из датчиков, фиксируя степень влажности почвы, чуть-чуть ослабляет импульс. Поэтому, послав импульс достаточной силы по одной нити, который росчерком пропутешествует по всей сети, и сравнив с эталоном его отклик, пришедший по соседней, концентратор может определить среднее состояние увлажнения почвы. При этом (с учетом того что отклик приходит по всем четырем нитям, входящим в концентратор) есть возможность определить и конкретный датчик, в котором произошло нарушение ситуации. Впрочем, в данном случае последнее не требуется. Ведь свечение должно появляться только в том случае, если почва полностью подсохла или, наоборот, переувлажнена, а не тогда, когда только один датчик сигнализирует о сухости».
«Ага, компаратор». Я мысленно покивал.
«Ну что-то вроде того… — подтвердил Умник. — В нем срабатывает одно подобие реле, когда влажность избыточна, и другое — когда недостаточна. Сигнал поступает на второй управляющий узел и активирует его. При этом будет гореть красный, зеленый или фиолетовый свет в зависимости от сигнала».