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

Post on 21-Jan-2016

84 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

מודל SDMV מערכת בקרה לסימולציה מבוזרת ביישום ארכיטקטורות אובייקטים מבוזרים. ראשי פרקים. מבוא ורקע מערך הבקרה הממוחשב חישוב וארכיטקטורות אובייקטים מבוזרים המודל דרישות הגדרות SDMV Framework בחירת ארכיטקטורה מבוזרת Design Pattern : Observer מימוש והצצה בקוד מסקנות מילוי הדרישות - PowerPoint PPT Presentation

TRANSCRIPT

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

תרומת העבודה

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

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

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

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

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

top related