מחקר בגובה העיניים
מחקר בגובה העיניים
עובדות ומספרים


יתרונות התכנות ההתנהגותי, או התכנות מונחה התסריטים
שיטת התכנות ההתנהגותי, או התכנות מונחה התסריטים, פותחה כדי לשפר את העיצוב והבנייה של מערכות מורכבות. מחקר זה מוכיח שבעזרת שיטה זו אפשר להתמודד עם אתגרים מרכזיים בהנדסת תוכנה
שיטת פיתוח התוכנה הנקראת תכנות התנהגותי, או תכנות מונחה תסריטים, היא שיטה שפותחה בידי פרופ' דוד הראל, פרופ' ורנר דאם, ד"ר רמי מראלי, ד"ר גרא וייס, ד"ר אסף מרון וחברי קבוצות המחקר שלהם. שיטה זו נועדה לשפר את שיטת העיצוב והבנייה של מערכות מורכבות, כגון רובוטים תעשייתיים, כלי רכב אוטונומיים ומכשור רפואי. השיטה מבוססת על הרצה במקביל של רכיבי תוכנה הנקראים תסריטים, כאשר כל אחד מהם מתאר תרחיש של קטע התנהגות שהמערכת חייבת לבצע, יכולה לבצע או שאסור לה לבצע. הדרישות והאילוצים של כל התסריטים משולבים יחד בזמן הרצת התוכנה ומייצרים את ההתנהגות המערכתית המוכללת הדרושה. יתרונות השיטה כוללים בין היתר את הטבעיות והאינטואיטיביות של התכנות, הקלות היחסית של מיפוי התוכנה לדרישות השונות ולשינויים שעשויים לחול בהן, והיכולת לבצע ניתוח פורמלי של התוכנה לצורך בדיקתה. בפרויקט מחקר זה המטרה המרכזית היא להוכיח כי בשיטת התכנות ההתנהגותי ניתן להתמודד עם אתגרים מרכזיים בהנדסת תוכנה תוך שמירת היתרונות הייחודיים לשיטה. ארבע תת המטרות שהוגדרו (והושגו) הן: (א) להראות כי בשיטה זו ניתן לפתח גם מערכות גדולות במיוחד; (ב) להוכיח כי למרות שהתסריטים עצמאיים יחסית, ניתן לזהות סתירות וסתירות לכאורה בין התסריטים השונים – באופן אוטומטי; (ג) ביצוע ניסויים אמפיריים שמדגימים את יתרונות השיטה; (ד) מטרה אשר הוספה במהלך הפרויקט – להיעזר בשיטת התכנות ההתנהגותי כאבן יסוד בחזון "החישוב התבוני", השואף להעניק לכלי פיתוח התוכנה יכולות אבחנתיות ויצירתיות לביצוע משימות בתהליך הפיתוח שכיום מתבצעות בקלות ובמהירות יחסית על ידי מהנדסים מומחים ומשתמשים מנוסים. במסגרת המחקר, אשר חלקו מומן על ידי מענק זה של הקרן הלאומית למדע, פורסמו למעלה מ-30 מאמרים והושלמו 8 תארי מאסטר ו-4 תארי דוקטור. בין התוצאות: פיתוח כלים ייחודיים לבדיקות תוכנה אוטומטיות בשיטות פורמליות, ביצוע מחקרים אמפיריים עם מתכנתים ותלמידים לגבי יעילות הפיתוח וההבנה של מערכות הכתובות בתכנות התנהגותי, פיתוח יישומים מגוונים תוך שימוש בשיטה, קידום נושא התכנות בשפה טבעית (במקום שפת קוד פורמלית) תוך שימוש בתכנות התנהגותי, שיפורים משמעותיים בכלי הפיתוח וסביבות הפיתוח של תכנות התנהגותי/מונחה תסריטים בשפות טקסטואליות וויזואליות, והצגת מפת דרכים והוכחות היתכנות לחישוב תבוני תוך שימוש בתכנות התנהגותי.