Pertemuan 14 Arsitektur Process Matakuliah : M0446/Analisa dan Perancangan Sistem Informasi

advertisement
Matakuliah
Tahun
Versi
: M0446/Analisa dan Perancangan Sistem Informasi
: 2005
: 0/0
Pertemuan 14
Arsitektur Process
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• Membagi class menjadi component
2
Outline Materi
• Distribute Program Components
• Identify shared resources
3
Sub-activities in
Process Architecture Design
Class diagram and
component specifications
Identify shared
resources
Distribute program
components
Explore distribution
patterns
Select
coordination
mechanisms
Deployment
diagram
Explore coordination
patterns
4
Distribute Program Components
• Different components need to be placed
on individual processors
• First, separate out any active objects from
passive program components
• Second, determine the available
processors
• Distribute the program components and
active objects onto the processors
5
Explore Distribution Patterns
• Patterns for how components are placed on
processors
– The centralised pattern: Centralised data and
functionality, thin client, but low robustness
– The distributed pattern: Replicated data, server only
broadcasts updates, robust, but potential data
inconsistencies
– The decentralised pattern: Partitioned data, low
inconsistencies, more diversity/complexity
6
Identify
Shared Resources
• Processor: Two or more concurrent
processes that should be executed on the
same processor
• External Devices: Two or more concurrent
processes use the same external device
• Component: Two or more concurrent
processes call operations on objects in the
same component
7
Example Deployment Diagram:
Airline Check-in
Active objects
Processor
External
devices
(Mathiassen et al, 1999)
8
Finding Bottlenecks
• Processors: What is the relationship between the capacity of
each processor and the needs of the active objects
assigned to it?
• External Devices: What is the accessibility, capacity, and
load of the different external devices in the interface?
• Data Storage: Which parts of the model need to be stored
on which storage media?
• System/Network Connections: What is the capacity and load
of the system’s connections?
9
Overcoming Bottlenecks
• Two options:
– Change the design and the distribution of the
components onto the available processors
– Enhance the platform with more processors or
more powerful processors
10
Select
Coordination Mechanisms
• Many operating systems and technical platforms
provide mechanisms to control sharing
– Varies substantially from platform to platform
– So need to be sure in each case!
• If not, we have to solve it ourselves by
developing our own coordination mechanisms
– Generally rely on active object that controls the
sharing
– Can make use of generic patterns
11
Coordination Mechanisms
• Generalised patterns of coordination:
– Dedicated monitor ensuring atomic access to shared
resources.
– Centralized task dispatching for coordination of all
concurrent processes. (e.g., event loop)
– Subscription to state changes for initiation of
processes in opportune situations.
– Asynchronous exchange of data to avoid
unnecessary delays with read and write operations.
12
Principles of
Architecture Design
• Aim at an architecture without bottlenecks
– Slows down the system and causes problems
• Distribute components on processors
– Decision can reduce potential bottlenecks
• Coordinate resource sharing with active objects
– Use the technical platform or design your own
mechanisms
13
Download