Too

About this project

להלן תיאור הפרויקט הנדון.

מגרש המשחקים של שפת TOO מגרש זה אמור לפעול בדומה למגרש המשחקים של שפת GO; לאפשר כתיבה והרצה של תוכניות בלחיצת כפתור וכמובן לראות את תוצאות הריצה.

שפת TOO מתמחה בתחום האינטרנט של הדברים (IOT) ולכן המגרש חייב להכיל דברים - אקטואטורים וחיישנים שיעמדו זמינים לצורך המשחקים. מאחר והכל אינטרנטי, ועל מנת שאפשר יהיה לראות את הדברים עובדים באמת, תותקן מצלמה ליד כל חיישן שמראה את המצב שלו. המטרה של הפרויקט היא לייצר סביבת משחק שמאפשרת לבנות תוכניות חדשות ולהריץ אותן, ולראות כיצד הן משפיעות על דברים אחרים. מגרש המשחקים אמור גם להיות שיתופי; לאפשר למספר שחקנים לשחק ביחד, ליצור דברים משותפים או להתחרות אחד בשני.

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

שפת TOO עוברת תרגום (COMPILATION) לשפת GO וכך היא “נהנית” מתכונות חשובות כמו יעילות קוד, טיפול בריבוי תהליכים במקביל, איסוף אשפה, ועוד.

שפת GO שמה לעצמה את הפשטות כיעד מרכזי (ראה הרצאה של ROB PIKE) , ובהיבט של מספר המילים השמורות (25) ומספר חוקי הדקדוק (101) היא פשוטה בהרבה משפת ++C שבה יש 90 מילים שמורות ו- 200 חוקי דקדוק.

שפת TOO פשוטה עוד בהרבה משפת GO והתוצאה 4 מילים שמורות ו- 13 חוקי דקדוק! היא למעשה כל כך קטנה שאפשר לראות בה מערכת לכתיבת חוקים במקום שפת תכנות.

תיאור נרחב של השפה קיים במסמכים נפרדים.

תיאור מגרש המשחקים מגרש המשחקים של TOO, כמו זה של GO, אמור להציג בצד אחד חלון לכתיבת תכניות TOO ועוד חלון לכתיבת קובץ JSON, ועוד כפתור לריצה. בשונה מהמגרש של GO, המגרש של TOO אמור להכיל בצד השני חלון של הדברים הפיזיים עם המצלמות שמראות אותם, וכן חלון של הדברים הוירטואלים. לכל דבר פיזי אמור להיות מציין מספרי שמראה כמה משתמשים אחרים משלבים אותו בתוכניות שלהם.

מה נדרש בפרויקט 1/ נדרש לבנות את המעבדה שתכיל את הדברים הפיזיים עם המצלמות שלהם. לפחות ארבעה סוגים של חיישנים פיזיים שיסופקו למעבדה ולפחות שני חיישנים מכל סוג. 2/ נדרש לבנות את אתר מגרש המשחקים בדומה לאתר של מגרש המשחקים של GO.

David H. Lorenz
David H. Lorenz
Dept. of Mathematics and Computer Science

Senior Faculty at Open University