IBM Rational Tau обеспечивает стандартизованную разработку сложных систем и программного обеспечения на основе моделей.
Это решение используется при разработке информационных систем и корпоративных ИТ-приложений, в том числе архитектуры SOA.
Поддерживает разработку сервис-ориентированной архитектуры (SOA) на основе моделей.
Обеспечивает автоматическую проверку на наличие ошибок и проверку моделей на основе правил, а также предоставляет анализатор на базе моделей.
Объединяет процессы моделирования требований и разработки встроенных приложений, что позволяет группам разработчиков сосредоточиться на создании необходимых компонентов проекта или программы.
Обеспечивает возможность совместной работы, что позволяет всем участникам даже самых масштабных проектов легко и быстро связываться друг с другом и обмениваться данными.
Автоматически создает пользовательские отчеты и документацию на любой стадии цикла разработки.
Обеспечивает автоматическое генерирование и выполнение тестов.
Имеет открытую архитектуру, основанную на UML 2.1, что позволяет дополнять и настраивать Tau в соответствии с потребностями организации.
Поддерживаемые операционные системы: Sun Solaris, Windows.
Наличие диаграмм нового типа позволило привнести в инструмент Tau более широкие возможности.
Так появилась опция Verifier, которая в режиме "реального" времени (вы сами задаете масштаб условной единицы времени) позволяет моделировать поведение всей системы или ее отдельных частей, с использованием MSС-диаграмм (Message Sequence Chart).
Пользователь имеет возможность задавать любые входные воздействия (в требуемой последовательности - "пачками", последовательно, параллельно) с тем, чтобы наблюдать как модель реагирует и отрабатывает тот функционал, который в нее закладывался. При этом в любом месте любой диаграммы пользователь имеет возможность поставить знак остановки (break-point) и в специальных окнах (watch window) контролировать значения любых переменных. Наличие опции Verifier позволяет находить ошибки на самых ранних стадиях дизайна, что сокращает время на поиск ошибок и значительно снижает затраты на тестирование.
Появилась возможность иметь почти 100% готового к использованию кода, который автоматически создается встроенным кодо-генератором. В настоящее время Tau имеет 4 независимых кодогенератора: С, С++, C#, Java.
При таком подходе - если речь, например, идет о real-time или embedded systems - пользователь имеет возможность создавать модель (систему), не привязываясь к онкретной операционной системе или типу процессора:
согласитесь, ведь вашему заказчику почти все равно ЧТО находится внутри вашей системы, ему важно знать КАК система отрабатывает требуемый функционал;
технический прогресс не стоит на месте и все чаще появляются новые типы процессоров, - и что же, переписывать софт заново??? - Нет, теперь уже не придется переписывать софт, подстраивась под новый тип процессора или ОС, а только лишь изменить настройки кодо-генератора.
Такой подход дает возможность сосредоточить усилия разработчиков именно на создании модели и ее функционала, а не тратить их время на ручную "писанину" кода, при которой вносится масса ошибок, потому что никуда от человеческого фактора не уйти...
И появилась возможность следовать рекомендациям OMG-группы, а именно: перейти от широко используемой в прошлом стартегии CDA [Code-Driven Architecture] к новой стратегии MDA [Model-Driven Architecture].
Tau имеет 3 составляющих - собственно Tau, Tau/Architect и Tau/Developer - каждая из которых имеет свое предназначение.
Tau:
- построение модели\-ей с использованием диаграмм, имеющихся в стандарте UML2.0;
- проверка диаграмм на соответствие синтаксису и семантики (нотации) языка UML2.0;
- автоматический поиск и локализация ошибок в диаграммах.
Tau/Architect:
- построение модели\-ей с использованием диаграмм, имеющихся в стандарте UML2.0;
- проверка диаграмм на соответствие синтаксису и семантики (нотации) языка UML2.0;
- автоматический поиск и локализация ошибок в диаграммах;
- динамическая проверка поведения модели;
- отработка и корректировка функционала, закладываемого в модель.
Tau/Developer:
- построение модели\-ей с использованием диаграмм, имеющихся в стандарте UML2.0;
- проверка диаграмм на соответствие синтаксису и семантики (нотации) языка UML2.0;
- автоматический поиск и локализация ошибок в диаграммах;
- динамическая проверка поведения модели;
- отработка и корректировка функционала, закладываемого в модель;
- автоматическая генерация до исходного кода на языке используемого кодо-генератора.
Широкий набор опций позволяет компании оптимизировать свои расходы и не приобретать ничего лишнего в нагрузку.
Tau может быть интегрирован с DOORS [Requirements Management] так, что сразу становится наглядным как каждое из конкретных требований реализуется с помощью тех или иных диаграмм, описывающих поведение системы\модели. При этом возможности трассировки DOORS сохраняются и имеют продолжение в Tau.
Знаете ли Вы, что алгоритм - это набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий. В старой трактовке вместо слова "порядок" использовалось слово "последовательность", но по мере развития параллельности в работе компьютеров слово "последовательность" стали заменять более общим словом "порядок". Это связано с тем, что работа каких-то инструкций алгоритма может быть зависима от других инструкций или результатов их работы. Таким образом, некоторые инструкции должны выполняться строго после завершения работы инструкций, от которых они зависят. Независимые инструкции или инструкции, ставшие независимыми из-за завершения работы инструкций, от которых они зависят, могут выполняться в произвольном порядке, параллельно или одновременно, если это позволяют используемые процессор и операционная система.