Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.

instance (экземпляр)

Конкретная сущность, у которой есть своя собственная индивидуальность и значение. Форму и поведение множества экземпляров, имеющих сходные свойства, определяет дескриптор. Каждый экземпляр при этом имеет индивидуальность и значение, совместимое с тем, которое определено в дескрипторе. В моделях экземпляры принимают участие в основном в качестве примеров, согласующихся с моделями описательного уровня.
См. descriptor; identity; link; object.

Семантика

У экземпляра есть индивидуальность. Другими словами, но время выполнения системы экземпляр можно идентифицировать с тем же самым экземпляром, существующим в другие моменты времени, даже если его значение изменяется. В любой момент времени у экземпляра есть значение, которое можно выразить посредством значении данных и ссылок на другие экземпляры. Значение данных является вырожденным случаем. Его индивидуальность совпадает со значением, - так что если посмотреть с другой точки зрения, индивидуальности у него нет.
Кроме индивидуальности и значения у каждого экземпляра есть дескриптор, который ограничивает возможные значения экземпляра. Дескриптор - это элемент модели, служащий для описания экземпляров. Это называется дихотомией дескриптор-экземпляр. Большинство концепций, принятых в языке UML, имеет двойственный характер. Основную часть содержимого большинства моделей представляют различные дескрипторы. А назначение модели состоит в описании возможных значений системы путем описания экземпляров и их значений.
Определенный вид дескриптора описывает определенный вид экземпляра. Объект - это экземпляр класса, связь - экземпляр ассоциации. Вариант использования описывает возможные экземпляры вариантов использования, параметр - возможные значения аргументов и т. д. У некоторых экземпляров нет семейственных имен, поэтому нередко они остаются незамеченными. Тем не менее, такие экземпляры тоже существуют. Например, состояние описывает возможность осуществления различных состояний во время последовательности выполнения.
Модель описывает возможные значения системы и ее поведение, которое при выполнении меняется от одного значения к другому. Значение системы - это множество всех экземпляров, которые в ней существуют, и их значений. Значение системы действительным будет в том случае, если каждый ее экземпляр будет являться экземпляром какого-либо дескриптора модели, а также, если множество экземпляров модели удовлетворяет всем явным и неявным ее ограничениям.
Элементы поведения описывают то, каким образом система и ее экземпляры изменяют свои значения с течением времени. Для такого описания жизненно важна концепция индивидуальности экземпляров. Каждый шаг поведения представляет собой описание изменений значений у небольшого количества экземпляров, по сравнению с их предыдущими значениями. Значения всех прочих экземпляров системы при этом остаются неизменными. Например, локальная операция, применимая к объекту, может быть описана с помощью выражения для новых значений каждого атрибута этого объекта, в то время как остальная система остается неизменной. Если функция нелокальная, ее можно преобразовать в несколько локальных функций, применимых к нескольким объектам. Обратите внимание, что экземпляры в работающей системе не являются элементами модели. Как правило, они вообще не являются элементами модели. Экземпляры могут присутствовать в модели в качестве иллюстраций или примеров типичной структуры и поведения, мгновенных снимков состояния системы или прослеживания выполнения се истории. Такие примеры могут быть удобны в работе, однако они представляют собой отдельные точки в большом или бесконечном множестве вероятных значений и ничего не определяют.
Непосредственный экземпляр. Каждый объект представляет собой непосредственный экземпляр какого-либо класса и непрямой экземпляр предков этого класса. Точно так же дело обстоит с экземплярами других обобщаемых элементов. Объект является непосредственным экземпляром класса в том случае, если класс описывает экземпляр и если этот же объект не описан потомком данного класса.
При множественной классификации экземпляр может быть непосредственным экземпляром нескольких классификаторов, причем ни один из них не будет предком другого. В некоторых вариантах семантики выполнения один из классификаторов указывает класс реализации, а другие - типы или роли. Полный дескриптор - это неявное полное описание экземпляра - всех его атрибутов, операций, ассоциаций и прочих свойств, вне зависимости оттого, получены ли они от непосредственного классификатора этого экземпляра или от предков с помощью наследования. В случае множественной классификации полный дескриптор представляет собой объединение всех свойств, определяемых всеми непосредственными классификаторами.

Создание

См. статью энциклопедии instantiation, где дается подробное описание создания экземпляров.

Нотация

Несмотря на то, что дескрипторы и экземпляры отличаются друг от друга, у них есть много общих свойств, включая и общую форму (это происходит потому, что дескриптор должен описывать форму экземпляров). Следовательно, нотацию для изображения пары дескриптор-экземпляр удобнее выбирать таким образом, чтобы их связь была наглядной. Это можно сделать разными способами, причем у каждого из них есть свои плюсы и минусы. В языке UML принято изображать пару дескриптор-экземпляр в виде одного геометрического символа. Строка имени элемента-экземпляра подчеркивается. Такая нотация весьма наглядна, к тому же она не перегружает диаграмму, даже если на ней изображены только элементы-экземпляры.
На рис 110 изображены объекты, однако, подчеркивать строку имени можно и у других видов экземпляров - например, экземпляров вариантов использования, компонентов и узлов.

Экземпляры участвуют в модели в виде примеров, поэтому в нес включают только те особенности, которые относятся к конкретному примеру. Так, не следует включать в модель весь список атрибутов. Также можно обойтись и без полного списка значений, если главное внимание уделяется в данный момент чему-то другому - например, потоку сообщений между объектами.

Алфавитный указатель