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

Slides:



Advertisements
Similar presentations
ממיבחניםC שאלות ++.
Advertisements

תוכנה 1 סמסטר א ' תשע " ב תרגול מס ' 7 * מנשקים, דיאגרמות וביטים * לא בהכרח בסדר הזה.
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
Pointers הרצאה קריטית. השאלות הפתוחות מה זה ה- & שמופיע ב scanf מדוע כשמעבירים מחרוזת ל scanf אין צורך ב & האם ניתן להכריז על מערך שגדלו אינו ידוע בתחילת.
1 Formal Specifications for Complex Systems (236368) Tutorial #2 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book); Z.
1 Formal Specifications for Complex Systems (236368) Tutorial #2 Z notation; Examples.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
Inverse kinematics (Craig ch.4) ב"ה. Pieper’s solution נתבונן ברובוט עם 6 מפרקי סיבוב כאשר שלושת הצירים של המפרקים האחרונים נחתכים. נקודת החיתוך נתונה.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
תכנות תרגול 6 שבוע : חישוב e זוהי הנוסחא לחישוב e נראה כיצד לתרגם אותה לפונקציה n n.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
A. Frank File Organization Indexed-Sequential File Introduction Thanks to Tamar Barnes.
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
סמינר במדעי המחשב 3 עודד פרץ משפט הנורמליזציה החזקה.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
שאילת שאלות שאלת חקר המפתח למנעול 1. שאילת שאלות – שאלת חקר מה ניתן לשנות ? :  בתנאים : טמפ ' או לחץ או הכלים, או הציוד  בחומרים : איכות או כמות או.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Data Structures, CS, TAU, Splay Tree 1 Splay Tree - עץ חיפוש בינארי - מטרה לדאוג ל - Amortized Time - פעולה בודדת יכולה לקחת O(N) - אבל כל רצף M פעולות.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
צורות נורמליות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 10.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
Hunting A Cooperative Hunting Behavior by Mobile-robot Troops (by Hiroaki Yamaguchy) מוגש ע " י רועי ואורן.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
ספריה וירטואלית בטכנולוגית J2EE הטכניון – מכון טכנולוגי לישראל הפקולטה להנדסת חשמל המעבדה למערכות תוכנה עזרן אייל טרבלסי אורדן סמסטר חורף תשס " ד מנחה.
Backpatching 1. תזכורת מתרגול קודם קוד ביניים - שפת הרביעיות שיטות לייצור קוד ביניים –שימוש בתכונת code –כתיבה ישירה ל-buffer של פקודות שיטות לתרגום מבני.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
השוואה בין מערכות למסדי נתונים בשקפים אלו נשווה בין מסד הנתונים של רכבת ישראל למסד של רכבת גרמניה. בהרבה מקרים, המסד של מערכת הרכבות הישראלית לא יכול למצוא.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
הודעות ריענון מהיר חומרה והגדרות ערוצים המשך... תרגולים בדגימת ערוצים. Counters.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
CS Introduction to AI Tutorial 6 AB Questions Tutorial 6 AB Questions.
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
רגרסיה קו רגרסיה הוא קו תיאורטי המאפשר לנו לבחון את השפעתו של משתנה מנבא אחד (או יותר) על המשתנה התלוי: במילים אחרות, מודל רגרסיה עוזר לנו לנבא על פי משתנה.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
Line Terminated By Arbitrary Load Zg + Vg d=ld=0 Z0,βZ0,β ZRZR I(0) d V(0) + VgVg ZgZg ZRZR Z0Z0 β I(0) V(0) ΓRΓR Line Impedance Load Impedance Current.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
מבנה מחשבים תרגול מספר 3. טענה על עצים משפט: בעץ שדרגת כל קודקודיו חסומה ב-3, מספר העלים ≤ מספר הקודקודים הפנימיים + 2. הוכחה: באינדוקציה על n, מספר הקודקודים.
1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)
1 גילוי מידע וזיהוי תבניות תרגול מס. 3 התפלגות נורמלית רב - מימדית Kullback-Leibler Divergence - משפט קמירות - נגזרת שנייה משפט Log sum inequality משפט.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
עקרונות תכנות מונחה עצמים תרגול 11: OOP in C++. Outline  Where do the objects live ?  Inheritance  Slicing  Overriding vs Shadowing.
קשר לוגי : סיבה ותוצאה. במשפט – דוגמות קלות בגלל הגשם החלטנו לא לנסוע לטיול לחיפה. הרצון שלי להצליח הניע אותי להשקיע בלימודים. ציפורים נודדות בין יבשות.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Formal Specifications for Complex Systems (236368) Tutorial #1
XML מבוא כללי MCSD Doron Amir
מערכות בסיסי נתונים ספרות Database System Concepts/ Korth, Siberschatz
עבודה עם נתונים באמצעות ADO.NET
ממשקים - interfaces איך לאפשר "הורשה מרובה".
דרכים לאירכוב ושמירה של צילומים (חשובים..)
Data Structures, CS, TAU, Splay Tree
Marina Kogan Sadetsky –
עקרונות בסיסיים בתכנות Visual Basic
NG Interpolation: Divided Differences
Engineering Programming A
Presentation transcript:

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

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

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

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

5 הגדרת המערכת הבסיסית (המשך) ┌─── Checkpoint ────  Checksys ├────────── └───────────── ┌─── Restore ────  Checksys ├────────── └───────────── יצירת גיבוי שחזור מצב המערכת

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

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

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

9 הפעולות לאחר העידון ┌─── Access1 ──── ├────────── └───────────── ┌─── Update1 ──── ├────────── └─────────────

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

11 עידון פעולות ללא עידון נתונים: נאמר כי פעולה קונקרטית (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 בדיקת כללי העידון ל Update כדי להראות כי Update ⊑ Update1 אנו צריכים להוכיח שני דברים: ישימות Pre Update  Abs ⊦ pre Update1 נכונות Pre Update  Abs  Update1  Abs’ ⊦ Update

13 בדיקת כללי העידון ל Update (המשך) ┌─── Update ────  Checksys a? : ADDR p? : PAGE ├────────── └───────────── ראשית נבחן את pre Update (להזכירכם יש לבצע הסתרת משתנים) ┌─── pre Update ──── ├────────── └─────────────

14 בדיקת כללי העידון ל Update (המשך) נזכיר את כלל הצמצום: (  x:A · (x=T)  P)  (T  A  P[T/x]) ונקבל ┌─── pre Update ──── Checksys a? : ADDR p? : PAGE ├────────── └───────────── ואם עוד קצת מאמץ נקבל ┌─── pre Update ──── Checksys a? : ADDR p? : PAGE ├────────── └─────────────

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

16 בדיקת כללי העידון ל Update ( נכונות ) Pre Update: true Abs: Backup = Master  Working = Master  Changes Update1: Master’ = Master  Changes’ = Changes  {a? ↦ p?} Abs’: Backup’ = Master’  Working’ = Master’  Changes’ Update: Working’ = Working  {a? ↦ p?}  Backup’ = Backup נכונות Pre Update  Abs  Update1  Abs’ ⊦ Update, הבא נרשום את כל הפרדיקטים: ועכשיו נוכיח

17 הפעולות לאחר העידון (המשך) ┌─── Access1 ────  Checksys1 a? : ADDR p! : PAGE ├────────── p! = (Master  Changes)(a?) └───────────── נחזור לסכמת הגישה מה הקשר בינה לבין הסכמה: ┌─── Access1_1 ────  Checksys1 a? : ADDR p! : PAGE ├────────── a?  dom(changes)  p! = Changes(a?) a?  dom(changes)  p! = Master(a?) └─────────────