Моделирования uml
Download 1.84 Mb. Pdf ko'rish
|
ivanov novikov unificirovannii jazik modelirovanija uml 2011
- Bu sahifa navigatsiya:
- Параллельное программирование — мощный способ моделирования поведения, и взаимодействующие конечные автоматы — великолепное
state machine
Position entry/thePerson=person exit/thePerson.excure() Occupied Vacant destroy create destroy occupy (person) free() free() occupy(person) Рис. 4.45. Машина состояний класса Person В таком случае, операция назначения сотрудника на должность assignP2P() может быть реализована двумя вызовами операций над объектами, являющимися ее аргументами: position.occupy(person) person.assign(position) Мы подошли к кульминации данного примера: указанные две операции можно вызвать в любом порядке или параллельно, более того, их можно вызывать с ожиданием возврата управления или без ожидания, т. е. синхронно или асинхронно — в любом случае взаимодействие автоматов, приведенных на рис. 4.44 и рис. 4.45, обеспечит требуемое поведение (если только в процесс обмена сообщениями не вмешается "посторонний" вызов операции одного из этих объектов). Параллельное программирование — мощный способ моделирования поведения, и взаимодействующие конечные автоматы — великолепное средство параллельного программирования. 217 4.5.2. Ортогональные состояния и составные переходы В этом параграфе рассматриваются средства описания параллельности, применяемые на диаграммах автомата. На диаграммах автомата параллельное выполнение моделируется с помощью ортогональных (параллельных) составных состояний. По существу, идея параллельных состояний очень проста и легко воспринимается: внутрь составного состояния вложено несколько машин состояний, которые работают параллельно. Переход в ортогональное составное состояние означает одновременный переход в начальные состояния всех областей данного ортогонального составного состояния (т. е., фактически, параллельный запуск всех вложенных машин состояний); в случае наличия перехода в ортогональное составное состояние каждая область должна иметь единственное начальное (или историческое) состояние, в противном случае модель считается противоречивой. Переход по событию и/или со сторожевым условием (т. е. любой переход не по завершении) из ортогонального составного состояние означает распространение данного перехода на все вложенные состояния всех областей; если унаследованный переход конфликтует с локально определенным переходом, то последний имеет приоритет (модель не считается противоречивой). Переход по завершении из ортогонального составного состояния срабатывает в том и только в том случае, когда машина состояний в каждой области перешла в заключительное состояние (т. е., фактически, это означает синхронное завершение всех вложенных машин состояний); в случае наличия перехода по завершении из ортогонального составного состояния каждая область должна иметь заключительные состояния и должен быть определен единственный переход по завершении, в противном случае модель считается противоречивой. Таким образом, семантика переходов, не пересекающих границу состояния, для ортогональных и последовательных составных 218 состояний аналогична. Для описания переходов, пересекающих границу ортогонального составного состояния, вводится специальное понятие — составной переход. Download 1.84 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling