220 likes | 404 Views
תרגום הרצאה מספר שלוש. מגישות: פרבר לאה 015662265 פראנק שרון 038180311. . . . . . . . . . . . . . . . סמנטיקה מעל סיפות של ביצועים. O U . ניתן להשמיט כמה אופרטורים. במקום <>p , נכתוב true U p . במקום []p אפשר לכתוב ¬(<>¬p) ,
E N D
תרגום הרצאה מספר שלוש מגישות: פרבר לאה 015662265 פראנק שרון 038180311
סמנטיקה מעל סיפות של ביצועים O U
ניתן להשמיט כמה אופרטורים • במקום <>p , נכתוב true U p . • במקום []p אפשר לכתוב ¬(<>¬p), או ¬(true U ¬p) . מכיוון ש []p=¬¬[]p. ¬[]pאומר שזה לא נכון ש P מתקיים תמיד, או שבמקום מסויים ¬p מתקיים או <>¬p .
שילובים • []<>p“ Pייתקים אינסוף פעמים" • <>[]p " Pיתקיים ממקום מסויים לתמיד" • ([]<>p) ([]<>q) "אם pמתקיים אינסוף פעמים, אז qגם מתקיים אינסוף פעמים"
מספר יחסים: • [](/\)=([])/\([]) • אבל <>(/\)(<>)/\(<>) • <>(\/)=(<>)\/(<>) • אבל [](\/)([])\/([])
מה עם: • ([]<>)/\([]<>)=[]<>(/\)? • ([]<>)\/([]<>)=[]<>(\/)? • (<>[])/\(<>[])=<>[](/\)? • (<>[])\/(<>[])=<>[](\/)? לא, רק כן!!! כן!!! לא, רק
הגדרה סמנטית פורמלית • תהי סדרה s0 s1 s2 … • תהי i הסיפא של : si si+1 si+2 … (0 = ) • i |= p , כאשר p הוא פסוק, אם si|=p . • i |= /\ אם i |= וגם i |= . • i |= \/ אם i |= או i |= . • i |= ¬ אם לא נכון ש i |= . • i |= <> אם עבור ji כלשהו, j |= . • i |= [] אם לכל ji , j |= . • i |= U אם עבור כמה ji , j|= . ולכל ik<j , k |= .
אז אנחנו מפרשים: • עבור מצב: s|=p כמו בלוגיקת הפסוקים. • עבור ביצוע: |= מפורש מעל סדרה, כמו בשקופית הקודמת. • עבור מערכת / תוכנית: P|= מתקיים אם |= עבור כל סדרה של P .
דוגמת הקפיץ שחרור s1 s2 s3 משיכה שחרור מתוח מתוח מקולקל r0 = s1 s2 s1 s2 s1 s2 s1 … r1 = s1 s2 s3 s3 s3 s3 s3 … r2 = s1 s2 s1 s2 s3 s3 s3 … …
שחרור s1 s2 s3 משיכה שחרור extended extended סיפוק LTL ע"י סדרה אחת r2 = s1 s2 s1 s2 s3 s3 s3 … malfunction r2 |= extended ?? r2 |= O extended ?? r2 |= O O extended ?? r2 |= <> extended ?? r2 |= [] extended ?? r2 |= <>[] extended ?? r2 |= ¬ <>[] extended ?? r2 |= (¬extended) U malfunction ?? r2 |= [](¬extended->O extended) ??
שחרור s1 s2 s3 משיכה שחרור extended extended סיפוק LTL ע"י מערכת malfunction P |= extended ?? P |= O extended ?? P |= O O extended ?? P |= <> extended ?? P|= [] extended ?? P |= <>[] extended ?? P |= ¬ <>[] extended ?? P |= (¬extended) U malfunction ?? P |= [](¬extended->O extended) ??
ספציפיקציות נוספות • [] (PC0=NC0 <> PC0=CR0) • [] (PC0=NC0 U Turn=0) • נסו בבית: - התהליכים מתחלפים בכניסתם לקטע הקריטי. - כל תהליך נכנס לקטע הקריטי שלו בתכיפות אינסופית.
¬<>p<-->[]¬p [](pq)([]p[]q) []p(p/\O[]p) O¬p<-->¬Op [](pOp)(p[]p) (pUq)<-->(q\/(p/\O(pUq))) (pUq)<>q + אקסיומת מלוגיקה של פסוקים . + האקסיומה: _p_ []p מערכת הוכחה
דוגמת הרמזור אדוםצהובירוקתמיד דולק אור אחד בלבד: [](¬(gr/\ye)/\¬(ye/\re)/\¬(re/\gr)/\(gr\/ye\/re)) שינוי נכון של צבע האור: []((grU ye)\/(yeU re)\/(reU gr))
נחוץ רק כשיכולים להתחיל באור צהוב סוג נוסף של רמזור צהוב אדוםצהובירוק ניסיון ראשון: [](((gr\/re) U ye)\/(ye U (gr\/re))) ספציפיקציה נכונה: []( (gr(grU (ye /\ ( yeUre )))) /\(re(reU (ye /\ ( yeUgr )))) /\(ye(yeU (gr \/ re))))
מאפיינים של תוכניות סדרתיות • init- התוכנית מתחילה ומספקת את התנאי ההתחלתי. • Finish– התוכנית מסתיימת ואין מצבים נגישים. • נכונות חלקית:init/\[](finish) • סיום:init/\<>finish • נכונות מלאה: init/\<>(finish/\ ) • קבוע: init/\[]
a a s0 b s1 b אוטומט מעל מילים סופיות • A=<, S, , I, F> • (סופי) - האלף-בית. • (סופי) S - המצבים. • S x x S- פונקצית המעברים. • I S – המצבים ההתחלתיים. • F S – המצבים המקבלים.
a a s0 b s1 b פונקצית המעברים • (s0, a, s0) • (s0, b, s1) • (s1, a, s0) • (s1, b, s1)
a a s0 b s1 b ריצה על מילה • מילה מעל , לדוגמא: abaab . • רצף של מצבים , לדוגמא: s0 s0 s1 s0 s0 s1 . • מתחיל במצב התחלתי . • עוקבים ארי פונקצית המעברים (si, ci , si+1) . • מקבלים אם הריצה מסיימים במצב מקבל.
a a s0 b s1 b שפת האוטומט • המילים אשר מתקבלות ע"י האוטומט . • כולל את המילים aabbba, abbbba . • לא כולל את המילים abab, abbb. • מהי השפה ?
אוטומט אי דטרמיניסטי • מעברים: (s0,a ,s0), (s0,b ,s0), (s0,a ,s1),(s1,a ,s1) • מהי שפת האוטומט הזה ? s1 s0 a a a,b
אוטומט דטרמיניסטי שקול s0 s1 a a a,b a s0 s1 a b b