ЛИЦОМ К ЛИЦУ
Даррил Тафт
Грейди Буч известен как один из сооснователей фирмы Rational Software и соавтор языка UML (Unified Modeling Language - унифицированный язык моделирования), созданного им в сотрудничестве с Айваром Якобсеном и Джимом Рамбо. В начале октября старший редактор eWeek Даррил Тафт обсудил с Бучем вопросы развития UML, проблемы моделирования и конкуренции с Microsoft, которая готовится выйти в мир моделирования со своей средой Visual Studio 2005 Team System.
eWeek: Можно ли считать прогрессом то, что все больше специалистов рассматривают моделирование как нечто целое, а не сравнивают специализированные языки с UML?
Грейди Буч: Безусловно. Хорошо уже то, что они заинтересовались моделированием, а развиваться этот интерес может по-разному. Программная инженерия на протяжении десятилетий идет по пути повышения уровня абстракции, и моделирование - еще один шаг в этом направлении, оно поднимает абстракцию на новый уровень, выводит ее за пределы текстовых языков.
В приложении всегда главным считался код. Но теперь, вспомнив известное заявление Sun, что сеть - это компьютеры, можно смело сказать: одного только кода мало. А нашим традиционным текстовым языкам просто не хватает средств для того, чтобы оценивать и понимать поведение такого рода систем. Это заставляет нас искать другие пути, а те ведут к абстракции и моделированию.
В результате моделирование становится неизбежной реальностью, и я рад, что это начинают понимать производители. Хорошим примером моделирования служит проект TopHat фирмы Sun, у которой уже есть кое-какие наработки. Что-то готовится предложить и Microsoft, другими словами, идея овладевает массами.
Грейди Буч считает неизбежным рост интереса широких масс к моделированию
eWeek: Что вы думаете о планах Microsoft в отношении UML?
Г. Б.: Полная власть над миром (смеется). Microsoft присматривается к UML уже несколько лет, и за этим даже интересно наблюдать. Мне хорошо запомнилась одна из встреч (не помню только, кто на ней присутствовал) в первые дни совместной работы с Джимом Рамбо и Айваром Якобсеном. Учитывая стратегические отношения, которые Rational Software тогда поддерживала с Microsoft, мы начали подумывать о том, чтобы включить свой инструментарий моделирования в Visual Studio. Майк Девлин, занимавший в то время пост исполнительного директора Rational, поручил мне вместе с Джимом, а затем и Айваром свести наши методы к общему знаменателю. В результате появился унифицированный язык моделирования UML, и сразу же стало ясно, что для его развития нужны партнеры.
В первую очередь с предложением подать вместе с нами заявку в OMG (Object Management Group - группа управления объектами) на стандартизацию этого языка мы обратились именно к Microsoft. И лишь за неделю до того, как UML 1.0 был представлен на рассмотрение OMG, корпорация перестала быть частью нашей команды.
По существу нотацию для заложенных в спецификацию UML 1.0 интерфейсов мы получили прямиком из Microsoft. Она активно поддерживала этот язык, но в решающий момент, когда нужно было стать членом открытой организации, корпорация вдруг заявила, что ей с нами не по пути. Почему было принято такое решение, нам не совсем ясно до сих пор. Их поддержка была важна на начальном этапе, но к тому времени нашим языком уже заинтересовался рынок и можно было смело двигаться дальше даже без Microsoft.
eWeek: А что было потом?
Г. Б.: Это стало началом конца участия Microsoft в развитии UML. Даже несмотря на долгую и плодотворную историю хороших отношений с Rational вплоть до ее перехода в руки IBM (кстати, у нас неплохие отношения с Microsoft и сейчас). Видимо, в какой-то момент Microsoft поняла роль моделирования в программировании нового поколения и решила взять это направление в собственные руки так же, как раньше узурпировала операционные системы.
eWeek: Есть ли что-то общее в подходах Microsoft и IBM?
Г. Б.: Дайте подумать. Во-первых, обе корпорации признают, что моделирование, равно как и подключение моделей к исполняемым файлам, должно быть выведено за пределы текстовых языков. Попросту говоря, Microsoft пришла к тому же выводу, что и ее клиенты: модель программирования .Net слишком сложна, до сервисов еще далеко, а строить сервисы с помощью WSDL (Web Services Description Language - язык описания Web-сервисов) или XML чересчур сложно. В результате на первый план выходит моделирование. Такого же мнения придерживаемся и мы.
Едины Microsoft и IBM также в том, что моделирование нельзя рассматривать однобоко. Каждая заинтересованная сторона смотрит на него по-своему, а главным достоинством инструментария как раз и является способность сплести все такие представления в единую ткань.
Терминология Microsoft практически идентична той, которой пользовалась Rational для своих разработок пять, шесть, семь лет назад... Именно тогда появилось понятие ролей в команде разработки вместо универсального разработчика.
Мы придерживаемся несколько иного взгляда, чем Microsoft, которая больше ориентируется на аспектное программирование и считает легитимным взгляд каждой из заинтересованных сторон.
eWeek: Можно ли считать UML наследником специализированных языков?
Г. Б.: Я бы сказал да - причем сразу в двух измерениях. Во время разработки UML мы с Джимом находились под сильным влиянием идей Филиппа Кручтена - профессора Университета Британской Колумбии, одного из создателей метода Rational Unified Process (рациональный унифицированный процесс). Он подходил к моделированию по принципу "4 + 1", считая, что одностороннего взгляда на систему для описания всей архитектуры недостаточно. Для этого нужно рассматривать ее с нескольких сторон, как логических, так и физических. В результате мы предусмотрели в UML возможность описания не только логических программных компонентов, но и сетевой топологии, в которой они исполняются. С этой точки зрения саму структуру UML можно назвать специализированной, так как мы вплели различные представления в общую семантику.
Немаловажно и то, что в UML встроены механизмы расширения, позволяющие нам захватывать определенные виды шаблонов для отображения в конкретных областях.
eWeek: Как вы себя чувствуете в роли автора стандарта? Вы считаете, что его нужно всячески защищать, или не возражаете против внешних изменений вплоть до реализации UML с открытыми кодами?
Г. Б.: Я знаю бейсболистов, да и других спортсменов, которые всеми силами стремятся удержаться в спорте до конца, цепляются за былую славу. Но так ведут себя не все. Честно говоря, последние пару лет я сознательно работал над UML в таком стиле, чтобы открыть дорогу новому поколению - заслуженному инженеру IBM из IBM Rational Software Брену Селику и другим.
В моей карьере настал момент, когда пора отойти в сторону и дать дорогу молодым. В конце концов, увы, все мы стареем.