صفحهٔ منبع 188Final
توضیح
Final Node پایان کامل یک Activity یا StateMachine Region را نمایش میدهد. در Activity Diagram، رسیدن Control Flow به Activity Final تمام Executionهای Activity را خاتمه میدهد. در StateMachine، Final State نشان میدهد Region به پایان رسیده است.
مشخصات OMG UML
ActivityFinalNode نوعی FinalNode است که با دریافت Token، همهٔ Flowهای Activity را متوقف میکند. FinalState نوعی State خاص است که Completion یک Region را نشان میدهد و هیچ Region، Entry/Exit Behavior یا Transition خروجی ندارد.
عنصر تصویری اصلی — صفحه 188عنصر تصویری اصلی — صفحه 188عنصر تصویری اصلی — صفحه 188© Sparx Systems 2026 — صفحهٔ 188 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 189Final State در StateMachine با دایرهٔ سیاه درون یک Circle نمایش داده میشود. در Activity Diagram نیز Activity Final همین Notation را دارد. اگر هدف فقط پایان یک مسیر و نه کل Activity باشد، از Flow Final استفاده کنید.
© Sparx Systems 2026 — صفحهٔ 189 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 190Flow Final
توضیح
Flow Final پایان یک Flow منفرد در Activity را مشخص میکند، بدون اینکه سایر Flowهای Activity را خاتمه دهد. وقتی Token به Flow Final برسد همان Token از بین میرود و سایر Executionها میتوانند ادامه پیدا کنند.
مشخصات OMG UML
FlowFinalNode نوعی FinalNode است که با رسیدن Token، همان Token را از Flow حذف میکند. برخلاف ActivityFinalNode، رسیدن Token به FlowFinalNode باعث پایان کل Activity نمیشود.
عنصر تصویری اصلی — صفحه 190عنصر تصویری اصلی — صفحه 190عنصر تصویری اصلی — صفحه 190© Sparx Systems 2026 — صفحهٔ 190 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 191در Diagramهایی با چند Flow موازی، Flow Final برای خاتمهدادن یک Branch مناسب است. اگر پایان یکی از Branchها باید کل Activity را متوقف کند، باید بهجای آن Activity Final استفاده شود.
© Sparx Systems 2026 — صفحهٔ 191 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 192Fork/Join
Fork و Join Nodeها برای Modeling Parallel Processing در Activity Diagram استفاده میشوند. Enterprise Architect میتواند یک عنصر Fork/Join واحد را بسته به تعداد Flowهای ورودی و خروجی بهعنوان Fork یا Join تفسیر کند.
Fork یک Incoming Flow را به چند Outgoing Flow Concurrent تقسیم میکند؛ Join چند Incoming Flow را Synchronize میکند و پس از برآوردهشدن شرایط، Flow واحدی را ادامه میدهد.
عنصر تصویری اصلی — صفحه 192عنصر تصویری اصلی — صفحه 192عنصر تصویری اصلی — صفحه 192عنصر تصویری اصلی — صفحه 192عنصر تصویری اصلی — صفحه 192© Sparx Systems 2026 — صفحهٔ 192 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 193در Diagram، Fork/Join معمولاً بهصورت Bar ضخیم افقی یا عمودی نمایش داده میشود. Orientation را میتوان متناسب با Layout تغییر داد. Guardها و Weightهای Flowهای مرتبط همچنان طبق Semantics Activity Edge اعمال میشوند.
مشخصات OMG UML
ForkNode یک ControlNode است که Flow را به چند Concurrent Flow تقسیم میکند. JoinNode چند Flow را Synchronize میکند. JoinSpec میتواند شرطی را تعیین کند که بر اساس Tokenهای موجود در Edgeهای ورودی ارزیابی میشود.
عنصر تصویری اصلی — صفحه 193عنصر تصویری اصلی — صفحه 193© Sparx Systems 2026 — صفحهٔ 193 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 194Fork
توضیح
Fork Node یک Path ورودی را به دو یا چند Path موازی تقسیم میکند. Token ورودی برای هر Outgoing Edge Offer میشود تا چند شاخه بتوانند همزمان اجرا شوند.
مشخصات OMG UML
ForkNode حداقل یک Incoming ActivityEdge و حداقل دو Outgoing ActivityEdge دارد. Tokenهای ورودی بین Outgoing Edgeها تقسیم میشوند؛ برای Control Token، Tokenهای معادل روی همهٔ Edgeهای واجد شرایط Offer میشوند.
عنصر تصویری اصلی — صفحه 194عنصر تصویری اصلی — صفحه 194عنصر تصویری اصلی — صفحه 194© Sparx Systems 2026 — صفحهٔ 194 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 195اگر Outgoing Edgeها Guard داشته باشند، فقط Edgeهایی که Guard آنها True است Token دریافت میکنند. Fork برای شروع Processing موازی مناسب است و معمولاً با Join در مرحلهای بعد دوباره Synchronize میشود.
© Sparx Systems 2026 — صفحهٔ 195 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 196Join
توضیح
Join Node دو یا چند Path ورودی را Synchronize و به یک Outgoing Path تبدیل میکند. بهطور پیشفرض Join زمانی ادامه میدهد که Token موردنیاز از همهٔ Incoming Edgeها فراهم باشد، اما Join Specification میتواند شرط دیگری تعیین کند.
مشخصات OMG UML
JoinNode حداقل دو Incoming ActivityEdge و یک Outgoing ActivityEdge دارد. JoinSpec یک ValueSpecification است که مشخص میکند چه زمانی مجموعهٔ Tokenهای ورودی برای ارائهٔ Token خروجی کافی است. مقدار پیشفرض معمولاً AND منطقی همهٔ Incoming Edgeها است.
عنصر تصویری اصلی — صفحه 196عنصر تصویری اصلی — صفحه 196عنصر تصویری اصلی — صفحه 196© Sparx Systems 2026 — صفحهٔ 196 از ۴۲۲ — ایجادشده با Enterprise Architect
صفحهٔ منبع 197Join فقط Flowهای موازی را Synchronize میکند؛ برای Merge کردن Alternative Flowها بدون Synchronization از Merge Node استفاده میشود.
© Sparx Systems 2026 — صفحهٔ 197 از ۴۲۲ — ایجادشده با Enterprise Architect