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

28
1 ללללSDMV ללללל לללל ללללללללל לללללל לללללל ללללללללללל ללללללללל ללללללל

Post on 21-Dec-2015

239 views

Category:

Documents


4 download

TRANSCRIPT

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

1

SDMVמודל

מערכת בקרה לסימולציה מבוזרת ביישום

ארכיטקטורות אובייקטים מבוזרים

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

2

ראשי פרקיםמבוא ורקע

מערך הבקרה הממוחשבחישוב וארכיטקטורות אובייקטים מבוזרים

המודלדרישותהגדרותSDMV Frameworkבחירת ארכיטקטורה מבוזרתDesign Pattern : Observer

מימוש והצצה בקוד מסקנות

מילוי הדרישותבעיות פתוחותתרומת העבודה

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

3

- המחשב המרכזינקודת כשל וצוואר

בקבוק

LAN

מחשב מרכזי

#1

מרכזית

תקשורת

מערך המחשוב הנוכחי

מחשב מקומי

מכ”ם

מחשב מקומי

מרכב אופטי

מחשב מרכזי

#2

פרוטוקולי תקשורתנמוכים מקשים על

הרחבות קישוריות לגורמים

אחרים

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

4

טוענים שחישוב מבוזר משפר :

שיתוף פעולה באמצעות קישוריות ורשתות מחשביםהגברת ביצועים באמצעות חישוב מקביליאמינות ונגישות באמצעות שכפול הנמכת עלות באמצעות שיתוף משאבים והתאמה

לסטנדרטים נפוצים)יכולת הרחבה באמצעות קונפיגורציה )דינמית

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

5

Distributed Object Computing

-הוספת היתרונות שOOP:הוסיף לתכנות פרוצדורלי כמו EncapsulationInheritancePolymorphismparameterized typesobject-based exception handling

קישוריות בין יישומים ברמת הפשטה גבוהה יותר תשתית למנגנונים המאפשרים שירותים ברמה גבוהה

יותר עבור יישומים מבוזרים.

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

6

מודל לאובייקטים מבוזרים

לקוח פונה לאובייקטים ללא תלות במיקום ומימוש( שפה כללית להגדרת ממשקיםInterface Definition

Language) מתווכתשכבה( Object Request Broker)( שירותים נוספיםNaming, Transactions)…

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

7

מודל כללי לשירות אירועים

א-סינכרוניסינכרוני

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

8

יתרונות למודל של אירועים

- מצבו של כל משתתף, די בלתי תלוי באחריםLoose coupling

מספר תהליכים יכול לגדול ללא שינוי המערכתבמקרה של נפילת תהליך, אין אפקט דומינו

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

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

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

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

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 ...

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

11

ITEA `93

=

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

12

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

מפעיל מחשב

Ethernet

תחנת תצוגות ופיקודשרת נתוניםשרת חישובים PC מסמלץ נתונים

Laser printer

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

13

דרישות כלליות מהמערכת

בניה מעל ארכיטקטורות אובייקטים מבוזרים תוך ניצולהשירותים שלהן

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

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

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

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

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

15

Object Model Template

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

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...

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

17

HLAבחירת ארכיטקטורת תוכנה -

עוד רמת הפשטה - יתרונות של ארכיטקטורות שונותהתממשקות עם גורמים חיצוניים סוגים שונים של סימולציות, משתתפים חיים עם

ווירטואלייםשימוש חוזר בקודמנגנונים וכלים לסימולציות מבוזרות

סנכרון בין משתתפים מנגנוןpublish\subscribeשירות אירועים מבוזרכלי פיתוח, ניהול ובקרה של מערכת מבוזרת

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

18

Design Patternsייצוג של פתרונות לבעיות שכיחות בהקשרים מסוימים תפיסת המבנה והיחסים הסטטיים והדינמיים בין

מרכיבים של תוכנהקידום של שימוש חוזר בקוד ובעיצוב:!!! שפה

Intent, AKA, Motivation, Applicability, Structure, Participants, Collaborations, Consequences, Implementation

GOF - 1994Framework מספר :DPביחד, תחום ספציפי, קוד

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

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

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

20

SDMV - UML Class Diagram

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

21

SDMV - Collaboration Diagram

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

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 (;

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

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(;

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

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;

}

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

25

מילוי הדרישותשימוש בארכיטקטורות אובייקטים מבוזריםביטול המחשב המרכזיSDMV Framework

שחרור מתלות בפלטפורמה ותווכהפשטות ומהירות פיתוח, התרכזות בלוגיקה

HLAהקלטה ושיחזורשילוב סימולציות קונפיגורציה דינמיתהתממשקות לגורמי חוץ מנגנון סינכרון

הצעה להתממשקות למערכת הקיימת

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

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

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

27

בעיות פתוחות

Quality of Service - RealTimeHLA

RTIאיטי ומכיל נקודות כשל RTI API מסורבל איןmarshallingלטיפוסי נתונים המשך פיתוח, עמידה בסטנדרטים וכלי תוכנה בעתיד

)הנחות במימוש המודל )שעון משותף, בעלות על שדותהמשך פיתוח

בחירת טכנולוגיה למימוש…בסיסי נתונים, גרפיקהרדיוס השדה

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

28

תרומת העבודה

בחינה של ארכיטקטורות תוכנה חדשות בתחום שלחישוב אובייקטים מבוזרים

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

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

עבור יישום מבוזר פיתוח תשתית שתאפשר פיתוח מהיר וזול של מערכת

הבקרה ושל הרחבותיה בהמשך