انواع Architectural Styles آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 1 ...هاي معماريStyle انواع Data-Centered Repository Blackboard Independent Components (Loosely Coupled) Communicating Processes ،Implicit Invocation :Event-based Explicit Invocation Data Sharing Style با استفاده از داده هاي مشترک توسط هاcomponent Interactive Process Style . هاpattern ارتباط بين وابسته به ترتيب انجام محاسبات و همراه به يک کنترل Main Program/Subroutine Remote Procedure Call Layered (API) Object Oriented Hierarchied Style کاهش وابستگي اجزا و انتقال نتايج به زيرسيستم ها در يک سلسله مراتب Call/Return Virtual Machine Interpreter Rule-based e.g. Prolog System Data-Flow Batch Sequential Pipe and Filter آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 2 Data-Flow Style 3 موارد استفاده: اگر سيستم طوري به نظر آيد که در آن يک خروجي خوش-تعريف (well- )definedو easily-identifiedتهيه مي شود که نتيجه مستقيم ترتيبي از انتقال هاي ورودي با همان ويژگي ها در يک روش مستقل از زمان (Time- )independentاست. :Integrabilityارتباط بين چندين واسط ( )Interfaceساده بين componentها. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Data-Flow Substyles محاسبات شامل انتقال هايي روي جريان پيوسته:Pipe and filter .اي از داده مي شود سيستم شامل کنترل کردن اعمال مداوم:Closed loop control شدهembed ) که در يک سيستم فيزيکيContinuing Action( . مي باشد،است (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 Subroutine 1 Subroutine 2 آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( Subroutine 3 6 Remote Procedure به جاي ساختار سلسله مراتبي در شبکه توزيع مي شود. هر جز به صورت مستقل و بر اساس نياز فراخواني مي شود. 7 افزايش کارايي ( )performance امکان انجام multi-process هدف اصلي :کارايي و استقالل اجزا. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Layered hierarchies اهداف :چسبندگي باال ،قابليت حمل ( ،)portabilityبسته بندي ( ،)Packagingاستانداردسازي مثال.Motif ،TCP/IP ،7 layer Model ،ISO Open Systems : اجزا :سازمان سلسله مراتبي در اليه ها: با استفاده از 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 اهداف: :Encapsulationپنهان سازي اطالعات ()information hiding :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 Data Client 10 Client آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Client معماري Blackboard کاربردها: اجزا: 11 Complex data interpretation پردازش سيگنال.speech/pattern recognition ، استفاده از داده ها مشترک با استفاده از عامل هاي مستقل. :Blackboardمديريت داده ها مرکزي منابع دانش: ،Evaluate their applicability محاسبه يک نتيجه ،بهنگام سازي .blackboard کنترل: نظارت (.blackboard )monitor زمانبندي فعاليت هاي منابع دانش. آزمايشگاه سيستم های هوشمند ()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::updateBlackboard Calls Blackboard::inspect Calls Blackboard::update knowledge source .1 * .2 .3 -operates on .4 +updateBboard() +execCondidate() +execAction() -activities .5 * Blackboard .6 -solutions -controlData +inspect() +update() .7 .8 .9 Control +loop() +nextSourcs() آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 12 Data-Centered Style هنگامي مورد استفاده قرار مي گيرد که هدف محل ذخيره سازي ( ،)Storageنمايش، مديريت و بازيابي حجم بااليي از داده هاي long-livedمرتبط مي باشد. پايگاه داده ها و repositoryهاي تراکنش ي ()transactional :Blackboard 13 ترتيب اجراي componentها براساس جريان ورودي درخواست ها براي دسترس ي/بهنگام سازي داده بوده و داده ها در ساختار هاي سطح بااليي قرار دارندData is highly ( . .)structured مقياس پذيري ( )scalabilityبراي اضافه نمودن مصرف کننده ها( )consumersداده ها بدون تغيير محصول؛ و يا تغيير پذيري براي تغيير اينکه چه کس ي داده را تهيه مي کند و چه کس ي آن را مصرف مي کند. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Virtual Machine Style ، طراحي شدهcomponent هنگامي مورد استفاده قرار مي گيرد که براي يک .ماشين مشخص ي که روي آن اجرا شود وجود نداشته باشد ارائه يک محيط مجازي بين ماشين و، شبيه سازي عمليات مبتني بر دانش:هدف و ياportability برايnon-native functionality شبيه سازي،OS .prototyping :مثال Perl مثل،Interpreters Prolog مثل،Rule-based Systems Command Language processors JVM (intermediate language) آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 14 Call-and-return Styles 15 هنگامي مورد استفاده قرار مي گيرد که: ترتيب محاسبات ثابت است. Componentها پردازش مفيدي را به هنگام انتظار براي نتايج درخواست ها از componentهاي ديگر ،ندارند. آزمايشگاه سيستم های هوشمند ()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 انواع داده many like modules, commonalties could be exploited :Objects 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 Tight coupling :Explicit Invocation آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Independent Component Substyles فرايندهاي ارتباطاتي: Message-passingيک مکانيسم خوب براي اين کار است. فرايندهاي سبک (:)lightweight دسترس ي به داده ها براي اهداف کارايي مهم است. 20 Objectهاي توزيع شده :با استفاده از تمامي کارکردهاي object-oriented styleو .interacting process style آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Independent Component Substyles :Broadcast تمامي اجزا نيازمند همزمان شدن ( )Synchronizedاز زماني به زمان ديگر دارند. قابليت دسترس ي ( )availabilityيکي از نيازمندي هاي مهم است. :Event System 21 جدا کردن مصرف کننده هاي eventهاي از عالمت دهنده ( )signalersآنها. مقياس پذيري ( )Scalabilityبه صورت اضافه کردن فرايندهايي که با event ها triggerشده اند و تا به حال در سيستم شناسايي و يا عالمت داده ( )signaledشده اند. آزمايشگاه سيستم های هوشمند ()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 مزايا: معايب: 23 پتانسيل استفاده مجدد باال. توسعه آسان. Componentها و procedureها بايد در يک eventثبت نام کنند. ضمانتي براي مورد عمل قرار گرفتن يک eventوجود ندارد. تبادل داده: معموال يک repositoryمشترک نياز است. تشخيص درست کار کردن سيستم معموال سخت است. Compiler can no longer do early detection پيگير کد ( )traceبدون ابزار debuggingسخت است. امکان استفاده از انواع مختلف داده ( )data typingبسيار ضعيف است. آزمايشگاه سيستم های هوشمند ()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 مثال ها: 27 مجموعه اي سرويس هايي که موجب انجام عمليات مي شوند. امکان اجراي چندين فرايند روي يک يا چند ماشين براي تعامل از طريق شبکه را مهيا مي سازند. Object Management Group’s Common Object Request )Broker Architecture (CORBA .Microsoft’s Component Object Model (COM), DCOM آزمايشگاه سيستم های هوشمند ()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 Definition از يکCORBA هاي تعريف شده درobject تمامي . استفاده مي کنند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و برعکس به وجود مي آورند. ايجاد ليست آرگومان ها براي در خواست هايي که در )Dll( dynamic Invocation Interfaceبه وجود مي آيند. آزمايشگاه سيستم های هوشمند ()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 تهيه شده توسط کامپايلر “glue” يکORB و سرور وclient بين برنامه هايSkeleton ها وStub .هستند مي تواند با ارائه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 Adaptor . کمک مي کندORB و فعال کردن آن بهObject در تحويل دادن درخواست ها به library پايگاه داده است يا يکobject مانند اينکه آيا آن يک. را پنهان مي کندobject جزئيات .object آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 35 Other Brokers: Microsoft’s Component Object Model (COM, )DCOM COM )DCOM( Distributed COM براي تعامالت توزيع شده تحت شبکه. MTS ،ActiveX ،)Object Linking & Embedding( OLE 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 C++ ،visual Basicو J++ آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab MS, Component Object Model )(COM, DCAM 38 سرويس هاي پياده سازي شده توسط COM Objectsتحت يک مجموعه از واسط ها انتشار مي يابد. COMيک ساختار binaryبراي واسط بين clientو Objectتعريف مي کند. COM Objectها و واسط ها با استفاده از Microsoft Interface ) Definition Language (IDLتخصيص داده مي شوند. آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab Component Object Model (COM, )DCOM هر COM Objectدر داخل يک سرور اجرا مي شود: 39 client :In-process serverو سرور در يک فرايند ( )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ها 41 هدف کاتالوگ 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مد نظر است. آزمايشگاه سيستم های هوشمند ()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 44 دو componentرا با هم ترکيب کرده و يک componentايجاد مي کند. موارد استفاده: بهبود کارايي. تسريع توسعه سيستم. آزمايشگاه سيستم های هوشمند ()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 يک ) ازspecialization( يک خصوص ي سازيsubcomponent يک .) (مانند ارثبري کالس. پدر خود را نمايش مي دهدfunctionality Used for reuse by increments. آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 46 Replication .component ) از يکexact duplication( تکثير مشابه :موارد استفاده براي بهينه سازي .)redundant operation( Reliability .)data caching( بهبود کارآيي آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 47 Typical Design Trade-Offs Functionality Usability Cost Robustaness Performance Portability Rapid Development Functionality Cost Reusability Backward Compatibility Understandability آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( 48 اشتراک منابع داده و يا سرويس ها را encapsulateمي کند و آن را بين چندين مصرف کننده مستقل به اشتراک مي گذارد( .مثال :پايگاه داده هاي اشتراکي ،سرورها در .)client/server موارد استفاده: 49 Integrability Portability Modifiability آزمايشگاه سيستم های هوشمند ()http://ce.aut.ac.ir/islab عمليات واحد و کيفيت - - + Part-whole decomposition + + + Is-a decomposition + + - + - + Resource sharing + - آزمايشگاه سيستم های هوشمند )http://ce.aut.ac.ir/islab( reusability - Ease of component creation Compression Component modifiability - Ease of system creation + Fault tolerance Portability + + Concurrent Performance Integrability + Replication Sequential Performance System Modification Scalability Abstraction + + + + + - - - - + + + + + - + 50