Продолжение
серии постов об онтологиях.Те факторы, которые проблематичны уже в межчеловеческом общении, создают намного более серьёзные барьеры при обмене информацией между техническими процессами. В большинстве случаев при создании программ разработчики выбирают самый простой путь: они встраивают интерпретацию получаемых программой данных в процесс их обработки. К примеру, сервис, занимающийся поиском авиабилетов, получив от сервера авиакомпании значение
[max_free_luggage=20]
, интерпретирует его как "максимальный вес бесплатного багажа в килограммах". Пассажир, чей багаж весит 25 кг, такой билет не купит, потому что не видит, что сервис проигнорировал второй, неизвестный ему параметр
[max_luggage_pieces=2]
, означавший, что вышеуказанный вес был определён для каждого из
двух включённых в цену чемоданов. Хуже, если пассажир купит билет, упакует 18-килограммовый чемодан и уже в аэропорту узнает, что максимальный вес был указан действительно за все чемоданы, но
в фунтах. И если вы полагаете, что доплата за лишние 9 кг в этом случае - это мелочь, то подумайте о космическом аппарате NASA
"Mars Climate Orbiter" стоимостью 125 миллионов долларов (это не считая стоимости исследовательских работ), который сгорел в марсианской атмосфере именно из-за того, что с Земли ему передали данные в британских единицах вместо метрических.
( Читать дальше... )