Программирование с UML API

UML API Visual Studio Ultimate позволяет создавать код для разработки, чтения и обновления моделей и схем UML.

API описывается на страницах справочных материалов об API и в следующих разделах.

Раздел

Примеры описываемых типов и методов

Описываемые функции

Практическое руководство. Переход по отношениям с помощью UML API

UML-элементы, их свойства и связи.Например, IElement и его потомки, включая IClass, IActivity, IUseCase, IComponent, IInteraction, IModel и IPackage.

В Visual Studio Ultimate модели UML соответствуют UML-спецификации версии 2.1.2, которую можно получить на Странице UML-ресурсов.Каждый тип является интерфейсом, который имеет то же имя, что и UML-тип, начинающийся с префикса "I".

Практическое руководство. Создание элементов и отношений

IPackage.CreateClass()

IClass.CreateOperation()

Каждый тип элемента имеет методы для создания дочерних элементов.

Практическое руководство. Отображение модели на схемах

IShape, IDiagram

IShape.Move()

Каждый элемент в модели может быть представлен в виде фигуры на схеме.В некоторых случаях можно создавать новые фигуры для каждого объекта.Эти фигуры можно перемещать, сворачивать или разворачивать, а также изменять их размер и цвет.

Практическое руководство. Навигация по UML-модели

IModelStore

IDiagramContext

В хранилище моделей хранятся модели.

Контекст схемы предоставляет доступ к текущей схеме и хранилищу.

Практическое руководство. Связывание обновлений модели с использованием транзакций

ILinkedUndoContext

Ряд изменений можно связать в одну транзакцию.

Практическое руководство. Определение команды меню на схеме моделирования

IMenuCommand

IGestureExtension

ICommandExtension

Чтобы расширить функциональные возможности схемы, нужно определить команды, вызываемые двойным щелчком, и перетащить их на схему.

Практическое руководство. Определение ограничений проверки для моделей UML

ValidationContext

Можно определить правила проверки, которые помогают удостовериться, что выполняются заданные ограничения для модели.

Практическое руководство. Получение элементов модели UML из IDataObject

IElement, IShape

Если элемент перетаскивается из Проводника по моделям UML или UML-схемы на другую схему или в другое приложение, он сериализуется в качестве IDataObject.

Практическое руководство. Редактирование схем последовательностей с помощью API UML

IInteraction, ILifeline, IMessage

Создание и обновление схемы взаимодействия несколько отличается от работы с другими типами схем.

Расширение схем слоев

ILayer, ILayerDiagram

Можно написать код для создания и редактирования схем слоев, а также для проверки кода программы на соответствие схемам слоев.

О реализации

Средства моделирования UML созданы на основе Инструменты DSL.Каждый пакет и каждая схема представлены моделью Инструменты DSL, соответствие между ними обеспечивается коллекцией правил и другими методами.

Типы из этой платформы видны в некоторых сборках, на которые дается ссылка при создании UML-расширений.Хотя расширения для средств UML можно создать с помощью API-интерфейса Инструменты DSL, необходимо помнить о следующем.

  • Может оказаться, что некоторые кажущиеся простыми изменения вызывают несоответствия и дают непредвиденные результаты.

  • В будущем реализация может измениться и внесенные с помощью API-интерфейса Инструменты DSL изменения окажутся недействительными.

Сборки API

В этой таблице представлены сборки, позволяющие обеспечить расширяемость средств UML, и пространства имен, которые рекомендуется использовать.

Сборка

Пространства имен

Предоставляет доступ к

Microsoft.VisualStudio.Uml.Interfaces

(Все)

Типы UML.

Microsoft.VisualStudio.ArchitectureTools.Extensibility

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml

Методы создания

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation

Схемы и фигуры

Microsoft.VisualStudio.ArchitectureTools.Extensibility

Проект моделирования

Microsoft.VisualStudio.Modeling.Sdk.11.0

Microsoft.VisualStudio.Modeling.ExtensionEnablement

Расширение команды меню.

Связанные транзакции отмены.

Microsoft.VisualStudio.Modeling.Validation

Проверка

(другие пространства имен)

Рекомендуется только для опытных пользователей.

Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0

Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement

Обработчики жестов.

(другие пространства имен)

Рекомендуется только для опытных пользователей.

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Ссылки на рабочие элементы.

Microsoft.TeamFoundation.WorkItemTracking.Client

Microsoft.TeamFoundation.WorkItemTracking.Client

Рабочие элементы и их поля.

Microsoft.TeamFoundation.Client

Microsoft.TeamFoundation.Client

Рабочие элементы и их поля.

System.ComponentModel.Composition

System.ComponentModel.Composition

Экспорт и импорт компонентов MEF

System.Linq

System.Linq

Простое управление коллекциями, особенно при работе с отношениями.

См. также

Основные понятия

Расширение моделей и схем UML

Другие ресурсы

Справочник по API для расширения моделей UML