statecharts
DESCRIPTION
Statecharts. Statecharts הוא פורמאליזם ויזואלי המאפשר לתאר תבנית התנהגותית של מערכות מורכבות. Statecharts פותחו ע”י דוד הראל. rest[break]. Employee. Resting. Working. work /punch card. רובוט. נע לעבר המדפים. בטל. נע לעבר הדלפק. נוטל רכיב. מצבים. - PowerPoint PPT PresentationTRANSCRIPT
עיד
מת
כוער
מח
תוני
)
1
StatechartsStatecharts
StatechartsStatecharts המאפשר ויזואלי פורמאליזם המאפשר הוא ויזואלי פורמאליזם הוא. מורכבות מערכות של התנהגותית תבנית .לתאר מורכבות מערכות של התנהגותית תבנית לתאר
StatechartsStatecharts. ” הראל דוד י ע .פותחו ” הראל דוד י ע פותחו
RestingWorking
work /punch card
rest[break]Employee
עיד
מת
כוער
מח
תוני
)
2
מצביםמצבים
, ב להיות יכול במערכת עצם או רכיב , כל ב להיות יכול במערכת עצם או רכיב מצבמצבכל . במצב שוהה רכיב כל נתון בזמן . מסוים במצב שוהה רכיב כל נתון בזמן זמן מסוים זמן פרק פרק
מסוים.מסוים. לוגית ישות הנו מצב של לוגית שם ישות הנו מצב של מתאר שם אינו מתאר והוא אינו והוא
לבצע. פעילותפעילות יכול הוא במצב העצם היות לבצע. בזמן יכול הוא במצב העצם היות בזמן. ( ( ActivityActivityפעילות )פעילות ) לתאר יש להפרעה . הניתנת לתאר יש להפרעה הניתנת
. במצב המתבצעת הפעילות את .במפורש במצב המתבצעת הפעילות את במפורשרובוט
המדפים לעבר נע
הדלפק לעבר נע
בטל
רכיב נוטל
עיד
מת
כוער
מח
תוני
)
3
פעילותפעילות
. במצב .מתבצעת במצב מתבצעת ) או ) תמונה הצגה רציפה להיות ( יכולה או ) תמונה הצגה רציפה להיות יכולה
סדרתיתסדרתית זמן זמן אורכת אורכת
State1
do:activity
Take an item
do: take
עיד
מת
כוער
מח
תוני
)
4
מעבריםמעברים
באמצעות נעשה למצב מצב בין באמצעות הקשר נעשה למצב מצב בין מעבר מעבר הקשרזמן שקורהשקורה זמן בנקודת .בנקודת כחץ. מסומן .מעבר כחץ. מסומן מעבר
להכיל יכול להכיל מעבר יכול ופעולה ופעולה ((triggertriggerמזניק )מזניק )מעבר((ActionAction)) . .
קיום ותנאיםותנאים אירועיםאירועיםמכיל מכיל המזניקהמזניק את קיום המתנים את המתניםהמעבר.המעבר.
פעולה פעולה ) להפרעה ) ניתנת אינה אטומית יחידה ( הנה להפרעה ) ניתנת אינה אטומית יחידה הנהה ) כאשר במעבר בעת ה ) המתבצעת כאשר במעבר בעת קורה קורה אירועאירועהמתבצעת
ה ה ובאם (.תנאיתנאיובאם (.מתקיים 1מצבמתקיים 2event [condition] /actionמצב
Trigger
עיד
מת
כוער
מח
תוני
)
5
מזניקמזניק
ותנאיםותנאים אירועיםאירועיםמכיל מכיל המזניקהמזניק . בין המעבר קיום את . המתנים בין המעבר קיום את המתניםשל לוגיים יחסים להופיע יכולים והתנאים של האירועים לוגיים יחסים להופיע יכולים והתנאים ,AND, ANDהאירועים
OROR .ערך מקבל ערך. המזניק מקבל ..FALSEFALSEאו או TRUETRUEהמזניקאירועאירוע , , שינוי ) עצם ביטול עצם יצירת במערכת שינוי , הוא , שינוי ) עצם ביטול עצם יצירת במערכת שינוי הוא
, , או פקודה קבלת פעילות של סיום או תחילה עצם , במצב , או פקודה קבלת פעילות של סיום או תחילה עצם במצב . : להכיל(. חייב אינו מזניק למדפים הגיע דוגמא . הודעה : להכיל(. חייב אינו מזניק למדפים הגיע דוגמא הודעה
אירוע.אירוע.תנאיתנאי . יסומן תנאי העצם של מצב לגבי לוגית הצהרה . הוא יסומן תנאי העצם של מצב לגבי לוגית הצהרה הוא
.] [ : . ירוק” ברמזור האור דוגמא מרובעים סוגרים י [.ע [ : . ירוק” ברמזור האור דוגמא מרובעים סוגרים י ע הפעילות סיום עם ורק אך ייבדק אירוע לפניו שאין הפעילות תנאי סיום עם ורק אך ייבדק אירוע לפניו שאין תנאי
, הכניסה. עם ייבדק התנאי פעילות במצב אין אם , במצב הכניסה. עם ייבדק התנאי פעילות במצב אין אם במצבלמצב.למצב.
עיד
מת
כוער
מח
תוני
)
6
אירועים אירועים סוגי סוגי
::אירועים עם שמותאירועים עם שמות. . 11reset, a, e, callreset, a, e, call..
אירועים המודיעים על התחלת פעילות:אירועים המודיעים על התחלת פעילות:. . 22 started(A)started(A), , stopped(A)stopped(A).. קיום תנאי: קיום תנאי:תחילתתחילתאירועים המודיעים על אירועים המודיעים על . . 33 true(c)true(c), , false(c)false(c)..אירועים המודיעים על כניסה למצב:אירועים המודיעים על כניסה למצב:. . 44 entered(S)entered(S), , exited(S)exited(S)..::אירועים המודיעים על פסק זמןאירועים המודיעים על פסק זמן. . 55
tm(e, n)tm(e, n) כאשר , כאשר ,ee -הוא אירוע ו- הוא אירוע ו nnפרק זמן פרק זמן
עיד
מת
כוער
מח
תוני
)
7
תנאים תנאים סוגי סוגי
..((PredicatePredicateנשוא )נשוא ). . 1122 . .in(S)in(S) כאשר , כאשר ,SS.הוא מצב. הוא מצב
33 . .active(A)active(A) כאשר , כאשר ,AA .היא פעילות. היא פעילות
עיד
מת
כוער
מח
תוני
)
8
פעולות פעולות סוגי ((ActionsActions ) ) סוגי
יצירת אירוע עם שם.יצירת אירוע עם שם.. . 11
(.(.x:=x+1x:=x+1השמה למשתנה )השמה למשתנה ). . 22
33 . . - פעילות - התחלת פעילות , ,start(A)start(A)התחלת stop(A)stop(A)..
..clhclhמחיקת היסטוריה – מחיקת היסטוריה – . . 44
(.(.a;x:=x+1a;x:=x+1שרשור פעולות בטור )שרשור פעולות בטור ). . 55
עיד
מת
כוער
מח
תוני
)
9
ואירוע תנאי בין ואירוע ההבדל תנאי בין ההבדל
כאשר קורה כאשר מה קורה -CCמה ל -נהפך ל שקרה TRUETRUEנהפך שקרה לפני לפניE1E1??
S1 S2E1
S3Entered C
S1 S2E1
S3 [C]
עיד
מת
כוער
מח
תוני
)
10
מאופשר מאופשר מעבר מעבר
מעבר מעברTTii נמצא העצם אם מאופשר נמצא נקרא העצם אם מאופשר נקראלמעבר המקדים למעבר במצב המקדים ..TTiiבמצב
המזניק הפעלת עם יופעל מאופשר המזניק מעבר הפעלת עם יופעל מאופשר מעברשלו.שלו.
S1 S2E1 [C1]
עיד
מת
כוער
מח
תוני
)
11
דוגמאדוגמא
RestingWorking
work /punch card
rest[break]Employee
המדפים לעבר נע רכיב נוטל
פעולה
למדפים הגיע/ זרוע הפעל. בלם שים. מנוע פעולת הפסק
מזניק + = מעבר
עיד
מת
כוער
מח
תוני
)
12
וסופיים התחלתיים וסופיים מצבים התחלתיים מצבים
White’s turn
Black’s turn
blackmoves
whitemoves
checkmateBlack wins
White winscheckmate
Draw
stalemate
stalemate
שח משחק
start
עיד
מת
כוער
מח
תוני
)
13
/ ברירת מעבר התחלתי / מעבר ברירת מעבר התחלתי מעברמחדלמחדל
המחדל שברירת מציין ההתחלתי המחדל המעבר שברירת מציין ההתחלתי המעברלמצב להיכנס למצב היא להיכנס הוא. 22SSהיא התחלתי הוא. מעבר התחלתי מעבר
. התחלתי ממצב שיוצא מזניק חסר .מעבר התחלתי ממצב שיוצא מזניק חסר מעבר
S3S1 S2E1 E2
עיד
מת
כוער
מח
תוני
)
14
המשך — המשך — מעברים מעברים
לאותו חזרה ולהיכנס לצאת יכול לאותו מעבר חזרה ולהיכנס לצאת יכול מעברמצב.מצב.
S2 E2 / c++
/ c=0
עיד
מת
כוער
מח
תוני
)
15
דוגמא - דוגמא - פעילות פעילות
Cleaningdo: wash hands
doing nothing
Employee
Restingrest[break]
work
Workingdo: shovel
Empty transition
עיד
מת
כוער
מח
תוני
)
16
ריק ריק מעבר מעבר
הפעילות כאשר יתבצע ריק הפעילות מעבר כאשר יתבצע ריק מעבריש ) אם לו המקדים במצב יש ) שמתבצעת אם לו המקדים במצב שמתבצעת
. הסתיימה( .כזאת הסתיימה( כזאת
. הפעילות את יפסיק שלמטה .המעבר הפעילות את יפסיק שלמטה המעבר
S2
S2E1
S1פעילות: בצע
S1פעילות: בצע
עיד
מת
כוער
מח
תוני
)
17
דטרמיניזם דטרמיניזם חוסר חוסר
מצב מאותו היוצאים מעברים שני מצב אם מאותו היוצאים מעברים שני אם , מהם אחד רגע באותו מאופשרים , מקדים מהם אחד רגע באותו מאופשרים מקדים
. דטרמיניסטי לא באופן .יתבצע דטרמיניסטי לא באופן יתבצע
S1 S2E1
S3
[C1]
עיד
מת
כוער
מח
תוני
)
18
בצומת: רמזור בצומת: דוגמא רמזור דוגמא
N/S may go straight
tm(n)
E/W mayturn left
N/S mayturn left
E/W may go straight
tm(n)
tm(n) [cars in E/W left lanes]
tm(n) [cars in N/S left lanes]
tm(n) [no cars in N/S left lanes]
tm(n) [no cars in E/W left lanes]
עיד
מת
כוער
מח
תוני
)
19
טלפון: קו טלפון: דוגמא קו דוגמא
Idle
Dialing
off hook
digit (n)
valid number
Ringingrouted
Connected
called phone answers / connect line
Disconnected
called phone hangs up / disconnect line
Time outtime out
time out
invalid number
on hook
digit (n)
on hook
busy
message done
Dial tonedo: sound dial tone
Connectingdo: find connection
Recordedmessage
do: play messageBusy tonedo: sound busy tone
on hook
on hookon hook
on hook / disconnect line
on hook
עיד
מת
כוער
מח
תוני
)
20
והכללה מצבים קינון
Transmission
Neutral
Push R
ReversePush N
Forward
Firstupshift
Seconddownshift
upshift
Thirddownshift
stop
Push N Push F
.במעברים וחוסך הכללה משיג ושלישי שני, ראשון המצבים קינון
עיד
מת
כוער
מח
תוני
)
21
Employee
At Work [In morning]
[In evening]rest [break]work/punch card
At homedo: sleep
נוספת — דוגמא מצבים קינון
Cleaningdo: wash hands
doing nothing
Resting
Workingdo: shovel
עיד
מת
כוער
מח
תוני
)
22
מקוננים ממצבים ויציאות מקוננים כניסות ממצבים ויציאות כניסות
- - / העל/ מצב של מצב מתת ל יציאה - כניסה - / העל/ מצב של מצב מתת ל יציאה AAכניסה.) זו) ברמה לפרט (.מבלי זו) ברמה לפרט מבלי
A
עיד
מת
כוער
מח
תוני
)
23
היסטוריההיסטוריה
HH( - האחרון - העל למצב - )חזרה האחרון - העל למצב ((GGאו או FFחזרה**HH - ביותר העמוקה הקינון לרמת ביותר - חזרה העמוקה הקינון לרמת חזרה
( (A-DA-D))
E H
K
A
B
C
D
G F
עיד
מת
כוער
מח
תוני
)
24
המשך — המשך — היסטוריה היסטוריה
, - ביקרנו בו האחרון העל למצב , נחזור - ביקרנו בו האחרון העל למצב -GGאו או FFנחזור ל, -ואם ל, FFואם . הפעם זו אם ביקרנו בו האחרון למצב בו גם . אז הפעם זו אם ביקרנו בו האחרון למצב בו גם אז
- ב בקרנו בה -הראשונה ב בקרנו בה , FFהראשונה ההתחלתי למצב ניכנס , אזי ההתחלתי למצב ניכנס ..CCאזי
E H
K
A
B
C
D
G FH
עיד
מת
כוער
מח
תוני
)
25
מקביליים מקביליים מצבים מצבים
TransmissionNeutral
Push RReverse
Push N
ForwardFirst
upshiftSecond
downshift
upshiftThird
downshift
stop
Push N Push F
Ignition
Off
turn key to start [Transmission
in Neutral]
Startingrelease key
turn key off
On
Brake
Offrelease
Ondepress
Accelerator
Offrelease
Ondepress
של המצבים מספר הוא המכונית כל
קרטזית מכפלה רכיביה מצבי של
(3X5X2X2) שהמקביליות כך
רב חסכון משיגה.המצבים במספר
שיש לב שימו. רכיבים בין תקשורת
תלוי ההתנעה רכיב.ההילוכים ברכיב
עיד
מת
כוער
מח
תוני
)
26
בהצגה - חסכון מקביליים בהצגה - מצבים חסכון מקביליים מצבים
במצבים שימושמקבילים
שימוש ללאמקבילים במצבים
B
C
E
G
F
A D
(in G)
C,F
C,E C,G
B,GB,E
B,F
עיד
מת
כוער
מח
תוני
)
27
דוגמא — מקביליים דוגמא — מצבים מקביליים מצביםנוספתנוספת
Resting
Working
Mouth Hands
humming
talking
idle
true(in humming)
true(in talking)
clientleftclient
arrived
Employee
filing
typing
Busy
עיד
מת
כוער
מח
תוני
)
28
האירוע קורה האירוע כאשר קורה .readyreadyכאשר המצבים לשני סימולטנית .עוברים המצבים לשני סימולטנית עוברים האירועים קורים האירועים כאשר קורים הפעילויות card taken, cash takencard taken, cash takenכאשר הפעילויות נפסקות ..נפסקות שהמעבר לב שהמעבר שימו לב מקביליים ReadyReadyשימו עוקבים מצבים לשני מקביליים מעביר עוקבים מצבים לשני מעביר
למצב למצב ושלמעבר .Ready to resetReady to resetושלמעבר מקביליים קודמים מצבים שני .יש מקביליים קודמים מצבים שני יש
וסינכרוניזציה מקביליות פעילויות
Emitting
Take cashdo: dispense cash
Take carddo: eject card
Settingup
Readyto reset
c1=cash taken [in Take card]
ready wait1
wait2
c1
c2
c2= card taken [in Take cash]c3=cash taken [in wait2] c4= card taken [in wait1]
c3
c4
עיד
מת
כוער
מח
תוני
)
29
שרשרת שרשרת תגובת תגובת
מעברים מעברים סדרת סדרת אירוע להוות יכול אירוע מעבר להוות יכול מעבר נוספים מעברים להזניק יכול נוספים האירוע מעברים להזניק יכול האירוע. בודד בצעד להתרחש יכולים מעברים .הרבה בודד בצעד להתרחש יכולים מעברים הרבה בכל להתרחש שיכולים המעברים מספר את בכל נגביל להתרחש שיכולים המעברים מספר את נגביל
צעד.צעד.A
B
b/d a/c
C
D
d/a c/b
עיד
מת
כוער
מח
תוני
)
30
מקביליים במצבים מחדל מקביליים ברירות במצבים מחדל ברירותומקונניםומקוננים
J H
K I
B
C
E
G
F
H
A D
[in B]
עיד
מת
כוער
מח
תוני
)
31
אורגניתאורגנית
משמש להדלקה וכיבוי של האורגנית.aכפתור 1.
האורגנית מאפשרת בחירה של שיר ושל הסגנון בו יושמע השיר. 2. הנוכחי הוא Modeכאשר האורגנית דלוקה התצוגה מראה האם ה-
סגנון או שיר ובהתאם את מספר ושם השיר או הסגנון הנוכחיים. 1כאשר מדליקים את האורגנית נבחרים אוטומטית שיר מספר
מוגדר כסגנון.Mode כשיר והסגנון הנוכחיים וה-1וסגנון מספר המעביר את האורגנית bעל מנת לבחור סגנון יש ללחוץ על כפתור 3.
(. (לכל סגנון 1-9 סגנון ואז ללחוץ על מספר הסגנון הרצוי (Modeל-((StyleName)xיש פונקציה אשר מחזירה את שמו בהנתן מספרו
המעביר את האורגנית cעל מנת לבחור שיר יש ללחוץ על כפתור 4.(. (לכל שיר יש 1-9 שיר ואז ללחוץ על מספר השיר הרצוי (Modeל-
((SongName)xפונקציה אשר מחזירה את שמו בהנתן מספרו גורמת להתחלת נגינה של השיר הנוכחי STARTלחיצה על כפתור 5.
בסגנון הנוכחי. לחיצה נוספת על כפתור זה מפסיקה את המוסיקה. ניתן לשנות את הסגנון ו/או השיר תוך כדי נגינה.
עיד
מת
כוער
מח
תוני
)
32
אורגניתאורגנית
a
c
b 1 32
4 65
7 98
START
ON\OFF
STYLE
SONG
Display
Mode
Name
Number
עיד
מת
כוער
מח
תוני
)
33
אורגניתאורגנית
סימוני ארועים:a – לחיצה על כפתורab – לחיצה על כפתורbc – לחיצה על כפתורcs – לחיצה על כפתורSTARTi – לחיצה על כפתורi i{2,…,9}
1לחיצה על כפתור – 1songend – הסתיימה השמעת השיר הנוכחי
סימוני משתנים:
i,j – 9 ל- 2משתנים היכולים לקבל ערכים ביןk,m – 9 ל- 1משתנים היכולים לקבל ערכים בין
W – סגנון שם או שיר שם לקבל היכול משתנה
עיד
מת
כוער
מח
תוני
)
34
אורגניתאורגנית
c1= mode in song, c2= mode in style ,e1= true)c1)/ w=songname)g),k=g. e2= true)c2)/ w=stylename)t), k=t .e3= true)song# in m)/ w=songname)m),k=m. e4= true)style# in m)] / w=stylename)m), k=m .X1= display “style”, x2= display “song”
offdisable
Do: play song gIn style t
onplay mode song# style# display
style
song
1
j
1
i
enable
StyleDo: x1
SongDo: x2
kDo: display k & w
disp-mode
current item
a
asS or
songendb c
1[c1/]g=1
j[c1]/g=j
1[c2/]t=1
i[c2]/t=i
true)c2) true)c1)
e1 e2 e3
e4
/g=1 /t=1
any numericbutton pressed
עיד
מת
כוער
מח
תוני
)
35
אורגניתאורגנית
c1= mode in song, c2= mode in style ,e1= true)c1)/ w=songname)g),k=g. e2= true)c2)/ w=stylename)t), k=t .e3= true)g= m)/ w=songname)m), k=m. e4= true)t= m)] / w=stylename)m), k=m.X1= display “style”, x2= display “song”
offdisable
Do: play song gIn style t
onplay mode song# style# display
style
songenable
StyleDo: x1
SongDo: x2
kDo: display k & w
disp-mode
current item
a/g=1, t=1
asS or
songendb c
true)c2) true)c1)
e1 e2 e3
e4
any numericbutton pressed
m[c2]/t=m
change style
m[c1]/g=m
change song