Download presentation
Presentation is loading. Please wait.
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 פיתוח תשתית שתאפשר פיתוח מהיר וזול של מערכת הבקרה ושל הרחבותיה בהמשך
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.