Объектно-ориентированный подход позволяет интегрировать понятия, используемые для моделирования структурных и поведенческих свойств объектов предметной области. Любое изменение состояния предметной области связывается с некоторым событием, меняющим текущие значения атрибутов и связи объектов. Каждое событие может приводить не только к смене состояния одного или нескольких объектов системы, но и к возникновению новых событий, связанных с действиями реагирующих на событие объектов. Событие становится основным понятием, которое используется для моделирования динамических процессов, происходящих в предметной области объектно-ориентированной системы.
Событие может быть представлено символическим именем, объектным классом или именем некоторой операции. Идентификация событий позволяет определить границы поведения системы и распределить обязанности по осуществлению этого поведения между отдельными классами.
Таким образом, объекты имеют возможность не только воспринимать состояния среды в которой находятся, но и воздействовать на нее, то есть отображают восприятия в реакции или действия. Наличие внутреннего состояния означает, что поведение объекта зависит не только от событий, но и от времени, следовательно, конечный автомат является наилучшим способом его формального описания. Конечный автомат используют как один из методов высокоуровневого управления логикой, с помощью которого передаются команды подсистеме нижележащего уровня, составляющей среду, функционирование которой, в свою очередь, влияет на состояния автомата.
Объект сохраняет свое состояние в течение времени между двумя последовательными событиями, которые он принимает. События передают информацию с одного объекта на другой, но представляя моменты времени, не имеют продолжительности. Состояния имеют продолжительность обычно равную отрезку времени между двумя последовательными событиями, принимаемыми объектом.
Диаграммы состояний и переходов позволяют представить пространство состояний объектов, события, которые влекут переход из одного состояния в другое и действия, которые происходят при изменении состояния. Эти диаграммы используются в ходе анализа, чтобы показать динамику управляемого событиями поведения системы, а в ходе проектирования – для выражения поведения отдельных объектов или их взаимодействия. Диаграммы состояний и переходов строятся как для классов, поведение которых существенно, так и для управляемого событиями поведения системы в целом. Обычно автомат, ассоциированный с классом или системой в целом, никогда не достигает конечного состояния, он просто перестает существовать после того, как содержащий его объект уничтожается.
Для представления диаграмм состояний и переходов часто используют нотацию Буча, который развил, предложенную Харелом модель событий, передающих сообщения и, расширив систему обозначений, достаточную для моделирования автомата, приспособил ее к объектному подходу. В нотации Буча стартовое состояние, которое должно присутствовать на каждой диаграмме состояний и переходов, обозначается немаркированным переходом в него из специального значка, изображаемого в виде закрашенного кружка. Каждое состояние должно иметь имя, которое должно быть уникально в своем классе. Все одноименные значки состояний на одной диаграмме обозначают одно и то же состояние. Возможно вложение состояний друг в друга, то есть подсостояние может быть суперсостоянием для вложенных состояний более низкого уровня. Семантика вложенности подразумевает, что нахождение системы в суперсостоянии означает нахождение ее ровно в одном из подсостояний. Переходам между состояниями разрешено начинаться и кончаться на любом уровне. Указание перехода из суперсостояния означает, что он осуществляется из каждого подсостояния этого суперсостояния; указание перехода в состояние с вложенными подсостояниями подразумевает переход к его начальному подсостоянию. Состояния, ассоциированные со всей системой глобальны, а область видимости вложенных состояний ограничена соответствующей подсистемой.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.