صفحه 1:
انواع ‎Architectural Styles‏

صفحه 2:
انواع 6 هاي معماری... @ ملاتا ااام © ‎Data-Centered‏ © وابسته به ترتیب انجام محاسبات و * 16۵051107 0 الا ‎Independent Components ° Main ©‏ ع صل بامعطناك/سمعرومرط 1 | * وهووه»۲:0 وهناهءعتصههع * (۸۳1) 120760 1 و اعنام 1۱ Invocation Data Sharing Style ° © با استفاده از حاده هاي مشترك توسط ۱ ۱۳۹ yet a Cert RN ee ete Error sees See ۵ 1 1 ۱ و 0 ل ا 5 ‎sei nee‏ Interactive Process Style Pry core ‏ارتباط بین‎ * ۳ 00

صفحه 3:
Data-Flow ۹6 © موارد استفاده: ‎ats een eid‏ ۱ (لعطقع11-0ع7لى و 6051137-10621260 تهيه مي شود كه نتیجه مستقیم ترتيبي از انتقال هاي ورودي با همان ويژگي ها در یک روش مستقل از زمان (111126-11206161206126) است. 0 بين 0012201161ه. أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 4:
© :211:61 3120 2126: محاسباتشامإإنتقل[هايى وعوجريان 0200 لعاز دادم مي‌شود. ات © 60121101 1002 10560): سيستم شاملكنترلك رهن لمعمل [هدايم (4011010 00111112111110)) كه در يكسيستم فيز ‎embed.‏ شده لستميباشد. ‎and is subject to unpredictable external)‏ ‎perturbation so that preset algorithms‏ ‎(go awry‏ Data-Flow Substyles

صفحه 5:
0 ‎eeTolelteC-1o}1 btn preg epeee te or, 0‏ ۱[ اس ‎Sub-style ©‏ 4 ‎Main program and subroutine *‏ 0 تقسیم (1600100056)) سلسله مراتبي یک پرنامه. © هر جزوهز برنامه. 1 فرزندائش مى دهد. ‎‘Remote Procedure Call *‏ ‎٩‏ داراي 1097610 118117 و روتین ها ولي به صورت توزیع شده روي یک شبکه ا 1 ‎cio i‏ ۱ ‎Object Oriented °‏ ‎peer eer ne eet trey

صفحه 6:
2 @ Main program/Subroutine style © اهداف اوليه: استفاده مجدد. توسعه و ساخت مستقل اجزا ‎dndependent development)‏ ‎CorsV IVb wolath ab pec eae Om Mein (CIES Coa‏ — 1 2 7 ۷ = ‎aa Pan‏ لا ل يا تن = 000 ne eet trey

صفحه 7:
Remote Procedure ‎٩‏ به جاي ساختار سلسله مراتبي در شبکه توزیع مي شود. ‎ ‎| Rese eee eat ea ‏ل ل تان‎ ee ‏ا ا ده ةا ان‎ ‏© هدف اصلى: كارايى و استقلال اجزا. ‏أزمايشكاء سيستم هاى هو ‎ne eet trey‏

صفحه 8:
Pes mes Um a1 cle Ce WRC CMON ep az-1 sh ONO Demon Cn eee) ISO Open Systems. 7 layer Model. TCP/IP. Motif : Ju ‏اجزا: سازمان سلسله مراتبي در لایه هاء‎ ا 0 و و Ree ea ec eT ‏ا‎ ant ered Layered hierarchies* 0 eV eS oe 5 00 0100 (ono) et ae OI we 3 1 ‏ا ا الب‎ O ‏معايب:‎ ‎Pei eee ‏ا ا ا‎ feed 6S ee Reed coe [0 PONS UIA Cine ae ane ain Requirements don’t make it evidently clear eer a CTT eo) ieee se eet etre oy

صفحه 9:
Object-Oriented/Abstract Data Style 9 ل 000 ‎soe‏ لا نا ال ل ا 0 اا لت نوف لفل ‎Objects °‏ * حفظ يكبارجكي و درستي (91:16(7 ]012 داده ها. 0 ا ل ا © هماهتكي داده به صورت اتوماتيك صورت مي ؟يرد. ‎lye‏ ‏و ‎SPENDS N nrTeTioLecuit-1 lel) FESS‏ 0 قابلیت استفاده مجدد. © معايب: ‎EEN (2111s PU) 51-101 a ne AP‏ 200 ‎eee‏ 7 أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 10:
0 ۱ lol © ‏ذخيره مركزي داده - وضعيث كنوني.‎ * ROO ‏ال ل‎ 0525 ‏از‎ Centered Repository © 0 nee ne clrras ‘Blackboard ° ‏ی‎ Se ee ci Data-centered Style 2 ۲۳۲ ۵ ey eer a 00

صفحه 11:
sal ۱ ال 0 کاربردها: للف ا ف ( ۶( ‎speech/pattern recognition Jus. a; °‏ اال ‎Bu sane eg es ome | gee CS‏ ‎jel‏ ‎Fp) es oryrnea 3) Cte) dolel-bae‏ ‎Bese‏ ‏© بجاتلذطهع11مم2 611 817311126 محاسبه يكنتيجه. بهنكام ساني ‎‘Blackboard‏ : © كل ‎blackboard (Monitor) = i 9‏ 9 زمانبندي فعاليت هاي منابع دانش. أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 12:
FA a الكوريتم معماري 213611023370 Qbear) JtexecOvadidate() 0 كج عن Garkbeard ی 0 0 طناك دعم :1مجم 00 00 saseeer seta ete 0 )هه تمه معط Invoke ۱ 0 50106 brome Gee sod ete aaa) neces ‏ی‎ teatie ‎ieee sel ce‏ ممتصمم مق مهاوه غه عكماة 3 ‎eee Re eee ecg eet source to invoke by calling Ferg tea acto Ca CaN ۱ ‏وحم ماهس‎ Et ‏أعومكصل::فمهوطتاء 818 5لل0. ‎Calls Blackboard::update‏ ‎Peay eesti ‎ ‏أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey

صفحه 13:
۱ ۳ با ي گِ ي © يايكاه ‎be oslo‏ 5 ۱ ‎ROM eC rie peanee e para oe) 8) ole) 1s airs pes ere)‏ 0[ بالایی قرار دارند 0[ «اطونط 3 ‎LETS) 2 “Data‏ ‎‘Blackboard ©‏ ۴ مقیاس پذيري (608181117) براي اضافه نمودن مصرف کننده ا ا 1۳5۳۱۳ 9 تخیر ‎Se‏ ‏مي Data-Centered Style ۹ أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey 3‏

صفحه 14:
fo | 5 Virtual Machine Style و شده. ماشین مشخصي که روي آن اجرا شود وجود نداشته باشد. © هدف: سازى عمليات مب » ارائه یک محیط مجا ما ‎rene‏ اب جرد مرش ِ 05 شه ناد ازي & ‎non-native Pace ee‏ براي ‎‘portability‏ ۱ 1 مثال: Perl. Interpreters Prolog):».Rule-based Systems Command Language processors JVM (intermediate language) ° ooo°0 أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 15:
3 Call-and-return Styles C5" PCRS ICES om Re Hee Om ON A We Ope Fon ays Fanny ‏رب‎ ‎۱ ‏ل‎ oon nd أزمايشكاء سيستم هاى هو ‎ne eet trey‏

صفحه 16:
al Call-and-Return Substyles ‏:2ك‎ 3 الا ف و ا ‎Seep‏ ‏ل ‎En)‏ ی 05 0 00 Cenc soar Retmnccec eee Cnty (driving quality requirements Percy era he eee bey ca Come ee ‏ا‎ 8 8-0 i ۱ ۱ ‏نت‎ ‎Objects: many like modules, commonalties could be © ‏مصماتحعطصن طوبامطا 0ماتمآمودم‎ ‘Call-and-return-based client-server © Modifiability with respect to the production of data ® and how it is consumed is important peer eer ne eet trey

صفحه 17:
2ك عماواهطنگ همم للم و :-Layered © If the tasks in your system can be divided ® between those specific to the application and those generic to many application but specific to the underlying computing ۱۱۹ ال 0 * اگر بتوان از یک ا ا ا ا بسته هاي مديريت شبكه و..) استفاده نمود. أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 18:
al Independent Component ‏۵اه‎ | موارد استفاده: * سيستم ,5( © 09۱ اجرا مي شود و یا قرار است در آینده اجرا شود. * سيستم مي تواند به صورت مجموعه اي از اجزا با وابستكي كم (10056©137 الام ساختاردهي شود. ا ل ا ا ل انجام دهد. ‎(performance tuning) Peery as‏ مهم است. ‎By re-allocating work among processes ©‏ أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 19:
Independent Components Ppt Cy ‏ل ا‎ ‏دارند.‎ ‎0 ‏ل‎ RON poet ‏ا‎ ‎00 ‏ا ا ا‎ 0 9 alia © ‏فرايندهاي ارتباطي: توپولژي هاي ممکن‎ ۶ Peer to Peer ° Cea nes a (ed ۱ ۱ ° Explicit Invocation: Tight coupling ° أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 20:
FAD al Independent Component ‏لد الك‎ © فرايندهاي ارتباطاتي: ‎Message-passing ®‏ ی کم کانیسم خوبب رلولینکار لست 13° إيندهاي ._< ‎dightweight)‏ ‎٩‏ دسترسي به داده ها براي اهداف كارايي مهم است. ‎nye Pen ew cae rey events 0) 0) [101th‏ ۱ ‎interacting process style , oriented style‏ ‏أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 21:
al Independent Component oy Substyles ~~ ‎‘Broadcast ©‏ ‎eles ocd‏ ا ا الل ا ‎Rs eSB‏ دیگر دارند. و ۱ * جدا كردن مصرف كننده هاي :]617611 هاي از علامت دهنده ‎yi Signalers)‏ ؟ مقیاس پذيري (502181311]1) به صورت اضافه کردن فرايندهايي که با ‎ee ee et cere NS eae Rees trigger & event‏ 0500 ‏أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 22:
al Event-Based (Implicit 2 Invocation) دو دسته 001000۳610 کلی وجود دارد: * دسته اي 6۷6125 را اعلام مي کنند. ۴ دسته اي به عنوان 6۷66 1 با0769ن122 ثبت نام مي کنند. ۳ خودكار اجرا مي شو قسمتي از سیستم درصدد انتقال ا ا ا 0 محدوديت هاي محتوايي (5612312]10). 1 Snr aes tense Tee oa ‏موارد مورد استفاده:‎ اا Ensure database consistency 0 أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 23:
Event-Based (implicit Invocation) 0 Mb cases oslitul Just, © ‏؟ توسته آسان:‎ ‎٩‏ اب ‎iS pL events, os. procedure ,» Component ® ‏ات ل 1 3- ‎Bsr ea‏ * تبادل داده: ‎CD‏ م 0 تشخيص درست كار كردن سيستم معمولا سخت است. ‎Compiler can no longer do early detection‏ پیگیر کد (7806) بدون ابزار 0161011001۳60 سخت است. * امكان استفاده از انواع مختلف داده (1:[7011167 121:8) بسيار ضعيف است. ‏أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 24:
Client/Server ‏معماري‎ © مزای: * كاربران تنها اطلاعات را به در صورت نياز دري * طراحي جزئیات نمایش را بیان مي کند. * يك داده را به روش هاي مختلفي مي توان نمايش داد. © معايب: مي كنئد. ا ا ا ل ‎i Tor-tnts) Ween‏ 0 0 ۴ مشکلات توزيعي بودن. (0۳016105 صمتنابطتتاعن). © انواع: * 11611: سيستم ولس طكاربر. لعو ا ا ا ‎re Rea‏ ‎database , applications>1.queuings+.i sil) Function ©‏ ‎(staging‏ أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 25:
معماري یک و دو لاه 01160/561 Pepe ‏ا ل ا‎ se La Mpeg Speer ‏تقسيم مى شود:‎ ۱ ۹ | ل ا 9 محدودیت ها: 1 ‏رب‎ ms LUNES 1D eye Eo) b(n aR ‏ب‎ ؟ انعطاف پذيري و قدرت انتخاب 12171۷15 برای برنامه ها کم مي شود. (به دلیل مدیریت فرايند در سطح سرور- 1210060111585 600 3 ل ا 0000070 أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 26:
معماري سه لايه ‎client/Server‏ ‎٩‏ منطق فرایند را متمرکز مي کند. ‎we es mee eas‏ | وكا ل ‎RES RUNES SE‏ ‎٩‏ تغییرات تنها باید یک بار در سرور لایه مياني نوشته شوند تا در سیستم اعمال شوند. ‎el eg nt 9‏ ا ‎Be‏ ا ا ل ل ‏و دسترسی به منانع با راساس نام است: ‏أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey 5‏

صفحه 27:
9۹ UE- Vac) pr bee Oa Boe ges eso connectivity software) Jail }341 25 © Re Ren ea chee el Reet mC Sees ۱ tune atone ‏شبکه را مهیا مي سازند.‎ ‏مثال ها:‎ © Object Management Group's Common Object ® Request Broker Architecture (CORBA Microsoft’s Component Object Model (COM), ® .DCOM أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 28:
Common Object request oy Broker Architecture (CORBA) ~~ © يك معماري استاندارد ,41 ‎Object Request Broker‏ ‎.(ORBs)‏ ‏هدف: ‏* امكان كسترش محصولات 01813 را به وجود مي آورد كه از موارد زير پشتيباني مي کنند: ‎Application Portability and inter-operability °‏ و ‎are ng Pa eeeen rece‏ 9 ( أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 29:
2 © زيرساخت لايه ميانى (©0/110016-1/733) ‎Application Programming Interface ©‏ (۵۳1): ب رلیرنامه ها لمکاناتتزیر را لیجلا ميک ند * 1131152316121:137' 00211012.آ1 در شبكه ولمكانتعاملبا برنامه ها و سرویس‌هاو‌دیگر. ۱ * 16طونتاع8 ودر ‎ages‏ ‏* افزايش ظرفيت بدون از دست دادن 2012011012311637. ‏أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 30:
Common Object request oy Broker Architecture (CORBA) ~~ Interface ‏تعريف شده در 001584 از يك‎ cle object ‏تمامي‎ 9 2S 2 liu! Definition Language (IDL) Language mappings are defined from IDL-> © c,C++,Ada95, and Smalltack80 ls ol; Heterogeneity) its pac ll 9 44 ‏اف‎ ‎See ‏و9‎ ‎re oe ‏8989م‎ 7 0 tC at) H } Ree eer a 00 oy

صفحه 31:
Common Object request oy Broker Architecture (CORBA) ~~ ORB Core — CORBA runtime infrastructure © ORB Interface — Standard interface (defined in © IDL) to function provided by all CORBA- compliant ORBs IDL Stubs ۰ ‏ایجاد شده به وسیله پردزنده هاي .1121 براي هر واسط تعریف لصيل‎ * 9 Object type-specific , yt ca. API ‏ارائه يى‎ * أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 32:
Common Object request 2 Broker Architecture (CORBA) ‎Object Request Broker (ORB) ©‏ ا ‎perpen eco‏ ‎Locational and functional Transparency ©‏ ‎Oe eee ea tere sot lar oe eo i‏ © هنكامي كه يك 6116126 يى 0261861011 را ۱ پیاده سازي ‎“Jes RICCI IL Oey ster‏ 9 و برگرداندن هرگونه پاسخ به در خواست کننده. مي باشد. 0 ۲ * مجموعه اي از وظايف (585165) و 1111:3157 هابي كه امكان © تبديل 5678561206 :]09[66 را به رشته (9613100) و برعكس به وجود مي أورند. ‎00 ‏ا ا ا ا ا‎ OE ‏به وجود مي آيند‎ 121654866 )211( ‎ ‏أزمايشكاء سيستم هاى هون ‎ne eet trey 1۷

صفحه 33:
Common Object request al Broker Architecture & (CORBA): Details :CORBA IDL Stubs and Skeletons © Client Side is called IDL Stub ® Server Side is called IDL Skeleton °® 0000 Ser OD) Epes =a RW WeSC Su ORB ; 5, 5 clientcb at,» Skeleton ,»Stub ° ‏هستند.‎ 6" ‏ا‎ ee ‏تنها امکار‎ 0 ‏ا‎ ‏ل ا رك‎ care) أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 34:
Q fe} ce} fo} fo} fe} ce} Common Object request al Broker Architecture (CORBA): Details 4 Dynamic Invocation Interface (Dll) client side ‏این واسط اجازه مي دهد یک 011610 به صورت مستفیم به سرويسي که توسط‎ ‏يك 018183 ارئه مي شودء دسترسي داشته باشد.‎ ۱ ها بدون جر ا ا ا 000 Unlike IDL stubs (which only allow ‏6م‎ ‎requests), the Dll also allows clients to make Non-blocking requests One-way (send-only) calls أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 35:
Common Object request al Broker Architecture (CORBA): Details 4 Dynamic Skeleton Interface (DSI)- server side براي يك ‎oly Object , « |, b request .o,5 Deliver || ORB‏ سازي ‎(ola teet- Messy eR Spe meR IES] oss Ire care)‏ ۱ سازي شده ندارد. مهيا مي كند. The client making the request has no idea whether the implementation is using the type-specific IDL Skeletons .or is using the dynamic skeletons Object Adaptor در تحويل دادن درخواست ها به :661 [01 و فعال كردن آن به 01833 كمك مى كند. ۱ ‏ا ا ل ا ل‎ cpeme-Xo Evo) Ko) a library object % & cu! ols أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 36:
لين انام ‎al‏ Microsoft’s Component Object Model (COM, DCOM) COM © 0 ‏ل‎ (framework) er sae ۷6۳0۲ ‏امکان ۸656۳0۳16 کردن چندین 0010۳086 مختلف که توسط‎ * ‏هاي مختلفي ارائه شده است را براي ساخت یک سیستم ایجاد مي کند.‎ Distributed COM (DCOM) ° Be ect re Wear ey ice Me Pl OLE (Object Linking & Embedding). ActiveX. © ۱/۷3 asl oad tls COM 55, 5 Mb chee cl ag © peer eer chttp://ce.aut.ac.ir/islab) Mie

صفحه 37:
al MS, Component Object 2 Model (COM, DCAM) ~ ‎OLE ©‏ * سرويس هايى (مانند ‎sky! 49 aS sao. al, (Object linking and embedding‏ مستندات تركيبي (مستنداتي كه به وسيله جندين منبع ابزاري (5011106 5001) تهيه مي شوند) مورد استفاده قراز مي 5-85 ‎ActiveX ©‏ * گسترشي براي استفاده از 6010016101 ها در وب سایت ها 6 ۷۲5 ‏۱ ‏اطلاعاتي سازماني با استفاده از ]010 ©. ‎ ‎+COM © consi aby G 09,5 5,5 COM 5s !, message queing , MTS cle 15, ° Gs sly 001 ‎Be Pe STCVOsr TSCM on eee ‎peer eer ne eet trey

صفحه 38:
al MS, Component Object Model (COM, DCAM) ces COM Objects bug 018 ‏سرويس هاي يياده سازي‎ © ‏کارا ار با‎ ۱9 ‏ا‎ ‎Microsoft ‏بالستفاده از‎ bb bul, sls COM Object ® sl, 2.2% 5 Interface Definition Language (IDL) ‏مي‌شوند.‎ أزمايشكاء سيستم هاى هو ‎ne eet trey‏

صفحه 39:
al Component Object Model 3 (COM, DCOM) ‎٩‏ مر 060 ]200 در داخل یک سرور اجرا می شود: * أطعت[ه 561561 12-2106655 و سرور در 0000 مرک لجرا مي‌شوند. 0 2 تک ۱ و( ميشود. 3 ارتباطات به وسیله ارتباطات 1061-0۳00655 انجام می شود. ‎Sry tLeS ys, remote servers. ‘Remote Object proxy *‏ ‎ples (COM bags gh) DCE RPC aly 4 otbls,|°‏ 275 * تمامي ‎pee peers eC NA Cele component SL ls COM Object‏ ‏أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 40:

صفحه 41:
۱۳ aman و ۱۵ 0 0 ‎o Style‏ استفاده كنيد. ‎The practice is not that advanced‏ © ‎yet. The best that we can do is offer‏ ۱ 0 استفاده از انواع معماري با قانون خاصي همراه نیست. بلکه نتیجه گيري مقطعي (11۳00] 0۶ 0165) مد نظر است. أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 42:
عمليات 00 011211 ‎٩‏ تدوین قوانین مربوط به عملیات طراحي در یک معماري به تا ۳ تسام ‎Abstraction ®‏ 009۰۱۱ ‎Part-whole decomposition ®‏ ‎Replication ©‏ ‎Resource sharing ®‏ ‏أزمايشكاء سيستم هاى هو ‎ne eet trey‏

صفحه 43:
Abstraction ا 00ل فق ايجاد مي كند. | Simulated target platform ° * سيستم هاي لايه بندي شده (53751661035 83/61560). ا ا ا ا 0 0 000 ne eet trey

صفحه 44:
2 © Compression ‏دو 001112011612 را با هم تركيب كرده و يك 0011120116115 ايجاد مى‎ © ۱ ‏کند.‎ ‏موارد استفاده:‎ © ‏بهبود كارايي.‎ * 0 5 تسريع توسعه سيستم. - أزمايشكاء سيستم هاى هوشمند. ‎ne eet trey‏

صفحه 45:
44 5 Decomposition xtc ipo pOenr TaprCe CMY es ‏اا ل ا‎ -Part-whole decomposition © i HsLculs .S2,5 subcomponent,;,.s. ;lb Component °® ۱ «model-view-controller sits) 2,2 ۱ «Understandability) yy أزمايشكاء سيستم هاى هو ‎ne eet trey‏

صفحه 46:
Decomposition ds-a) ...| decomposition ‏يى‎ 9 ۱ oleyel 30 anaes ‏يدر خود را‎ functionality | specialization) ‏نمايش مي دهد. (مانند ارثبري كلاس).‎ ® Used for reuse by increments. = اليا لا لتلا أزمايشكاء سيستم هاى هو ‎ne eet trey‏

صفحه 47:
Replication C5" 9 تكثير مشابه (0111211621:1010 :22©1©) از يى 9۱۵ ا ا ‎Reliability wedundant operation) ®‏ ‎«data caching) 15 os. °‏ م Basaran ea

صفحه 48:
Typical Design Trade-Offs Hes

صفحه 49:
اشتراک مناج © داده ويا سرويس ها را ©:511121 612037 مى كند و آن را ين مصرف كننده مستقل به اشتراك مي كذارد. 9 ثال: پایگاه داده هاي اشتراكي, سرورها در ‎client/server‏ ‎Ha Pan ree aed‏ || ‎wa |‏ > ‎Portability °‏ 0 = ‎Modifiability °‏ 000 ne eet trey

صفحه 50:
reusability ‏ان اه‎ Ease of component creation + 8 ا ل - ۱ ال 8 5 ا 5 9 00 : Fy ‏و‎ 1 Portability + |۱7 ‏اد ات‎ os System Modification wa) ell ss Creve Siting 8 ال و 3 و و و ‎a ۳‏ 1 و و ۵ 3 313215 5 2۶ ۶ 8 ۵ ده و 2 8 ‎Ce ar]‏ 6

انواع Architectural Styles آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 1 ...هاي معماريStyle انواع Data-Centered Repository Blackboard    Independent Components  (Loosely Coupled) Communicating Processes Event-based: Implicit Invocation، Explicit Invocation   Data Sharing Style با استفاده از داده هاي مشترک توسط هاcomponent  کاهش وابستگي اجزا و انتقال نتايج به زيرسيستم ها در يک سلسله مراتب  . هاpattern ارتباط بين  Hierarchied Style Interactive Process Style  Call/Return وابسته به ترتيب= انجام محاسبات و همراه به يک کنترل Main Program/Subroutine Remote Procedure Call Layered (API) Object Oriented      Virtual Machine  Interpreter Rule-based e.g. Prolog System  Batch Sequential Pipe and Filter آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab(     Data-Flow    2 Data-Flow Style ‏ موارد استفاده: اگر سيستم طوري به نظر آيد که در آن يک خروجي خوش-تعريف ( )well-definedو easily-identifiedتهيه مي شود که نتيجه مستقيم ترتيبي از انتقال هاي ورودي با همان ويژگي ها در يک روش مستقل از زمان ( )Time-independentاست. : Integrability ار=ت=باط ب==ينچ=ندي=نوا=س=ط ( )Interfaceس==اد=ه= ب==ينcomponentها. 3 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Data-Flow Substyles =ام=ل=ن=تقا=لهاي=يرو=يج=ريان م=حاس=باتش= ا:Pipe and filter  .پ==يوس=ته ا=ياز داد=ه= م=يش==ود س==يستم ش==ام=لک==نترلک==رد=ن:Closed loop control  ) ک==ه در ي==کس==يستمContinuing Action( ا=ع=ما=لم=داو=م .=تم=يب==اشد ، ش==ده= ا=سembedف==يزي=کي and is subject to unpredictable external( perturbation so that preset algorithms !! )go awry آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 4 معماري هايCall and Return ‏ ‏ دست يافتن به تغييرپذيري ( )modifiabilityو مقياس پذيري (.)scalability Sub-styleها: ‏ ‏ ‏ ‏ 5 :Main program and subroutine تقسيم ( )decomposeسلسله مراتبي يک برنامه. هر جزو ا=ز برنامه ،کنترل برنامه و داده را از پدر ( )parentخود گرفته آن را به فرزندانش مي دهد. :Remote Procedure Call داراي main programو روتين ها ولي به صورت توزيع شده روي يک شبکه. افزا=يش کارايي ( )performanceبه دليل استفاده از چندين پردازنده. :Layeredب==ه و=س=يله APIها. .Object Oriented آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Main program/Subroutine style توسعه و ساخت مستقل اجزا، استفاده مجدد:اهداف اوليه )Independent development( call/return سلسله مراتبيstyle :مثال   Main Program Su brou t in e 1 Subro ut ine 2 آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( Subrout ine 3 6 Remote Procedure ‏ به جاي ساختار سلسله مراتبي در شبکه توزيع مي شود. هر جز به صورت مستقل و بر اساس نياز فراخواني مي شود. ‏ هدف اصلي :کارايي و استقالل اجزا. ‏ افزايش کارايي ( )performance امکان انجام multi-process 7 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Layered hierarchies ‏ ‏ ‏ اهداف :چسبندگي باال ،قابليت حمل ( ،)portabilityبسته بندي ( ،)Packagingاستانداردسازي مثال.ISO Open Systems، 7 layer Model، TCP/IP، Motif : اجزا :سازمان سلسله مراتبي در اليه ها: ‏ ‏ ‏ ‏ ‏ با استفاده از APIها و پروتکل ها به هم مرتبط مي شوند. ‏ مزايا: ‏ ‏ ‏ پشتيباني از طراحي به وسيله .Abstraction levels قابليت توسعه با تسهيل اضافه کردن و يا تغيير يک اليه موجود. معايب: ‏ ‏ ‏ ‏ 8 هر اليه سرويس هايي را براي اليه خارج از خود مهيا مي کند. هر اليه به عنوان يک clientبراي اليه درون خود عمل مي کند. در مواردي همه اليه ها به هم دسترسي دارند و يا تنها به برخي اليه هاي دسترسي وجود دارد. سيستم هاي ديگر تنها به close layerمي توانند دسترسي داشته باشند. کارايي سيتسم مي تواند به دليل سربار ناشي از اليه بندي هاي غيرضروري (فراخواني توابع) پايين آيدو ساختاربندي در يک حالت= clean layersهميشه به آساني ممکن نيست. .Requirements don’t make it evidently clear توسعه آن با مشکل روبروست. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Object-Oriented/Abstract Data Style ‏ اهداف: ‏ ‏ ‏ ‏ =ي=ط=العات()information hiding :Encapsulationپ==نهانس==از ا :Objects ‏ ‏ ‏ ‏ ‏ مزايا: ‏ ‏ ‏ ‏ حفظ يکپارچگي و درستي ( )integrityداده ها. پنهان کردن بازنمايي داده ها از کاربر. ايجاد ارتباط با استفاده از پيام ها ()messages هماهنگي داده به صورت اتوماتيک صورت مي گيرد. سيستم مجموعه اي از agentهاي مستقل است. نگهداري ( )maintenanceو توسعه ( )evolutionرا باال مي برد. قابليت استفاده مجدد. معايب: ‏ ‏ 9 مدلسازي طبيعي جهان واقعي ()natural modeling استفاده مجدد با refinement براي تعامل ،يک objectبايد شناسه ( )identityشيئ هدف را بداند. افزايش مقياس ( )scale upمي تواند کند و غيرکارا باشد. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Data-centered Style ‏ ‏ اهداف ،Integrability :مقياس پذيري ( client/data( )scalabilityجديد) اجزا: ‏ ‏ ‏ :Data Centered Repositoryپ==اي=گاه= داد=ه= هايق==دي=مي ‏ ‏ ذخيره مرکزي داده – وضعيت کنوني. اجزاي مستقل که عمليات خود را روي داده مرکزي انجام مي دهند. نوع تراکنش فرايندي را براي اجرا انتخاب و آغاز ( )triggerمي کند. :Blackboard ‏ حالت داده مرکزي ( ).data store’s Stateفرايند را براي اجرا انتخاب و آغاز مي کند. ‏Shared Dat a ‏Client 10 ‏Client آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab ‏Client معماري Blackboard ‏ کاربردها: ‏ ‏Complex data interpretation پردازش سيگنال.speech/pattern recognition ، استفاده از داده ها مشترک با استفاده از عامل هاي مستقل. ‏ :Blackboardم=ديري=تداد=ه= ها م=رکزي منابع دانش: ،Evaluate their applicability م=حاس=به ي==کن==تيجه ،ب==هنگام س==از=ي .blackboard کنترل: نظارت (.blackboard )monitor زمانبندي فعاليت هاي منابع دانش. ‏ ‏ اجزا: ‏ ‏ 11 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab blackboard الگوريتم معماري Start control::loop Conrol::nextSource Determine potential knowledge sources by calling Blackboard::inspect Invoke knowledgeSource::execCandidate of each candidate knowledge source Each candidate knowledge source invokes Blackboard::inspect to determine if/how it can contribute to current state of solution Control chooses a knowledge source to invoke by calling KnowledgeSource::execAction Executes knowledgeSource::updateBlackbo ard Calls Blackboard::inspect Calls Blackboard::update .1 * .2 .3 -o pera t es on .4 kn o wl e d g e so u rc e +u pda t e Bbo a rd() +e xecCon di d a t e () +e xecAct i on () -a ct ivi t i es .5 .6 * Bl a c kb o a rd -so lu t i o ns -co nt rol Da t a +i n sp ect () +u p da t e() .7 .8 Co n t ro l .9 +l o op () +n ext So u rcs() آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 12 Data-Centered Style ‏ هنگامي مورد استفاده قرار مي گيرد که هدف محل ذخيره سازي (،)Storage نمايش ،مديريت و بازيابي حجم بااليي از داده هاي long-livedمرتبط مي باشد. پايگاه داده ها و repositoryهاي تراکنشي ()transactional ‏ :Blackboard ‏ ‏ ترتيب اجراي componentها براساس جريان ورودي درخواست ها براي دسترسي/بهنگام سازي داده بوده و داده ها در ساختار هاي سطح بااليي قرار دارند. (.)Data is highly structured ‏ مقياس پذيري ( )scalabilityبراي اضافه نمودن مصرف کننده ها( )consumersداده ها بدون تغيير محصول؛ و يا تغيير پذيري براي تغيير اينکه چه کسي داده را تهيه مي کند و چه کسي آن را مصرف مي کند. ‏ 13 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Virtual Machine Style طراحيcomponent هنگامي مورد استفاده قرار مي گيرد که براي يک . ماشين مشخصي که روي آن اجرا شود وجود نداشته باشد،شده ارائه يک محيط مجازي بين ماشين، شبيه سازي عمليات مبتني بر دانش:هدف برايnon-native functionality شبيه سازي،OS و .prototyping و ياportability :مثال Perl م=ثل،Interpreters Prolog م=ثل،Rule-based Systems Command Language processors JVM (intermediate language) آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab(        14 Call-and-return Styles ‏ هنگامي مورد استفاده قرار مي گيرد که: ترتيب محاسبات ثابت است. Component ها پ==رداز=شم=فيديرا ب==ه ه=نگام ا=ن=تظار ب==را=ين==تاي=ج در=خوا=س=تها از componentهايد=ي=گر ،ن =دار=ند. 15 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Call-and-Return Substyles -1 ) و ي==کپار=چ=گيmodifiability( ت==غييرپذيري:Object-Oriented =بي=جاد =)ها) م=وج اInterface( ) (ب==ا ت==وج=ه ب==ه وا=س=طintegrability( .ک==يفيتن==ياز=م=نديم=يش==ود  overall modifiability and integrability via careful attention to interface are ( .)driving quality requirements بسياري از انواع داده سيستم که نمايش آنها معموال تغيير مي:abstract انواع داده .کند Objects: many like modules, commonalties could be exploited through inheritance  :Call-and-return-based client-server Modifiability with respect to the production of data and how it is consumed is important آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab(   16 Call-and-return Subatyles -2 :Layered  If the tasks in your system can be divided  between those specific to the application and those generic to many application but specific to the underlying computing platform . هاي محاسباتي مهم باشدplatform بينportability اگر بسته،OS اگر بتوان از يک اليه زيرساختي که پياده سازي شده است (مانند .) استفاده نمود...هاي مديريت شبکه و آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 17 Independent Component ‏Style ‏ موارد استفاده: سيستم روي يک platformچندپردازنده ()multi-processor اجرا مي شود و يا قرار است در آينده اجرا شود. سيستم مي تواند به صورت مجموعه اي از اجزا با وابستگي کم (loosely )coupledساختاردهي شود. يعني يک componentمستقل از حالت اجزاي ديگر ،مي تواند فرايندي را انجام دهد. ميزان سازي کارايي ( )performance tuningمهم است. ‏By re-allocating work among processes  18 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Independent Components ‏ ‏ ‏ ‏ شامل فرايندها و يا Objectهاي مستقل که از طريق پيام هاي با هم ارتباط دارند. هيچ کنترلي بين componentها وجود ندارد. تغييرپذيري (بخش هاي مختلف محاسبات از هم جدا هستند). شامل: ‏ ‏ 19 فرايندهاي ارتباطي :توپولژي هاي ممکن ‏Peer to Peer  ‏Client/Server  ‏Event System :Implicit invocation ب==را=ساست==غيير .notification ‏Explicit Invocation: Tight coupling  آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Independent Component ‏Substyles ‏ فرايندهاي ارتباطاتي: =ت =ي=ي=نک==ار ا=س . Message-passing ي==کم=کان=يسم خ=وبب==را ا فرايندهاي سبک (:)lightweight دسترسي به داده ها براي اهداف کارايي مهم است. Object هايت==وز=ي=ع ش==ده= :ب==ا ا=س=تفاد=ه= از ت==مام=يک==ار=کرد=هايobject- oriented styleو .interacting process style 20 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Independent Component ‏Substyles ‏ :Broadcast ‏ :Event System تمامي اجزا نيازمند همزمان شدن ( )Synchronizedاز زماني به زمان ديگر دارند. قابليت دسترسي ( )availabilityيکي از نيازمندي هاي مهم است. جدا کردن مصرف کننده هاي eventهاي از عالمت دهنده ( )signalersآنها. مقياس پذيري ( )Scalabilityبه صورت اضافه کردن فرايندهايي که با eventها triggerشده اند و تا به حال در سيستم شناسايي و يا عالمت داده ( )signaledشده اند. 21 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Event-Based (Implicit )Invocation ‏ دو دسته componentکلي وجود دارد: ‏ ‏ دسته اي eventsرا اعالم مي کنند. دسته اي به عنوان interest in eventsثبت نام مي کنند. ‏ ‏ ‏ قسمتي از سيستم درصدد انتقال Eventها بين توليدکننده و مصرف کننده آنهاست. محدوديت هاي محتوايي (:)Semantic ‏ ‏ ‏ اعالم کننده هاي eventها نمي دانند که کدام componentها تحت تاثير قرار گرفته اند. هيچ فرضي در مورد ترتيب پردازش وجود ندارد. موارد مورد استفاده: ‏ ‏ 22 براي هر eventيک روتين مشترک وجود دارد که به هنگام آن eventرخ مي دهد به صورت خودکار اجرا مي شود. ابزارهاي .Integrate ‏Ensure database consistency آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Event-Based (implicit )Invocation ‏ مزايا: ‏ پتانسيل استفاده مجدد باال. توسعه آسان. ‏ ث==بت==ام ک==نند. ن Componentها و procedureها ب==ايد در ي==کevent ضمانتي براي مورد عمل قرار گرفتن يک eventوجود ندارد. تبادل داده: معموال يک repositoryمشترک نياز است. تشخيص درست کار کردن سيستم معموال سخت است. ‏Compiler can no longer do early detection پيگير کد ( )traceبدون ابزار debuggingسخت است. امکان استفاده از انواع مختلف داده ( )data typingبسيار ضعيف است. ‏ ‏ معايب: ‏ ‏ ‏ ‏ ‏ ‏ 23 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab معماري Client/Server ‏ مزايا: ‏ ‏ ‏ ‏ معايب: ‏ ‏ ‏ ‏ کاربران تنها اطالعات را به در صورت نياز دريافت مي کنند. طراحي جزئيات نمايش را بيان مي کند. يک داده را به روش هاي مختلفي مي توان نمايش داد. انواع: ‏ ‏ نيازمند مکانيزم هاي پيچيده تري براي امنيت و مديريت سيستم دارد. ساخت Applicationها نيازمند منابع بيشتري براي پياده سازي هستند. مشکالت توزيعي بودن.)distribution problems( . :Tier 1س==يستم وا=س=ط ک==ار=بر. :Tier 2ال=ي=ه م=يان=ي()middle-tier ‏ ‏ 24 مديريت فرايند (منطق تجاري و اجراي قوانين) ‏Functionها (م=ان=ند ص==فبندي ،queuingا=جرا=ي applicationو database .)staging آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab معماري يک و دو اليه client/Server ‏ مديريت پردازش ( )processing Managementبه دو بخش زير تقسيم مي شود: ‏ ‏ ‏ ‏ ‏ :Tier 1س==يستم وا=س=ط ک==ار=بر رو=يم=حيط desktopک==ار=بر. :Tier 2س==رو=ي=سم=ديري=تپ==اي=گاه= داد=ه= در ي==کس==رور. محدوديت ها: ‏ ‏ ‏ 25 سيستم واسط کاربر ()user System interface سرور مديريت پايگاه داده)database management server( . وقتي تعداد clientها زياد مي شود (باالي 100کاربر) کارايي پايين مي آيد. انعطاف پذيري و قدرت انتخاب DBMSبراي برنامه ها کم مي شود( .به دليل مديريت فرايند در سطح سرور)stored procedures - انعطاف پذيري محدود در انتقاي functionalityبرنامه بين سرورها. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab معماري سه اليه client/Server ‏ ‏ ‏ ‏ ‏ 26 منطق فرايند را متمرکز مي کند. افزايش کارايي ،انعطاف پذيري ،قابليت نگهداري ( ،)maintainabilityاستفاده مجدد و مقياس پذيري. تغييرات تنها بايد يک بار در سرور اليه مياني نوشته شوند تا در سيستم اعمال شوند. يکپارچگي پايگاه داده هاي توزيع شده راحت تر ايجاد مي شود. دسترسي به منابع با براساس نام است. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab زيرساخت اليه مياني ()Middle-Ware ‏ نرم افزار اتصال ()connectivity software ‏ مثال ها: مجموعه اي سرويس هايي که موجب انجام عمليات مي شوند. امکان اجراي چندين فرايند روي يک يا چند ماشين براي تعامل از طريق شبکه را مهيا مي سازند. ‏Object Management Group’s Common Object  )Request Broker Architecture (CORBA ‏Microsoft’s Component Object Model (COM),  .DCOM 27 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Common Object request )Broker Architecture (CORBA ‏ ‏ يک معماري استاندارد براي Object Request Broker ). (ORBs هدف: امکان گسترش محصوالت ORBرا به وجود مي آورد که از موارد زير پشتيباني مي کنند: .Application Portability and inter-operability  ارتباط بين زبان هاي برنامه نويسي مختلف platform ،هاي سخت افزاري مختلف ،سيستم عامل هاي مختلف و پياده سازي هاي موجود .ORB 28 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab زيرساخت اليه مياني ()Middle-Ware ‏ ‏Application Programming Interface ) :(APIب==را=يب==رنام=ه ها ا=م=کاناتز=ير را ا=ي=جاد م=يک==ند: Location Transparently در ش==بکه و ا=م=کانت==عام=لب==ا ب==رنام=ه ها و س==رو=ي=سهايد=ي=گر. استقالل از سرويس هاي شبکه. =ن Reliable و در د=س=ترسب==ود . افزايش ظرفيت بدون از دست دادن .functionality 29 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Common Object request Broker Architecture (CORBA) Interface از يکCORBA هاي تعريف شده درobject تمامي . استفاده مي کنندDefinition Language (IDL) Language mappings are defined from IDL-> c,C++,Ada95, and Smalltack80 ) زبان هاHeterogeneity( امکان عدم تجانس    IDL C++ Interface MineToCee Class MineToCee {void myOper (long ArgA) Public virtual CORBA::Object } {virtual void myOper(CORBA::long ArgA); } آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 30 Common Object request Broker Architecture (CORBA) ORB Core – CORBA runtime infrastructure ORB Interface – Standard interface (defined in IDL) to function provided by all CORBA.compliant ORBs IDL Stubs .IDL براي هر واسط تعريف شده درIDL ايجاد شده به وسيله پردازنده هاي Client ها در شبکه ازObject پنهان کردن جزئيات سطح پايين ارتباطات .Object type-specific سطح باال وAPI ارائه يک آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab(       31 Common Object request )Broker Architecture (CORBA ‏ ):Object Request Broker (ORB ‏ استقالل clientها از سرويس ها ‏ ‏ ‏ ‏ درخواست هاي clientاز نظر خودش فراخواني يک تابع محلي است. هنگامي که يک clientيک operationرا فراخواني مي کند ORB ،مسئول يافتن پياده سازي Objectمربوطه ،در صورت نياز فعال کردن آن ،تحويل درخواست به Object و برگرداندن هرگونه پاسخ به در خواست کننده ،مي باشد. واسط ORB ‏ مجموعه اي از وظايف ( )tasksو libraryهايي که امکان ‏ ‏ 32 ‏Locational and functional Transparency تبديل object referenceرا به رشته ( )Stringو برعکس به وجود مي آورند. ايجاد ليست آرگومان ها براي در خواست هايي که در dynamic Invocation ) Interface (Dllبه وجود مي آيند. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Common Object request Broker Architecture (CORBA): Details :CORBA IDL Stubs and Skeletons Client Side is called IDL Stub Server Side is called IDL Skeleton   . در زبان برنامه نويسي هدفIDL تهيه شده توسط کامپايلر ي==کORB و س==رور وclient ب==ينب==رنام=ه هايSkeleton ها وStub .” ه=ستندglue“ مي تواند با ارائهRPC . وجود داردRPC تنها امکان فراخواني از راه دور توسط به تابعي که در سرور نيازمندclient مربوط بهAddress Pointer . انجام گيرد،فراخواني آن است آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab(     33 Common Object request Broker Architecture (CORBA): Details 4 Dynamic Invocation Interface (Dll) client side به صورت مستقيم به سرويسي که توسطclient اين واسط اجازه مي دهد يک . دسترسي داشته باشد، ارئه مي شودORB يک object درخواست ها بهdynamic ها براي صادر کردنDll برنامه ها از . هاIDL interface-specific stub ها بدون نياز به لينک شدن به Unlike IDL stubs (which only allow RPC-style .requests), the Dll also allows clients to make Non-blocking requests .One-way (send-only) calls آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab(       34 Common Object request Broker Architecture (CORBA): Details 4 Dynamic Skeleton Interface (DSI)- server side پياده سازيobject ها را به يکrequest کردنDeliver امکانORB براي يک پيادهobject مربوط به نوعcompile-time شده که هيچ اطالعاتي در مورد اطالعات . مهيا مي کند،سازي شده ندارد The client making the request has no idea whether the implementation is using the type-specific IDL Skeletons .or is using the dynamic skeletons Object Adaptor . کمک مي کندORB و ف=عال کردن آن بهObject در تحويل دادن درخواست ها به پايگاهobject مانند اينکه آيا آن يک. را پنهان مي کندobject جزئياتAdaptor .library object داده است يا يک آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab(      35 Other Brokers: ‏Microsoft’s Component Object Model )(COM, DCOM ‏ ‏COM ‏ ‏ ‏ )Distributed COM (DCOM ‏ ‏ براي تعامالت توزيع شده تحت شبکه. ‏OLE (Object Linking & Embedding)، ActiveX، ‏MTS ‏ 36 چارچوبي ( )frameworkبراي يکپارچه سازي componentها. امکان Assembleکردن چندين componentمختلف که توسط vendor هاي مختلفي ارائه شده است را براي ساخت يک سيستم ايجاد مي کند. سرويس هاي سطح بااليي که روي COMساخته شده اند. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab MS, Component Object )Model (COM, DCAM ‏ ‏OLE ‏ ‏ ‏ActiveX ‏ ‏ گسترشي با سرويس هاي ( Enterpriseتراکنش ،امنيت) براي ايجاد امکان ساخت سيستم هاي اطالعاتي سازماني با استفاده از .COM +COM ‏ ‏ 37 گسترشي براي استفاده از componentها در وب سايت ها. ‏MTS ‏ ‏ سرويس هايي (مانند )object linking and embeddingارائه مي دهد که در ايجاد مستندات ترکيبي (مستنداتي که به وسيله چندين منبع ابزاري ( )tool sourceتهيه مي شوند) مورد استفاده قرار مي گيرد. سرويس هاي MTSو message queingرا در COMترکيب کرده تا برنامه نويسي COMرا ساده تر کند. يکپارچه شده با ++visual Basic، visual Cو ++J آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab MS, Component Object )Model (COM, DCAM ‏ سرويس هاي پياده سازي شده توسط COM Objectsتحت يک مجموعه از واسط ها انتشار مي يابد. COM ي==کس==اخ=تار binaryب==را=يوا=س=ط ب==ين clientو Object ت==عري=فم=يک==ند. COM Object ها و وا=س=ط ها ب==ا ا=س=تفاد=ه= از Microsoft ) Interface Definition Language (IDLت==خصيصداد=ه= م=يش==وند. 38 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Component Object Model )(COM, DCOM ‏ هر COM Objectدر داخل يک سرور اجرا مي شود: ‏ ‏ ‏ ‏ 39 In-process server: clientو س==رور در ي==کف==را=ي=ند ( )processم=شترک ا=جرا م=يش==وند. م=شترک=جرا ا :Local Object proxyس==رور در ي==کف==را=ي=ند ج=دا و=ل=يدر ي==کم=اش=ين م=يش==ود. ارتباطات به وسيله ارتباطات inter-processانجام مي شود. :Remote Object proxyي==ک remote serverرو=يي==کم=اش=يند=ي=گر. ارتباطات به وسيله ( DCE RPCپشتيباني توسط )COMانجام مي گيرد. تمامي COM Objectها با يک componentپايگاه داده ثبت نام شده اند. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab انتخاب يک Styleمعماري 40 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab قوانين Thumbبراي انتخاب Styleها هدف کاتالوگ styleارائه يک راهنماي طراحي (design )handbookاست :اگر مشکل شما شبيه الف است ،از styleب استفاده کنيد. ‏ The practice is not that advanced ‏yet. The best that we can do is offer ‏rules of thumb. استفاده از انواع معماري با قانون خاصي همراه نيست .بلکه نتيجه گيري مقطعي ( )Rules of thumbمد نظر است. 41 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab )unit operations( عمليات واحد تدوين قوانين مربوط به عمليات طراحي در يک معماري به .کار گرفته شده است :شامل   Abstraction  Compression  Part-whole decomposition  Replication  Resource sharing  آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 42 Abstraction ‏ ‏ يک componentمجازي ( )Virtualايجاد مي کند. موارد استفاده: ‏ ‏ ‏ 43 ‏Simulated target platform سيستم هاي اليه بندي شده (.)layered systems واسطي مشترک براي مجموعه اي از اجزاي پياده سازي شده در محيط هاي نامتجانس (.)Heterogeneous آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Compression ‏ ‏ دو componentرا با هم ترکيب کرده و يک componentايجاد مي کند. موارد استفاده: ‏ ‏ 44 بهبود کارايي. تسريع توسعه سيستم. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Decomposition . بزرگ را به چندين اجزاي کوچکتر تقسيم مي کندcomponent يک :Part-whole decomposition ک==وچ=کو ث==اب=تس==اخ=ته م=يsubcomponent ها از ي==کس==ريComponent .)model-view-controller (م=ان=ند.ش==ود ) و قابل فهم بودنextensibility( گسترش پذيري،integrability براي .)Understandability( آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab(     45 Decomposition )Is-a( . استdecomposition يک  يک خصوصي سازيsubcomponent يک پدر خود راfunctionality ) ازspecialization( .) (مانند ارثبري کالس.نمايش مي دهد  Used for reuse by increments. آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 46 Replication ) از يکexact duplication( تکثير مشابه .component :موارد استفاده براي بهينه سازي   .Reliability (redundant operation)  .)data caching( بهبود کارآيي آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 47 Typical Design Trade-Offs Funct io nal i t y Usa bi li t y Cost Ro bu st an ess Pe rfo rma nce Port abil it y Ra pi d Deve lo pment Funct i o nal it y Cost Re usa bil it y Ba ckwa rd Co mp a t ib il it y Underst a nda bili t y آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 48 اشتراک منابع ‏ ‏ داده و يا سرويس ها را encapsulateمي کند و آن را بين چندين مصرف کننده مستقل به اشتراک مي گذارد. (مثال :پايگاه داده هاي اشتراکي ،سرورها در .)client/server موارد استفاده: ‏Integrability  ‏Portability  ‏Modifiability  49 آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab عمليات واحد و کيفيت Fault tolerance Ease of system creation Component modifiability Ease of component creation reusability + + - - + + System Modification Integrability Portability Sequential Performance Compression - - - + Part-whole decomposition + + + Is-a decomposition + + - Scalability - + + + Concurrent Performance + 50 + Replication + آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab +( + + + - + Abstraction

51,000 تومان