Transcript Slide 1
انواع
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