נושאים:
תפקידו של
State Transition Diagram
הוא לתאר את מרחב המצב (state
space) של השמה של
class,
המאורעות הגורמים לעבור ממצב אחד למצב אחר, והפעילויות הנגרמות משינוי של מצב.
1.
State
- מצב.
("מלבנגול" בלשון פרופ' דוד הראל).
לכל מצב חייב להיות שם ייחודי (unique)
בסביבה שלו. למצבים מסוימים כדאי גם לפרט את הפעילויות הקשורות למצב.
2.
State Transitions
- מעברים
מאורע (event)
גורם לעבור ממצב למצב. מעבר מקשר בין שני המצבים (ייתכן גם מעבר ממצב לעצמו).
מאורע עשוי לגרום לפעולה (action).
מצביע למצב התחלתי. חייב להופיע
בתרשים.
מצביע על סיום. אופציונאלי.
א. פירוט פעילויות בכניסה וביציאה
ממצב. לדוגמא: entry Heater::startUp entry Heater::shutDown
ב. התניות למעברים (conditional
state transitions)מוסיפים ליד המאורע הגורם למעבר
guard
שהוא ביטוי בוליאני (Boolean
expression), שאם הוא
true
אז המאורע גורם למצב להשתנות. לדוגמא: מעבר כעבור זמן מוגדר, למשל [>=
5 minutes].
ג.
Nesting
(קינון)
superstate
המכיל substates.
ה- nesting
יכול להיות למספר רב של רמות.
ד. היסטוריה (History).
הסמל יופיע באיזשהו מקום ב-
superstate
כדי לציין שבכניסה הבאה ל-
superstate זה יש להיכנס למצב
(substates) שבפעם האחרונה היו בו.
לדוגמא:
בפעם הראשונה שנכנסים ל-
Failure
צריך ליצור log
אך בפעמים הבאות מתחילים מ-
ready
Log(שהרי
ה- log
קיים כבר).
איור- דוגמא: תחנת מזג אוויר (לחץ כדי להגדיל)
לסעיף הבא- תרשים הידודיות...
|