Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 מודל SDMV מערכת בקרה לסימולציה מבוזרת ביישום ארכיטקטורות אובייקטים מבוזרים.

Similar presentations


Presentation on theme: "1 מודל SDMV מערכת בקרה לסימולציה מבוזרת ביישום ארכיטקטורות אובייקטים מבוזרים."— Presentation transcript:

1 1 מודל SDMV מערכת בקרה לסימולציה מבוזרת ביישום ארכיטקטורות אובייקטים מבוזרים

2 2 ראשי פרקים n מבוא ורקע u מערך הבקרה הממוחשב u חישוב וארכיטקטורות אובייקטים מבוזרים n המודל u דרישות u הגדרות u SDMV Framework u בחירת ארכיטקטורה מבוזרת u Design Pattern : Observer u מימוש והצצה בקוד n מסקנות u מילוי הדרישות u בעיות פתוחות u תרומת העבודה

3 3 n המחשב המרכזי - נקודת כשל וצוואר בקבוק LAN מחשב מרכזי #1 מרכזית תקשורת מערך המחשוב הנוכחי מחשב מקומי מכ ” ם מחשב מקומי מרכב אופטי מחשב מרכזי #2 n פרוטוקולי תקשורת נמוכים מקשים על הרחבות n קישוריות לגורמים אחרים

4 4 טוענים שחישוב מבוזר משפר : n שיתוף פעולה באמצעות קישוריות ורשתות מחשבים n הגברת ביצועים באמצעות חישוב מקבילי n אמינות ונגישות באמצעות שכפול n הנמכת עלות באמצעות שיתוף משאבים והתאמה לסטנדרטים נפוצים n יכולת הרחבה באמצעות קונפיגורציה (דינמית)

5 5 Distributed Object Computing n הוספת היתרונות ש- OOP הוסיף לתכנות פרוצדורלי כמו: u Encapsulation u Inheritance u Polymorphism u parameterized types u object-based exception handling n קישוריות בין יישומים ברמת הפשטה גבוהה יותר n תשתית למנגנונים המאפשרים שירותים ברמה גבוהה יותר עבור יישומים מבוזרים.

6 6 מודל לאובייקטים מבוזרים n לקוח פונה לאובייקטים ללא תלות במיקום ומימוש n שפה כללית להגדרת ממשקים (Interface Definition Language) n שכבה מתווכת (Object Request Broker) n שירותים נוספים (Naming, Transactions…)

7 7 מודל כללי לשירות אירועים סינכרוני  א - סינכרוני

8 8 יתרונות למודל של אירועים n מצבו של כל משתתף, די בלתי תלוי באחרים - Loose coupling u מספר תהליכים יכול לגדול ללא שינוי המערכת u במקרה של נפילת תהליך, אין אפקט דומינו n רמת הפשטה גבוהה יותר – שירות סטנדרטי n הוספת presistance בקלות (בתווכה / תהליך נוסף) n קונפיגורציה נוחה - אין צורך לחפש שמות n multicast-broadcast \ filtering n קישוריות בין שירותים שונים (XML) n קרובי משפחה: DOC  MOM, Blackboard

9 9 ארכיטקטורות כלליות n CORBA – Common Object Request Broker Architecture OMG ‘89: Object bus, Services - Event\Notification. n DCOM – Distributed Component Object Model COM: OLE, ActiveX  DCOM (‘96), COM+ Events. n JAVA RMI – Remote Method Invocation JMS

10 10 ארכיטקטורות לסימולציות n DIS - Distributed Interactive Simulation n ALSP - Aggregate Level Simulation Protocol n HLA - High Level Architecture u Federation Rules u Interface Specification: Run-Time Infrastructure (RTI) u Object Model Template (OMT) u Process, Tools...

11 11 ITEA `93  =

12 12 טופולוגיה רצויה

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

14 14 המודל - SDMV n Synchronized Distributed Mapped Values n Static Simulated Object n In-Process Active Object n Object Model Template n Federate n Federation

15 15 Object Model Template

16 16 SDMV Framework

17 17 בחירת ארכיטקטורת תוכנה - HLA u עוד רמת הפשטה - יתרונות של ארכיטקטורות שונות u התממשקות עם גורמים חיצוניים u סוגים שונים של סימולציות, משתתפים חיים עם ווירטואליים u שימוש חוזר בקוד u מנגנונים וכלים לסימולציות מבוזרות F סנכרון בין משתתפים F מנגנון publish\subscribe F שירות אירועים מבוזר F כלי פיתוח, ניהול ובקרה של מערכת מבוזרת

18 18 Design Patterns n ייצוג של פתרונות לבעיות שכיחות בהקשרים מסוימים n תפיסת המבנה והיחסים הסטטיים והדינמיים בין מרכיבים של תוכנה n קידום של שימוש חוזר בקוד ובעיצוב n שפה !!!: n Intent, AKA, Motivation, Applicability, Structure, Participants, Collaborations, Consequences, Implementation n GOF - 1994 n Framework: מספר DP ביחד, תחום ספציפי, קוד

19 19 Design Pattern: Observer n Intent: Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. n Motivation: MVC or MFC - Document\View Architecture n Structure: n Implemetation: Mapping, Trigger Event, Update Protocol, Observing More than 1 Object, … -> ChangeManager

20 20 SDMV - UML Class Diagram

21 21 SDMV - Collaboration Diagram

22 22 הצצה בקוד n TestConnector& testConnector = TestConnector::instance(federateName.c_str(), fedExecName, fedFileName); n Position::_positionHandle = testConnector.addPublisher (&pos, &pos, 0, "Entity", attributes); n Position::_positionHandle = testConnector.addSubscriber (&pos, "Entity", attributes); n testConnector.updateAllObjects(); n testConnector.updateObject(Position::_positionHandle );

23 23 Callbacks class Position : public IConnectorCallback { double _x, _y, _z; public: // ctor Position () : _x(0.0), _y(0.0), _z(0.0) {} // Callback functions for Position void updateAttr(TcHandle handleObject, TcHandle& userData, void **ppPositionObject, const string& sourceName, const string& attrName, char* attrValue, int& attrValueLength); void reflectAttr(TcHandle handleObject, TcHandle& userData, void **ppPositionObject, const string& sourceName, const string& attrName, const char* attrValue, const int& attrValueLength);

24 24 Conversions // cast to the right object pPos = reinterpret_cast (*ppPositionObject); // get value according to attribute name if (attrName == "Location") { TypeConvertor conv(attrValue, attrValueLength); conv _x _y _z; }

25 25 מילוי הדרישות n שימוש בארכיטקטורות אובייקטים מבוזרים n ביטול המחשב המרכזי n SDMV Framework u שחרור מתלות בפלטפורמה ותווכה u פשטות ומהירות פיתוח, התרכזות בלוגיקה n HLA u הקלטה ושיחזור  שילוב סימולציות u קונפיגורציה דינמית  התממשקות לגורמי חוץ u מנגנון סינכרון n הצעה להתממשקות למערכת הקיימת

26 26 מדידת ביצועים n יישום לדוגמא - 24Byte + n Pentium III 450 MHz, 64 RAM, Windows NT n 10MB Ethernet n MAK RTI  DMSO RTI, LOCAL  LAN n Mean Update Time (ms) < 10Hz

27 27 בעיות פתוחות n Quality of Service - RealTime n HLA u RTI איטי ומכיל נקודות כשל u RTI API מסורבל u אין marshalling לטיפוסי נתונים u המשך פיתוח, עמידה בסטנדרטים וכלי תוכנה בעתיד n הנחות במימוש המודל (שעון משותף, בעלות על שדות) n המשך פיתוח u בחירת טכנולוגיה למימוש u בסיסי נתונים, גרפיקה… u רדיוס השדה

28 28 תרומת העבודה n בחינה של ארכיטקטורות תוכנה חדשות בתחום של חישוב אובייקטים מבוזרים n פיתוח מודל מבוזר ליישומי בקרה וסימולציה n מיפוי בין המודל לבין ארכיטקטורות תוכנה של אובייקטים מבוזרים n יישום שיטות של הנדסת תוכנה ותכנות מונחה עצמים עבור יישום מבוזר n פיתוח תשתית שתאפשר פיתוח מהיר וזול של מערכת הבקרה ושל הרחבותיה בהמשך


Download ppt "1 מודל SDMV מערכת בקרה לסימולציה מבוזרת ביישום ארכיטקטורות אובייקטים מבוזרים."

Similar presentations


Ads by Google