Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.

Similar presentations


Presentation on theme: "1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations."— Presentation transcript:

1 1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations

2 Emilia Katz, Shahar Dag2 אנו רוצים בסיס נתונים שימפה בין כתובות לעמודי מידע. אנו רוצים להגדיר נקודה בזמן (CheckPoint) בה יוקפא המידע. ניתן יהיה לשחזר את מצב המערכת למצבה בנקודת ההקפאה בעצם נקודת ההקפאה משמשת מעין גיבוי למצב המערכת עמודים בספר של Zed שבאתר מערכת לניהול זיכרון

3 Emilia Katz, Shahar Dag3 הגדרות כלליות למערכת נגדיר שני טיפוסי נתונים בסיסיים: ADDR, PAGE נגדיר את בסיס הנתונים שלנו כמיפוי בין הכתובות לדפים. הגדרה / סימון, בכל מקום נחליף את DATABASE במיפוי המערכת: Checksys = [ Working, Backup : DATABASE ] יש לדאוג לאיתחול של כל מרחב הכתובות לדפים ריקים

4 Emilia Katz, Shahar Dag4 הגדרת המערכת הבסיסית ┌─── Access ────  Checksys a? : ADDR p! : PAGE ├────────── p! = Working(a?) └───────────── ┌─── Update ────  Checksys a? : ADDR p? : PAGE ├────────── └───────────── קבלת דף לקריאה, אין שינוי במצב המערכת עדכון דף במערכת

5 Emilia Katz, Shahar Dag5 הגדרת המערכת הבסיסית (המשך) ┌─── Checkpoint ──── ├────────── └───────────── ┌─── Restore ──── ├────────── └───────────── יצירת גיבוי שחזור מצב המערכת

6 Emilia Katz, Shahar Dag6 עידון נתונים (Data refinement) אנו נגדיר מחדש את מבנה הנתונים שלנו. ההגדרה החדשה תהיה מותאמת יותר לבעיה האמיתית. בעקבות שינוי מבנה הנתונים נצטרך להגדיר מחדש (חלק) מהפעולות של המערכת

7 Emilia Katz, Shahar Dag7 עידון נתונים להחזיק שני עותקים מלאים של בסיס הנתונים התברר לנו כהחלטה יקרה. תופס הרבה מקום. לוקח הרבה זמן ליצור גיבוי במקום לשמור שני עותקים נשמור עותק אחד + רשימת שינויים

8 Emilia Katz, Shahar Dag8 עידון הנתונים ┌─── Checksys1 ──── └───────────── ┌─── Abs ──── ├────────── └───────────── הסכמה המעודנת (קונקרטית) הגדרת הקשר בין שתי המערכות Master = [ master : DATABASE ] Changes = [ changes : ADDR PAGE ] הגיבוי שלנו רשימת השינויים מהגיבוי האחרון

9 Emilia Katz, Shahar Dag9 הפעולות לאחר העידון ┌─── Access1 ──── ├────────── └───────────── ┌─── Update1 ──── ├────────── └─────────────

10 Emilia Katz, Shahar Dag10 הפעולות לאחר העידון (המשך) ┌─── Checkpoint1 ──── ├────────── └───────────── ┌─── Restore1 ──── ├────────── └───────────── יצירת גיבוי שחזור מצב המערכת

11 Emilia Katz, Shahar Dag11 עידון פעולות ללא עידון נתונים: נאמר כי פעולה קונקרטית (OP C ) מעדנת פעולה אבסטרקטית (OP A ) אם: 1.הפעולות פועלות על אותם המשתנים 2.ישימות – pre OP A ⊦ pre OP C 3.נכונות – (pre OP A )  OP C ⊦ OP A ונסמן זאת כך : OP A ⊑ OP C עם עידון נתונים: הפעולות פועלות על שני ייצוגים שונים של נתוני המערכת המקושרים ביניהם על ידי סכימת Abs. 1.ישימות – (pre OP A )  Abs ⊦ pre OP C 2.נכונות – (pre OP A )  Abs  OP C  Abs’ ⊦ OP A OP A is possible -> OP C is possible OP A was possible; OP C was performed -> the result of OP A holds

12 Emilia Katz, Shahar Dag12 בדיקת כללי העידון ל Update כדי להראות כי Update ⊑ Update1 אנו צריכים להוכיח שני דברים: ישימות נכונות

13 Emilia Katz, Shahar Dag13 בדיקת כללי העידון ל Update (המשך) ┌─── Update ──── ├────────── └───────────── ראשית נבחן את pre Update ┌─── pre Update ──── ├────────── └─────────────

14 Emilia Katz, Shahar Dag14 בדיקת כללי העידון ל Update (המשך) נזכיר את כלל הצמצום: (  x:A · (x=T)  P)  (T  A  P[T/x]) ונקבל ┌─── pre Update ──── ├────────── └───────────── ┌─── pre Update ──── ├────────── └─────────────

15 Emilia Katz, Shahar Dag15 בדיקת כללי העידון ל Update (ישימות) ישימות Pre Update  Abs ⊦ pre Update1

16 Emilia Katz, Shahar Dag16 בדיקת כללי העידון ל Update ( נכונות ) Pre Update Abs Update1 Abs’ Update נכונות Pre Update  Abs  Update1  Abs’ ⊦ Update, הבא נרשום את כל הפרדיקטים: ועכשיו נוכיח

17 Emilia Katz, Shahar Dag17 הפעולות לאחר העידון (המשך) ┌─── Access1 ──── ├────────── └───────────── נחזור לסכמת הגישה מה הקשר בינה לבין הסכמה: ┌─── Access1_1 ──── ├────────── └─────────────


Download ppt "1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations."

Similar presentations


Ads by Google