Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) انواع Architectural Styles.

Similar presentations


Presentation on theme: "1 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) انواع Architectural Styles."— Presentation transcript:

1 1 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) انواع Architectural Styles

2 2 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) انواع Style هاي معماري...  Data-Centered Repository Blackboard  Independent Components (Loosely Coupled) Communicating Processes Event-based: Implicit Invocation ، Explicit Invocation  Data Sharing Style با استفاده از داده هاي مشترک توسط component ها  Hierarchied Style کاهش وابستگي اجزا و انتقال نتايج به زيرسيستم ها در يک سلسله مراتب  Interactive Process Style ارتباط بين pattern ها.  Call/Return وابسته به ترتيب انجام محاسبات و همراه به يک کنترل Main Program/Subroutine Remote Procedure Call Layered (API) Object Oriented  Virtual Machine Interpreter Rule-based e.g. Prolog System  Data-Flow Batch Sequential Pipe and Filter

3 3 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Data-Flow Style  موارد استفاده : اگر سيستم طوري به نظر آيد که در آن يک خروجي خوش - تعريف (well-defined) و easily-identified تهيه مي شود که نتيجه مستقيم ترتيبي از انتقال هاي ورودي با همان ويژگي ها در يک روش مستقل از زمان (Time-independent) است. Integrability : ارتباط بين چندين واسط (Interface) ساده بين component ها.

4 4 آزمايشگاه سيستم های هوشمند (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) !!

5 5 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) معماري هاي Call and Return  دست يافتن به تغييرپذيري (modifiability) و مقياس پذيري (scalability).  Sub-style ها : Main program and subroutine:  تقسيم (decompose) سلسله مراتبي يک برنامه.  هر جزو از برنامه، کنترل برنامه و داده را از پدر (parent) خود گرفته آن را به فرزندانش مي دهد. Remote Procedure Call:  داراي main program و روتين ها ولي به صورت توزيع شده روي يک شبکه.  افزايش کارايي (performance) به دليل استفاده از چندين پردازنده. Layered: به وسيله API ها. Object Oriented.

6 6 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Main program/Subroutine style  اهداف اوليه : استفاده مجدد، توسعه و ساخت مستقل اجزا (Independent development)  مثال : style سلسله مراتبي call/return

7 7 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Remote Procedure  به جاي ساختار سلسله مراتبي در شبکه توزيع مي شود.  هر جز به صورت مستقل و بر اساس نياز فراخواني مي شود. افزايش کارايي ( performance) امکان انجام multi-process  هدف اصلي : کارايي و استقلال اجزا.

8 8 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Layered hierarchies  اهداف : چسبندگي بالا، قابليت حمل (portability) ، بسته بندي (Packaging) ، استانداردسازي  مثال : ISO Open Systems ، 7 layer Model ، TCP/IP ، Motif.  اجزا : سازمان سلسله مراتبي در لايه ها : هر لايه سرويس هايي را براي لايه خارج از خود مهيا مي کند. هر لايه به عنوان يک client براي لايه درون خود عمل مي کند. در مواردي همه لايه ها به هم دسترسي دارند و يا تنها به برخي لايه هاي دسترسي وجود دارد. سيستم هاي ديگر تنها به close layer مي توانند دسترسي داشته باشند.  با استفاده از API ها و پروتکل ها به هم مرتبط مي شوند.  مزايا : پشتيباني از طراحي به وسيله Abstraction levels. قابليت توسعه با تسهيل اضافه کردن و يا تغيير يک لايه موجود.  معايب : کارايي سيتسم مي تواند به دليل سربار ناشي از لايه بندي هاي غيرضروري ( فراخواني توابع ) پايين آيدو ساختاربندي در يک حالت clean layers هميشه به آساني ممکن نيست. Requirements don ’ t make it evidently clear. توسعه آن با مشکل روبروست.

9 9 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Object-Oriented/Abstract Data Style  اهداف : مدلسازي طبيعي جهان واقعي (natural modeling) استفاده مجدد با refinement  Encapsulation: پنهان سازي اطلاعات (information hiding)  Objects: حفظ يکپارچگي و درستي (integrity) داده ها. پنهان کردن بازنمايي داده ها از کاربر. ايجاد ارتباط با استفاده از پيام ها (messages) هماهنگي داده به صورت اتوماتيک صورت مي گيرد.  مزايا : سيستم مجموعه اي از agent هاي مستقل است. نگهداري (maintenance) و توسعه (evolution) را بالا مي برد. قابليت استفاده مجدد.  معايب : براي تعامل، يک object بايد شناسه (identity) شيئ هدف را بداند. افزايش مقياس (scale up) مي تواند کند و غيرکارا باشد.

10 10 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Data-centered Style  اهداف : Integrability ، مقياس پذيري (scalability) (client/data جديد )  اجزا : ذخيره مرکزي داده – وضعيت کنوني. اجزاي مستقل که عمليات خود را روي داده مرکزي انجام مي دهند.  Data Centered Repository: پايگاه داده هاي قديمي نوع تراکنش فرايندي را براي اجرا انتخاب و آغاز (trigger) مي کند.  Blackboard: حالت داده مرکزي (data store ’ s State.) فرايند را براي اجرا انتخاب و آغاز مي کند.

11 11 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) معماري Blackboard  کاربردها : Complex data interpretation  پردازش سيگنال، speech/pattern recognition. استفاده از داده ها مشترک با استفاده از عامل هاي مستقل.  اجزا : Blackboard: مديريت داده ها مرکزي منابع دانش :  Evaluate their applicability ، محاسبه يک نتيجه، بهنگام سازي blackboard. کنترل :  نظارت (monitor) blackboard.  زمانبندي فعاليت هاي منابع دانش.

12 12 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) الگوريتم معماري blackboard 1. Start control::loop 2. Conrol::nextSource 3. Determine potential knowledge sources by calling Blackboard::inspect 4. Invoke knowledgeSource::execCandidate of each candidate knowledge source 5. Each candidate knowledge source invokes Blackboard::inspect to determine if/how it can contribute to current state of solution 6. Control chooses a knowledge source to invoke by calling KnowledgeSource::execAction 7. Executes knowledgeSource::updateBlackboard 8. Calls Blackboard::inspect 9. Calls Blackboard::update

13 13 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Data-Centered Style  هنگامي مورد استفاده قرار مي گيرد که هدف محل ذخيره سازي ( Storage ) ، نمايش، مديريت و بازيابي حجم بالايي از داده هاي long- lived مرتبط مي باشد.  پايگاه داده ها و repository هاي تراکنشي (transactional) ترتيب اجراي component ها براساس جريان ورودي درخواست ها براي دسترسي / بهنگام سازي داده بوده و داده ها در ساختار هاي سطح بالايي قرار دارند. ( Data is highly structured).  Blackboard: مقياس پذيري (scalability) براي اضافه نمودن مصرف کننده ها (consumers) داده ها بدون تغيير محصول؛ و يا تغيير پذيري براي تغيير اينکه چه کسي داده را تهيه مي کند و چه کسي آن را مصرف مي کند.

14 14 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Virtual Machine Style  هنگامي مورد استفاده قرار مي گيرد که براي يک component طراحي شده، ماشين مشخصي که روي آن اجرا شود وجود نداشته باشد.  هدف : شبيه سازي عمليات مبتني بر دانش، ارائه يک محيط مجازي بين ماشين و OS ، شبيه سازي non-native functionality براي portability و يا prototyping.  مثال :  Interpreters ، مثل Perl  Rule-based Systems ، مثل Prolog  Command Language processors  JVM (intermediate language)

15 15 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Call-and-return Styles  هنگامي مورد استفاده قرار مي گيرد که : ترتيب محاسبات ثابت است. Component ها پردازش مفيدي را به هنگام انتظار براي نتايج درخواست ها از component هاي ديگر، ندارند.

16 16 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Call-and-Return Substyles -1  Object-Oriented: تغييرپذيري (modifiability) و يکپارچگي (integrability) ( با توجه به واسط (Interface) ها ) موجب ايجاد کيفيت نيازمندي مي شود. (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

17 17 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) 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 اگر portability بين platform هاي محاسباتي مهم باشد. اگر بتوان از يک لايه زيرساختي که پياده سازي شده است ( مانند OS ، بسته هاي مديريت شبکه و...) استفاده نمود.

18 18 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Independent Component Style  موارد استفاده : سيستم روي يک platform چندپردازنده (multi-processor) اجرا مي شود و يا قرار است در آينده اجرا شود. سيستم مي تواند به صورت مجموعه اي از اجزا با وابستگي کم (loosely coupled) ساختاردهي شود.  يعني يک component مستقل از حالت اجزاي ديگر، مي تواند فرايندي را انجام دهد. ميزان سازي کارايي (performance tuning) مهم است.  By re-allocating work among processes

19 19 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Independent Components  شامل فرايندها و يا Object هاي مستقل که از طريق پيام هاي با هم ارتباط دارند.  هيچ کنترلي بين component ها وجود ندارد.  تغييرپذيري ( بخش هاي مختلف محاسبات از هم جدا هستند ).  شامل : فرايندهاي ارتباطي : توپولژي هاي ممکن  Peer to Peer  Client/Server Event System  Implicit invocation: براساس تغيير notification.  Explicit Invocation: Tight coupling

20 20 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Independent Component Substyles  فرايندهاي ارتباطاتي : Message-passing يک مکانيسم خوب براي اين کار است. فرايندهاي سبک (lightweight):  دسترسي به داده ها براي اهداف کارايي مهم است. Object هاي توزيع شده : با استفاده از تمامي کارکردهاي object- oriented style و interacting process style.

21 21 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Independent Component Substyles  Broadcast: تمامي اجزا نيازمند همزمان شدن (Synchronized) از زماني به زمان ديگر دارند. قابليت دسترسي (availability) يکي از نيازمندي هاي مهم است.  Event System: جدا کردن مصرف کننده هاي event هاي از علامت دهنده (signalers) آنها. مقياس پذيري (Scalability) به صورت اضافه کردن فرايندهايي که با event ها trigger شده اند و تا به حال در سيستم شناسايي و يا علامت داده (signaled) شده اند.

22 22 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Event-Based (Implicit Invocation)  دو دسته component کلي وجود دارد : دسته اي events را اعلام مي کنند. دسته اي به عنوان interest in events ثبت نام مي کنند.  براي هر event يک روتين مشترک وجود دارد که به هنگام آن event رخ مي دهد به صورت خودکار اجرا مي شود.  قسمتي از سيستم درصدد انتقال Event ها بين توليدکننده و مصرف کننده آنهاست.  محدوديت هاي محتوايي (Semantic): اعلام کننده هاي event ها نمي دانند که کدام component ها تحت تاثير قرار گرفته اند. هيچ فرضي در مورد ترتيب پردازش وجود ندارد.  موارد مورد استفاده : ابزارهاي Integrate. Ensure database consistency

23 23 آزمايشگاه سيستم های هوشمند (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) بسيار ضعيف است.

24 24 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) معماري Client/Server  مزايا : کاربران تنها اطلاعات را به در صورت نياز دريافت مي کنند. طراحي جزئيات نمايش را بيان مي کند. يک داده را به روش هاي مختلفي مي توان نمايش داد.  معايب : نيازمند مکانيزم هاي پيچيده تري براي امنيت و مديريت سيستم دارد. ساخت Application ها نيازمند منابع بيشتري براي پياده سازي هستند. مشکلات توزيعي بودن. (distribution problems).  انواع : Tier 1: سيستم واسط کاربر. Tier 2: لايه مياني (middle-tier)  مديريت فرايند ( منطق تجاري و اجراي قوانين )  Function ها ( مانند صفبندي queuing ، اجراي application و database staging).

25 25 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) معماري يک و دو لايه client/Server  مديريت پردازش (processing Management) به دو بخش زير تقسيم مي شود : سيستم واسط کاربر (user System interface) سرور مديريت پايگاه داده. (database management server)  Tier 1: سيستم واسط کاربر روي محيط desktop کاربر.  Tier 2: سرويس مديريت پايگاه داده در يک سرور.  محدوديت ها : وقتي تعداد client ها زياد مي شود ( بالاي 100 کاربر ) کارايي پايين مي آيد. انعطاف پذيري و قدرت انتخاب DBMS براي برنامه ها کم مي شود. ( به دليل مديريت فرايند در سطح سرور - stored procedures) انعطاف پذيري محدود در انتقاي functionality برنامه بين سرورها.

26 26 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) معماري سه لايه client/Server  منطق فرايند را متمرکز مي کند.  افزايش کارايي، انعطاف پذيري، قابليت نگهداري (maintainability) ، استفاده مجدد و مقياس پذيري.  تغييرات تنها بايد يک بار در سرور لايه مياني نوشته شوند تا در سيستم اعمال شوند.  يکپارچگي پايگاه داده هاي توزيع شده راحت تر ايجاد مي شود.  دسترسي به منابع با براساس نام است.

27 27 آزمايشگاه سيستم های هوشمند (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.

28 28 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Common Object request Broker Architecture (CORBA)  يک معماري استاندارد براي Object Request Broker (ORBs).  هدف : امکان گسترش محصولات ORB را به وجود مي آورد که از موارد زير پشتيباني مي کنند :  Application Portability and inter-operability.  ارتباط بين زبان هاي برنامه نويسي مختلف، platform هاي سخت افزاري مختلف، سيستم عامل هاي مختلف و پياده سازي هاي موجود ORB.

29 29 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) زيرساخت لايه مياني (Middle-Ware)  Application Programming Interface (API): براي برنامه ها امکانات زير را ايجاد مي کند : Location Transparently در شبکه و امکان تعامل با برنامه ها و سرويس هاي ديگر. استقلال از سرويس هاي شبکه. Reliable و در دسترس بودن. افزايش ظرفيت بدون از دست دادن functionality.

30 30 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Common Object request Broker Architecture (CORBA)  تمامي object هاي تعريف شده در CORBA از يک Interface Definition Language (IDL) استفاده مي کنند.  Language mappings are defined from IDL-> c,C++,Ada95, and Smalltack80  امکان عدم تجانس (Heterogeneity) زبان ها IDL Interface MineToCee {void myOper (long ArgA) } C++ Class MineToCee Public virtual CORBA::Object {virtual void myOper(CORBA::long ArgA); }

31 31 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) 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. پنهان کردن جزئيات سطح پايين ارتباطات Object ها در شبکه از Client ارائه يک API سطح بالا و Object type-specific.

32 32 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Common Object request Broker Architecture (CORBA)  Object Request Broker (ORB): استقلال client ها از سرويس ها  Locational and functional Transparency درخواست هاي client از نظر خودش فراخواني يک تابع محلي است.  هنگامي که يک client يک operation را فراخواني مي کند، ORB مسئول يافتن پياده سازي Object مربوطه، در صورت نياز فعال کردن آن، تحويل درخواست به Object و برگرداندن هرگونه پاسخ به در خواست کننده، مي باشد.  واسط ORB مجموعه اي از وظايف (tasks) و library هايي که امکان  تبديل object reference را به رشته (String) و برعکس به وجود مي آورند.  ايجاد ليست آرگومان ها براي در خواست هايي که در dynamic Invocation Interface (Dll) به وجود مي آيند.

33 33 آزمايشگاه سيستم های هوشمند (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 در زبان برنامه نويسي هدف.  Stub ها و Skeleton بين برنامه هاي client و سرور و ORB يک “ glue ” هستند.  تنها امکان فراخواني از راه دور توسط RPC وجود دارد. RPC مي تواند با ارائه Address Pointer مربوط به client به تابعي که در سرور نيازمند فراخواني آن است، انجام گيرد.

34 34 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Common Object request Broker Architecture (CORBA): Details 4  Dynamic Invocation Interface (Dll) client side  اين واسط اجازه مي دهد يک client به صورت مستقيم به سرويسي که توسط يک ORB ارئه مي شود، دسترسي داشته باشد.  برنامه ها از Dll ها براي صادر کردن dynamic درخواست ها به object ها بدون نياز به لينک شدن به 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.

35 35 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Common Object request Broker Architecture (CORBA): Details 4  Dynamic Skeleton Interface (DSI)- server side  براي يک ORB امکان Deliver کردن request ها را به يک object پياده سازي شده که هيچ اطلاعاتي در مورد اطلاعات compile-time مربوط به نوع object پياده سازي شده ندارد، مهيا مي کند.  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  در تحويل دادن درخواست ها به Object و فعال کردن آن به ORB کمک مي کند. Adaptor جزئيات object را پنهان مي کند. مانند اينکه آيا آن يک object پايگاه داده است يا يک library object.

36 36 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Other Brokers: Microsoft’s Component Object Model (COM, DCOM)  COM چارچوبي (framework) براي يکپارچه سازي component ها. امکان Assemble کردن چندين component مختلف که توسط vendor هاي مختلفي ارائه شده است را براي ساخت يک سيستم ايجاد مي کند.  Distributed COM (DCOM) براي تعاملات توزيع شده تحت شبکه.  OLE (Object Linking & Embedding) ، ActiveX ، MTS سرويس هاي سطح بالايي که روي COM ساخته شده اند.

37 37 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) MS, Component Object Model (COM, DCAM)  OLE سرويس هايي ( مانند object linking and embedding) ارائه مي دهد که در ايجاد مستندات ترکيبي ( مستنداتي که به وسيله چندين منبع ابزاري (tool source) تهيه مي شوند ) مورد استفاده قرار مي گيرد.  ActiveX گسترشي براي استفاده از component ها در وب سايت ها.  MTS گسترشي با سرويس هاي Enterprise ( تراکنش، امنيت ) براي ايجاد امکان ساخت سيستم هاي اطلاعاتي سازماني با استفاده از COM.  COM+ سرويس هاي MTS و message queing را در COM ترکيب کرده تا برنامه نويسي COM را ساده تر کند. يکپارچه شده با visual Basic ، visual C++ و J++

38 38 آزمايشگاه سيستم های هوشمند (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) تخصيص داده مي شوند.

39 39 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Component Object Model (COM, DCOM)  هر COM Object در داخل يک سرور اجرا مي شود : In-process server: client و سرور در يک فرايند (process) مشترک اجرا مي شوند. Local Object proxy: سرور در يک فرايند جدا ولي در يک ماشين مشترک اجرا مي شود.  ارتباطات به وسيله ارتباطات inter-process انجام مي شود. Remote Object proxy: يک remote server روي يک ماشين ديگر.  ارتباطات به وسيله DCE RPC ( پشتيباني توسط COM) انجام مي گيرد. تمامي COM Object ها با يک component پايگاه داده ثبت نام شده اند.

40 40 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) انتخاب يک Style معماري

41 41 آزمايشگاه سيستم های هوشمند (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) مد نظر است.

42 42 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) عمليات واحد (unit operations)  تدوين قوانين مربوط به عمليات طراحي در يک معماري به کار گرفته شده است.  شامل : Abstraction Compression Part-whole decomposition Replication Resource sharing

43 43 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Abstraction  يک component مجازي (Virtual) ايجاد مي کند.  موارد استفاده : Simulated target platform سيستم هاي لايه بندي شده (layered systems). واسطي مشترک براي مجموعه اي از اجزاي پياده سازي شده در محيط هاي نامتجانس (Heterogeneous).

44 44 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Compression  دو component را با هم ترکيب کرده و يک component ايجاد مي کند.  موارد استفاده : بهبود کارايي. تسريع توسعه سيستم.

45 45 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Decomposition  يک component بزرگ را به چندين اجزاي کوچکتر تقسيم مي کند.  Part-whole decomposition: Component ها از يک سري subcomponent کوچک و ثابت ساخته مي شود. ( مانند model-view-controller). براي integrability ، گسترش پذيري (extensibility) و قابل فهم بودن (Understandability).

46 46 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Decomposition  يک decomposition است. (Is-a) يک subcomponent يک خصوصي سازي (specialization) از functionality پدر خود را نمايش مي دهد. ( مانند ارثبري کلاس ). Used for reuse by increments.

47 47 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Replication  تکثير مشابه (exact duplication) از يک component.  موارد استفاده براي بهينه سازي : Reliability (redundant operation). بهبود کارآيي (data caching).

48 48 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) Typical Design Trade-Offs

49 49 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) اشتراک منابع  داده و يا سرويس ها را encapsulate مي کند و آن را بين چندين مصرف کننده مستقل به اشتراک مي گذارد. ( مثال : پايگاه داده هاي اشتراکي، سرورها در client/server).  موارد استفاده : Integrability Portability Modifiability

50 50 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) عمليات واحد و کيفيت ScalabilitySystem ModificationIntegrabilityPortabilitySequentialPerformanceConcurrentPerformanceFault toleranceEase of systemcreationComponentmodifiabilityEase of componentcreationreusability Abstraction +++-+++++ Compression ---+---- Part-whole decomposition ++++ Is-a decomposition ++-+++ Replication +-++ Resource sharing +-+-+


Download ppt "1 آزمايشگاه سيستم های هوشمند (http://ce.aut.ac.ir/islab) انواع Architectural Styles."

Similar presentations


Ads by Google