אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 11 Statecharts תכונות מתקדמות
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 2 נושאים א- חיסכון של statecharts יחסית למכונות מצבים מסורתיים ב- לולאות ג- משמעות של orthogonality
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 3 נושא א ' חיסכון של statecharts יחסית למכונות מצבים מסורתיים
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 4 מה היתרון של Statecharts מעבר למכונות מצבים מסורתיים ? התשובה : –" תוכנית חסכון " כולל : 1. היררכי state hierarchy 2.action on entry, action on exit, reactions in state 3.diagram connectors 4.history 5.orthogonality ( מצבים מקביליים )
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 5 חסכון ( 1 ): היררכי של מצבים כמה מעברים יש פה :?
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 6 חסכון ( 1 ): היררכי של מצבים כמה מעברים יש פה :? התשובה: /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 7 חסכון ( 2): action on entry, action on exit, reactions in State כמה actions יש פה ?
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 8 חסכון ( 2): action on entry, action on exit, reactions in State התשובה : /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 9 חסכון (3): diagram connectors /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 10 חסכון (4): history לאן חוזר ממצב doorOpen? /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 11 חסכון (5): orthogonality כמה מצבים יש פה ? /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 12 חסכון (5): orthogonality התשובה : " 9 שהם 20" /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 13 חסכון (5): orthogonality "9 שהם 20" 9 בועות (blobs) ברמה הכי נמוכה : (off, doorOpen, rinseCycle, washCycle, dryCycle, normal, faulty, quick, intense) 5 x 2 x 2 = 20 global states (off, doorOpen, rinseCycle, washCycle, dryCycle) x (normal, faulty) x (quick, intense) /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 14 נושא ב ' לולאות
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 15 לולאות - דוגמא /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 16 לולאות - דוגמא ( 1) bool isRinsed(){return(0==rinseTime)}; אם הערך ההתחלתי של rinseTime הוא 2, כמה "סיבובים" יתרחשו במצב rinseCycle עד למעבר למצב washCycle? /cycles++
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 17 לולאות - דוגמא ( 2) bool isRinsed(){return(0==rinseTime)}; אם הערך ההתחלתי של rinseTime הוא 2, כמה "סיבובים" יתרחשו במצב rinseCycle עד למעבר למצב washCycle?
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 18 לולאות - דוגמא ( 3) האם יש יתרון(ות) של לולא על פתרון בלי לולא?
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 19 נושא ג ' משמעות של orthogonality
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 20 השפעה של אינטרקציה בין מצבים מקביליים ( 1) [isRinsed()] [isWashed()]
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 21 השפעה של אינטרקציה בין מצבים מקביליים ( 2) [isRinsed()] [isWashed()]
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 22 מתי בודקים null transition? [isRinsed()] [isWashed()]
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 23 מתי בודקים null transition? תשובה: (תבדוק את זה ב trace) 1.כל פעם שהאוביקט מגיב ל event, התנאי ב null transition נבדק בפקודה האחרונה של take event 2.ב StartBehavior() הפקודה האחרונה היא שליחת event בשם OMStartBehaviorEvent. בטיפול של הevent הזה, התנאי נבדק בסוף כנ"ל (כמו כל event רגיל)