מודל sdmv מערכת בקרה לסימולציה מבוזרת ביישום...
DESCRIPTION
מודל SDMV מערכת בקרה לסימולציה מבוזרת ביישום ארכיטקטורות אובייקטים מבוזרים. ראשי פרקים. מבוא ורקע מערך הבקרה הממוחשב חישוב וארכיטקטורות אובייקטים מבוזרים המודל דרישות הגדרות SDMV Framework בחירת ארכיטקטורה מבוזרת Design Pattern : Observer מימוש והצצה בקוד מסקנות מילוי הדרישות - PowerPoint PPT PresentationTRANSCRIPT
1
SDMVמודל
מערכת בקרה לסימולציה מבוזרת ביישום
ארכיטקטורות אובייקטים מבוזרים
2
ראשי פרקיםמבוא ורקע
מערך הבקרה הממוחשבחישוב וארכיטקטורות אובייקטים מבוזרים
המודלדרישותהגדרותSDMV Frameworkבחירת ארכיטקטורה מבוזרתDesign Pattern : Observer
מימוש והצצה בקוד מסקנות
מילוי הדרישותבעיות פתוחותתרומת העבודה
3
- המחשב המרכזינקודת כשל וצוואר
בקבוק
LAN
מחשב מרכזי
#1
מרכזית
תקשורת
מערך המחשוב הנוכחי
מחשב מקומי
מכ”ם
מחשב מקומי
מרכב אופטי
מחשב מרכזי
#2
פרוטוקולי תקשורתנמוכים מקשים על
הרחבות קישוריות לגורמים
אחרים
4
טוענים שחישוב מבוזר משפר :
שיתוף פעולה באמצעות קישוריות ורשתות מחשביםהגברת ביצועים באמצעות חישוב מקביליאמינות ונגישות באמצעות שכפול הנמכת עלות באמצעות שיתוף משאבים והתאמה
לסטנדרטים נפוצים)יכולת הרחבה באמצעות קונפיגורציה )דינמית
5
Distributed Object Computing
-הוספת היתרונות שOOP:הוסיף לתכנות פרוצדורלי כמו EncapsulationInheritancePolymorphismparameterized typesobject-based exception handling
קישוריות בין יישומים ברמת הפשטה גבוהה יותר תשתית למנגנונים המאפשרים שירותים ברמה גבוהה
יותר עבור יישומים מבוזרים.
6
מודל לאובייקטים מבוזרים
לקוח פונה לאובייקטים ללא תלות במיקום ומימוש( שפה כללית להגדרת ממשקיםInterface Definition
Language) מתווכתשכבה( Object Request Broker)( שירותים נוספיםNaming, Transactions)…
7
מודל כללי לשירות אירועים
א-סינכרוניסינכרוני
8
יתרונות למודל של אירועים
- מצבו של כל משתתף, די בלתי תלוי באחריםLoose coupling
מספר תהליכים יכול לגדול ללא שינוי המערכתבמקרה של נפילת תהליך, אין אפקט דומינו
רמת הפשטה גבוהה יותר – שירות סטנדרטי הוספתpresistance)בקלות )בתווכה / תהליך נוסף קונפיגורציה נוחה - אין צורך לחפש שמותmulticast-broadcast \ filtering( קישוריות בין שירותים שוניםXML) :קרובי משפחהDOC MOM, Blackboard
9
ארכיטקטורות כלליות
CORBA – Common Object Request Broker ArchitectureOMG ‘89: Object bus, Services - Event\Notification.
DCOM – Distributed Component Object ModelCOM: OLE, ActiveX DCOM )‘96(, COM+ Events.
JAVA RMI – Remote Method InvocationJMS
10
ארכיטקטורות לסימולציות
DIS - Distributed Interactive Simulation ALSP - Aggregate Level Simulation Protocol HLA - High Level Architecture
Federation Rules Interface Specification: Run-Time Infrastructure
)RTI( Object Model Template )OMT(
Process, Tools ...
11
ITEA `93
=
12
טופולוגיה רצויה
מפעיל מחשב
Ethernet
תחנת תצוגות ופיקודשרת נתוניםשרת חישובים PC מסמלץ נתונים
Laser printer
13
דרישות כלליות מהמערכת
בניה מעל ארכיטקטורות אובייקטים מבוזרים תוך ניצולהשירותים שלהן
ביזור הפונקציונליות של המערכתיכולת הקלטה ושיחזור של מצבי המערכת המבוזרתקונפיגורציה דינמית יכולת שילוב אלמנטים פיסיקליים עם אלמנטים
סימולטיבייםקישוריות והחלפת מידע עם גורמים חיצונייםעמידה באילוצי זמן אמת של ניסוייםהתממשקות עם המערכת הקיימת
14
SDMVהמודל -
Synchronized Distributed Mapped Values
Static Simulated ObjectIn-Process Active Object Object Model Template
FederateFederation
SSO ASSO C
SSO B
extends
IPAO
implements
IPAOIPAO
FederateA
FederateB
belongs
Federation
15
Object Model Template
16
SDMV Framework
SDMV Framework
Netwotk Protocols
HLA
- O
MT
CORBA Notification& Other services
RTICOM +
Events &OtherServices
Other DOCtechnologies
Exte
rnal
fede
rate
TestConnectorProtocol Independent Interface
Distributed Simulation &Control System
FederateA
FederateB
Federate...
17
HLAבחירת ארכיטקטורת תוכנה -
עוד רמת הפשטה - יתרונות של ארכיטקטורות שונותהתממשקות עם גורמים חיצוניים סוגים שונים של סימולציות, משתתפים חיים עם
ווירטואלייםשימוש חוזר בקודמנגנונים וכלים לסימולציות מבוזרות
סנכרון בין משתתפים מנגנוןpublish\subscribeשירות אירועים מבוזרכלי פיתוח, ניהול ובקרה של מערכת מבוזרת
18
Design Patternsייצוג של פתרונות לבעיות שכיחות בהקשרים מסוימים תפיסת המבנה והיחסים הסטטיים והדינמיים בין
מרכיבים של תוכנהקידום של שימוש חוזר בקוד ובעיצוב:!!! שפה
Intent, AKA, Motivation, Applicability, Structure, Participants, Collaborations, Consequences, Implementation
GOF - 1994Framework מספר :DPביחד, תחום ספציפי, קוד
19
Design Pattern: Observer
Intent:Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
Motivation: MVC or MFC - Document\View Architecture Structure:
Implemetation:Mapping, Trigger Event, Update Protocol, Observing More than 1 Object, … -> ChangeManager
20
SDMV - UML Class Diagram
21
SDMV - Collaboration Diagram
22
הצצה בקוד
TestConnector& testConnector = TestConnector::instance)federateName.c_str)(,
fedExecName, fedFileName(; Position::_positionHandle = testConnector.addPublisher
)&pos, &pos, 0, "Entity", attributes(; Position::_positionHandle = testConnector.addSubscriber
)&pos, "Entity", attributes(;
testConnector.updateAllObjects)(; testConnector.updateObject)Position::_positionHandle (;
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
Conversions
// cast to the right object
pPos = reinterpret_cast<Position*>)*ppPositionObject(;
// get value according to attribute name
if )attrName == "Location"( {
TypeConvertor conv)attrValue, attrValueLength(;
conv << pPos->_x << pPos->_y << pPos->_z;
}
25
מילוי הדרישותשימוש בארכיטקטורות אובייקטים מבוזריםביטול המחשב המרכזיSDMV Framework
שחרור מתלות בפלטפורמה ותווכהפשטות ומהירות פיתוח, התרכזות בלוגיקה
HLAהקלטה ושיחזורשילוב סימולציות קונפיגורציה דינמיתהתממשקות לגורמי חוץ מנגנון סינכרון
הצעה להתממשקות למערכת הקיימת
26
מדידת ביצועים
- 24יישום לדוגמאByte+ Pentium III 450 MHz, 64 RAM, Windows NT10MB EthernetMAK RTI DMSO RTI, LOCAL LAN
Mean Update Time )ms( < 10HzLocal PCLANעדכונים #
DMSOMAKDMSOMAK
10013.5217.724.315.61
100010.05585.923.8463.855
10410.3698.4234.0815.293
10510.2218.8924.4864.347
27
בעיות פתוחות
Quality of Service - RealTimeHLA
RTIאיטי ומכיל נקודות כשל RTI API מסורבל איןmarshallingלטיפוסי נתונים המשך פיתוח, עמידה בסטנדרטים וכלי תוכנה בעתיד
)הנחות במימוש המודל )שעון משותף, בעלות על שדותהמשך פיתוח
בחירת טכנולוגיה למימוש…בסיסי נתונים, גרפיקהרדיוס השדה
28
תרומת העבודה
בחינה של ארכיטקטורות תוכנה חדשות בתחום שלחישוב אובייקטים מבוזרים
פיתוח מודל מבוזר ליישומי בקרה וסימולציה מיפוי בין המודל לבין ארכיטקטורות תוכנה של
אובייקטים מבוזרים יישום שיטות של הנדסת תוכנה ותכנות מונחה עצמים
עבור יישום מבוזר פיתוח תשתית שתאפשר פיתוח מהיר וזול של מערכת
הבקרה ושל הרחבותיה בהמשך