Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
GoV Patterns for Software Architecture, Pattern Schema, Architectural Patterns, From Mud to Structure, Layers, Pipes and Filters, Distributed Systems, Broker, Raman Ramsin, Lecture Slides, Patterns in Software Engineering, Department of Computer Engineering, Sharif University of Technology, Iran.
Typology: Slides
1 / 32
Department of Computer Engineering
1
Sharif University of Technology
^ A
The solution scheme is specified by describing^ ^ the constituent components^ ^ The responsibilities and relationships of the components^ The responsibilities and relationships of the components^ ^ the ways in which the components collaborate.
Department of Computer Engineering
2
Sharif University of Technology
^ Structure with components and relationships ^ Structure with components and relationships ^ Run-time
Department of Computer Engineering
3
Sharif University of Technology
^ Expresses a fundamental structural organization schema for software ^ Expresses
hi^ b t^
th relationships between them.
^ Provides a scheme for refining the subsystems or components of asoftware system
Low-level pattern specific to a programming language.^ ^ Describes how to implement particular aspects of components or therelationships between them using the features of the given language.
Department of Computer Engineering
4
Sharif University of Technology
^ Support a controlled decomposition of a system task into cooperating subtasks.pp
p^
y^
p^ g
^ Layers,
Pipes and Filters, and
Blackboard
^ Deal with the infrastructure of distributed applications ^ Deal
with the infrastructure of distributed applications. Broker; alsoMicrokernel and
Pipes and Filters, which only consider distribution as a
^ Support the structuring of systems that feature human-computer interaction. ^ Model-View-Controller and
Presentation-Abstraction-Control
^ Support extension of applications and their adaptation to evolving technology andchanging functional requirements.^ ^ Reflection and
Microkernel Department of Computer Engineering
5
Sharif University of Technology
^ Reflection
and^ Microkernel
^ Each group of subtasks is at a particular level of abstraction. Pipes and Filters:
^ Each processing step is encapsulated in a filter component.^ ^ Data is passed through pipes between adjacent filters. ^ Data is passed through pipes between adjacent filters.^ ^ Recombining filters allows you to build families of related systems. Blackboard:
^ Several specialized subsystems assemble their knowledge to build apossibly partial or approximate solution.Department of Computer Engineering
6
Sharif University of Technology
7
Sharif University of Technology
^ Late source code changes should not ripple through the system.
g^
pp^
g^ y
^ Interfaces should be stable. ^ Parts of the system should be exchangeable. ^ It may be necessary to build other systems at a later date with the same low-levelissues as the system you are currently designingissues as the system you are currently designing. ^ Similar responsibilities should be grouped to help understandability andmaintainability. ^ There is no 'standard' component granularity. ^ Complex components need further decomposition. ^ Crossing component boundaries may impede performance. ^ The system will be built by a team of programmers, and work has to be subdividedalong clear boundariesDepartment of Computer Engineering
8
Sharif University of Technology
along^ clear boundaries.
9
Sharif University of Technology
^ III: A top level request may only go to level N 1 lf this level can satisfy ^ III: A top-level request may only go to level N-1 lf this level can satisfythe request; e.g. when level N-1 acts as a cache.^ ^ IV: A bottom-level request may only travel through the next few upper-level layers.e e^
10
Sharif University of Technology
11
Sharif University of Technology
12
Sharif University of Technology
^ Future system enhancements should be possible by exchanging processingsteps or by recombination of steps, even by users. ^ Small processing steps are easier to reuse in different contexts than largeones. ^ Non adjacent processing steps do not share information ^ Non-adjacent processing steps do not share information. ^ Different sources of input data exist. ^ It should be possible to present or store final results in various ways. ^ Explicit storage of intermediate results for further processing in files clutters ^ Explicit storage of intermediate results for further processing in files cluttersdirectories and is error-prone, if done by users. ^ You may not want to rule out multi-processing the steps, for example runningthem in parallel.Department of Computer Engineering
13
Sharif University of Technology
14
Sharif University of Technology
passive ).
^ The previous pipeline element pushes new input data to the filter (
passive ).
^ Most commonly, the filter is
active^ in a loop. y,^
p
Department of Computer Engineering
15
Sharif University of Technology
Department of Computer Engineering
16
Sharif University of Technology
17
Sharif University of Technology
18
Sharif University of Technology
p^ p^
p p^
p
Department of Computer Engineering
19
Sharif University of Technology
y p^ ,^
p^
p^
p
Department of Computer Engineering
20
Sharif University of Technology
21
Sharif University of Technology
8 Error
handling is difficult
^ Abroker component is responsible for coordinating communication, such asforwarding requests, as well as for transmitting results and exceptions. Microkernel:
^ Applies to software systems that must be able to adapt to changing systemrequirementsrequirements.^ ^ Microkernel systems employ a Client-Server architecture in which clients andservers run on top of the microkernel component. Pipes and Filters:
22
Sharif University of Technology
k^
^ A^ broker component is responsible for coordinating communication, suchas forwarding requests, as well as for transmitting results and exceptions. Department of Computer Engineering
23
Sharif University of Technology
-^ Your environment is a distributed and possibly
^ Components should be able to access services provided by othersthrough remote
You need to exchange, add, or remove components at run-time. The architecture should hide system- and implementation-specific detailsfrom the users of components and services.from the users of components and services.
Department of Computer Engineering
24
Sharif University of Technology
requests from clients to servers and requests from clients to servers, and responses and exceptions back to the client.
Department of Computer Engineering
25
Sharif University of Technology