1 / 17

Formal Specifications for Complex Systems (236368) Tutorial #9

Formal Specifications for Complex Systems (236368) Tutorial #9. LTL – properties hierarchy; CTL (Computation Tree Logic). CTL vs. LTL. ב LTL התייחסנו לזמן על ידי התייחסות לסדרת מצבים (חישוב ספציפי) ב CTL נתייחס לכל החישובים האפשריים על יד התייחסות לעץ החישוב. מפרטים פורמאליים - תירגול.

tacita
Download Presentation

Formal Specifications for Complex Systems (236368) Tutorial #9

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formal Specifications for Complex Systems (236368)Tutorial #9 LTL – properties hierarchy; CTL (Computation Tree Logic)

  2. CTL vs. LTL • ב LTL התייחסנו לזמן על ידי התייחסות לסדרת מצבים (חישוב ספציפי) • ב CTL נתייחס לכל החישובים האפשריים על יד התייחסות לעץ החישוב. מפרטים פורמאליים - תירגול שחר דג

  3. תכונות של נוסחאות (תזכורת) Let P and Q be past formulas (formulas without future operator) Safety: ⃞P p must always be true eventually p will be true (one-time event) Guaranty (liveness): ⃟P Obligation: (⃞P ⋁⃟Q) ∧ (⃞P’ ∨⃟Q’) ∧ … Recurrence: ⃞⃟P p will be repeatedly true (שוב ושוב) Persistence: ⃟⃞P p is true from some point and on(the computation is stabilize to state in which p holds) Reactivity: (⃞⃟P ⋁⃟⃞Q) ∧ (⃞⃟P’ ∨⃟⃞Q’) ∧ … strong fairness לכל סיווג של פונקציות טכניקות הוכחה (אימות) משלו למשל תכונות safety נוכיח באינדוקציה על הפעולות האפשריות (כלומר אם היא מופרת, יש לחישוב רישה סופית שמפירה אותה) לא כל תכונה ניתן לשלול ע"י רישה סופית (לשלילת עצירה אין רישה סופית) מפרטים פורמאליים - תירגול שחר דג

  4. היררכיה של נוסחאות (תזכורת) Reactivity (⃞⃟P ⋁ ⃟⃞Q) Recurrence ⃞⃟P Persistence ⃟⃞P Obligation (⃞P ⋁ ⃟Q) Safety ⃞P Guaranty ⃟P מפרטים פורמאליים - תירגול שחר דג

  5. תכונות של נוסחאות Prove that the following claim is “obligation” “if you will ever travel, you will eventually have to work to pay for it” (you will have to work before or after the trip) מפרטים פורמאליים - תירגול שחר דג

  6. תכונות של נוסחאות Prove that every “safety” formula is also “obligation” Prove that every “guarantee” formula is also “obligation” מפרטים פורמאליים - תירגול שחר דג

  7. תכונות של נוסחאות Prove that every “obligation” is also “persistence” מפרטים פורמאליים - תירגול שחר דג

  8. תכונות של נוסחאות Prove that ⃞⃟r →⃞⃟p is “reactivity” מפרטים פורמאליים - תירגול שחר דג

  9. דוגמאות מילוליות • כתוב ביטוי בלוגיקה טמפוראלית המתאר את המשפט הבא:"כאשר יורד גשם, אנשים פותחים מטריות" מפרטים פורמאליים - תירגול שחר דג

  10. דוגמאות מילוליות • כתוב ביטוי בלוגיקה טמפוראלית המתאר את המשפט הבא:"אחרי שאוכלים, מרגישים שבעים" • כתוב ביטוי בלוגיקה טמפוראלית המתאר את המשפט הבא:"לפני שמבזבזים, צריך כסף" מפרטים פורמאליים - תירגול שחר דג

  11. CTL • אוסף החישובים האפשריים של תוכנית ניתן לתיאור על ידי עץ אין סופי ששורשו הוא המצב ההתחלתי. • כל צומת בעץ מיצג מצב (state) של התוכנית (הערכים של כל משתני התוכנית) • לכל צומת בעץ יש בנים כמספר המעברים האפשריים מהמצב שמיוצג על ידי הצומת למצבים העוקבים לו. • אנו רוצים אפשרות לבטא טענות כגון: "יש חישוב (מסלול בעץ) בו p תמיד נכון". סוג כזה של טענות לא ניתן לבטא ב LTL. • בנוסף ל path temporal operators: F ל ⃟, G ל ⃞, X ל Ο ו U ל U נגדיר שני אופרטורים חדשים (path quantifiers)Aϕ – שמשמעותו ϕ נכון בכל המסלולים המתחילים כאן (במצב הנוכחי)Eϕ – שמשמעותו ϕ נכון באיזשהו מהמסלולים המתחיל כאן(ב CTL ניתן להתייחס לעבר, אבל מכיוון שכלי האימות האוטומטיים לא מטפלים בעבר, גם אנו לא נתייחס אליו) • בין ה path quantifiers מתקיים הקשר הבא: Af = ¬E¬f. מפרטים פורמאליים - תירגול שחר דג

  12. רבי שחר היה נותן בהם סימנים LTLCTL ⃟ F – Finally ⃞ G – Globally ΟX - neXt U U - Until A - All E - Exist For all Always Eventually path operator path quantifier מפרטים פורמאליים - תירגול שחר דג

  13. CTL – contd. • את הנוסחאות ב CTL אנו מחלקים לנוסחאות מצב (state) ולנוסחאות מסלול (path). • נוסחאות מצב הן כל הנוסחאות בעלות המאפיינים הבאים: • כל נוסחא אטומית. • אם f ו g הן נוסחאות מצב אזי גם ¬f ו f ⋁ g הן נוסחאות מצב. • אם f היא נוסחת מסלול אזי Ef ו Af הן נוסחאות מצב. • נוסחאות מסלול הן כל הנוסחאות בעלות המאפיינים הבאים: • אם f ו g הן נוסחאות מצב אזי Xf, Ff, Gf, fUg הן נוסחאות מסלול. • אם f היא נוסחת מסלול אזי גם ¬f היא נוסחת מסלול. • לא ניתן להפעיל path operator על נוסחת מסלול. על נוסחת מסלול ניתן להפעיל רק path quantifier.לכן רק הזוגות הבאים מותרים AF, AG, AX, AU, EF, EG,EX, EU. מפרטים פורמאליים - תירגול שחר דג

  14. CTL* • ב CTL* ניתן לרשום כל רצף של כמתים למשל: EFp ⋁ A(FGp)ביטוי זה לא ניתן לרישום ב CTL או ב LTLל CTL* כח הביטוי העשיר מבין 3 השיטות • פרוש של LTL כתת-לוגיקה של CTL* : φ מתפרשת כ – Aφ’ • ב CTL הקריבו את כח הביטוי לטובת כלים אוטומטיים.(יש אלגוריתמים מאד יעילים עבור CTL) • ב CTL לא ניתן לבטא נוסחא המקבילה לנוסחת LTL הבאה: ⃟ ⃞ p(כלומר, ל – (AFGp. • ב LTL לא ניתן לבטא נוסחא המקבילה לנוסחת CTL הבאה: EFp • (ניתן להוכיח) רמזים לקושי : AFAGp, AFEGp CTL* LTL CTL מפרטים פורמאליים - תירגול שחר דג

  15. דוגמא - המעלית הגדרת העולם (הגדרה מספקת אבל לא לגמרי פורמאלית) floor: 1..3 // the current floor moving: boolean door: {open, closed} req: array [1..3] of boolean // we won’t differ between a call from // floor i and a person in the elevator // that presses the i’th button המצב ההתחלתי מפרטים פורמאליים - תירגול שחר דג

  16. דוגמא - המעלית הפעולות / התנאים The elevator doesn’t move with open door (LTL). And now lets do it in CTL. מפרטים פורמאליים - תירגול שחר דג

  17. דוגמא - המעלית הפעולות / התנאים The elevator moves if there is no request from the current floor and there is a request from a different floor. מפרטים פורמאליים - תירגול שחר דג

More Related