SlideShare a Scribd company logo
Problem #1
●

➔

➔

Assume that you are building a source code transformation toolkit.
The toolkit will contain components that can be configured to
perform specific sets of code transformations on source code. There
are 3 categories of components: parsers (e.g., for C, Ada, COBOL)
that can read in source code and produce internal program
representation, transformers (code formatters, code optimizers, etc.)
that work on the internal program representation, and pretty-printers
that can transform the internal program implementation back into
source code. Assume that the toolkit should be easily extensible with
new components and that the components can work incrementally on
streams of source code or internal representation. The user will work
with the configurations in a batch mode rather than interactively.
What architectural style would be most appropriate for this toolkit?
Why?
Give a sketch of the toolkit architecture.
Problem #1 Solution

●

A data-flow system. Data controls computation.

●

Pipes & Filters

●

Parsers, transformers and pretty-printers work on data
streams in an incremental fashion. Consume & produce.

●

Extensibility

●

Batch mode rather than interactive
Problem #2
●

Assume that you are building a television controller which
responds to signals from remote control unit.

➔

Which architectural style is most appropriate for the given system?

➔

Give a sketch of a sample architecture for each system.

➔

Discuss the reason for selecting a given style for each system.
Problem #2 Solution

●

A control-loop system: process input in a continuous
loop

●

Select the handler based on input

●

State-machine maybe used for complex input/output
–

●

E.g. Button sequence on input (receiver) side or signal
sequence on output (actuator) side

Event-driven architectural style possible as well
Problem #3
●

Assume that you are building a voice recognition system (assume
that the system has to perform segmentation into phonems, syllable
creation, word creation, and dictionary lookup; assume that these
tasks cooperate on the recognition problem and there is no simple
algorithmic order for performing these tasks; also, the system
should be easy to extend with new algorithms).

➔

Which architectural style is most appropriate for the given system?

➔

Give a sketch of a sample architecture for each system.

➔

Discuss the reason for selecting a given style for each system.
Problem #3 Solution

●

Blackboard architecture.

●

No algorithmic order + cooperative work required.

●

New components register with the blackboard for events.

●

Processes solve partial solutions. Solutions are stored in the
blackboard.
Problem #4
●

Assume that you are building an e-commerce system handling high
volumes of transactions per day from on-line customers.

➔

Which architectural style is most appropriate for the given system?

➔

Give a sketch of a sample architecture for each system.

➔

Discuss the reason for selecting a given style for each system.
Problem #4 Solution

●

Multi-tier architecture.

●

Middle tier (business logic) allows for scalability.

●

Database layer easy to scale.

●

Clients easy to update.
Problem #5
●

Assume that you are building a development environment capable
of integrating a set of tools (e.g., compiler, editor, debugger, etc.)
produced by different vendors.

➔

Which architectural style is most appropriate for the given system?

➔

Give a sketch of a sample architecture for each system.

➔

Discuss the reason for selecting a given style for each system.
Problem #5 Solution

●

Implicit invocation.

●

Full decoupling between sender and receiver
–
–

●

Reuse,
Maintenance.

New tools can subscribe.
Problem #6
●

Assume that you are building a software performing call
processing for telecom switching equipment.

➔

Which architectural style is most appropriate for the given system?

➔

Give a sketch of a sample architecture for each system.

➔

Discuss the reason for selecting a given style for each system.
Problem #6 Solution

●

●

Interacting processes.
More accurate modeling of concurrency of the real
world.

●

Robustness.

●

Scalability.

More Related Content

What's hot (20)

PPTX
Algorithm and Flowcharts
Dr. SURBHI SAROHA
 
PPT
algorithm
kokilabe
 
PPTX
Algorithm and flowchart
Shivam Sharma
 
PPT
Fundamental of Algorithms
Dr Shashikant Athawale
 
PDF
Problem Solving Techniques and Introduction to C
Prabu U
 
PPTX
Introduction to algorithn class 1
Kumar
 
PPT
8.1 alogorithm & prolem solving
Khan Yousafzai
 
PPTX
Introduction to problem solving in C
Diwakar Pratap Singh 'Deva'
 
PPT
Finance & Testing 2009 Highspeed Testautomation
guesta64aefc
 
PPT
Problem solving using Computer
David Livingston J
 
PDF
Assignment # 3 computer system and Programming EC-105
NUST Stuff
 
PPTX
MATLAB Thesis for Students
Phdtopiccom
 
PPT
Steps for Developing a 'C' program
Sahithi Naraparaju
 
PPTX
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
NA000000
 
PPT
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision table
Anjali Technosoft
 
PPT
03 algorithm properties
Lincoln School
 
PDF
Lecture Note-2: Performance analysis of Algorithms
Rajesh K Shukla
 
PPT
Cs 1114 - lecture-2
Zeeshan Sabir
 
PDF
Cyclomatic complexity
Nikita Kesharwani
 
PPTX
Unit 1. Problem Solving with Computer
Ashim Lamichhane
 
Algorithm and Flowcharts
Dr. SURBHI SAROHA
 
algorithm
kokilabe
 
Algorithm and flowchart
Shivam Sharma
 
Fundamental of Algorithms
Dr Shashikant Athawale
 
Problem Solving Techniques and Introduction to C
Prabu U
 
Introduction to algorithn class 1
Kumar
 
8.1 alogorithm & prolem solving
Khan Yousafzai
 
Introduction to problem solving in C
Diwakar Pratap Singh 'Deva'
 
Finance & Testing 2009 Highspeed Testautomation
guesta64aefc
 
Problem solving using Computer
David Livingston J
 
Assignment # 3 computer system and Programming EC-105
NUST Stuff
 
MATLAB Thesis for Students
Phdtopiccom
 
Steps for Developing a 'C' program
Sahithi Naraparaju
 
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
NA000000
 
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision table
Anjali Technosoft
 
03 algorithm properties
Lincoln School
 
Lecture Note-2: Performance analysis of Algorithms
Rajesh K Shukla
 
Cs 1114 - lecture-2
Zeeshan Sabir
 
Cyclomatic complexity
Nikita Kesharwani
 
Unit 1. Problem Solving with Computer
Ashim Lamichhane
 

Similar to Architecture presentation 4 (20)

PPT
software design cet ererg rgg rggerv rgeg
hajerghinnewah
 
PPT
SE-software design.ppt
vishal choudhary
 
PPT
5 software design
cherrybear2014
 
PPT
Week 6
Mahmoud Saaideh
 
PPTX
Problem-solving and design 1.pptx
TadiwaMawere
 
PPTX
Introduction to computer programming
Sangheethaa Sukumaran
 
PPT
Vedic Calculator
divyang_panchasara
 
PPT
COmputer zDesign and ArchitectureDch1Slides (1).ppt
rajesshs31r
 
PDF
Multicore_Architecture Book.pdf
SwatantraPrakash5
 
DOCX
Computers in management
Kinshook Chaturvedi
 
PPTX
Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2
FabMinds
 
PPTX
Programming C ppt for learning foundations
ssuser65733f
 
PPTX
Design Like a Pro: Scripting Best Practices
Inductive Automation
 
PDF
Measuring Your Code
Nate Abele
 
PDF
2014 01-ticosa
Pharo
 
PPT
C programming for Computing Techniques
Appili Vamsi Krishna
 
PPTX
Design Like a Pro: Scripting Best Practices
Inductive Automation
 
PDF
251 - Alogarithms Lects.pdf
Abdulkadir Jibril
 
PDF
What’s eating python performance
Piotr Przymus
 
PPT
Higher Homework
mrsmackenzie
 
software design cet ererg rgg rggerv rgeg
hajerghinnewah
 
SE-software design.ppt
vishal choudhary
 
5 software design
cherrybear2014
 
Problem-solving and design 1.pptx
TadiwaMawere
 
Introduction to computer programming
Sangheethaa Sukumaran
 
Vedic Calculator
divyang_panchasara
 
COmputer zDesign and ArchitectureDch1Slides (1).ppt
rajesshs31r
 
Multicore_Architecture Book.pdf
SwatantraPrakash5
 
Computers in management
Kinshook Chaturvedi
 
Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2
FabMinds
 
Programming C ppt for learning foundations
ssuser65733f
 
Design Like a Pro: Scripting Best Practices
Inductive Automation
 
Measuring Your Code
Nate Abele
 
2014 01-ticosa
Pharo
 
C programming for Computing Techniques
Appili Vamsi Krishna
 
Design Like a Pro: Scripting Best Practices
Inductive Automation
 
251 - Alogarithms Lects.pdf
Abdulkadir Jibril
 
What’s eating python performance
Piotr Przymus
 
Higher Homework
mrsmackenzie
 
Ad

Recently uploaded (20)

PDF
Home_Decor_Presentation and idiea with decor
sp1357556
 
PDF
mlbrolllist2024-25 (1)ygrude4ferfssrddde
rishabh1chaurasia4
 
PPTX
Premium Slide's Formatting Services.pptx
Mahendra Kumar
 
PDF
Line Sizing presentation about pipe sizes
anniebuzzfeed
 
DOCX
Amplopxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Lm Hardin 'Idin'
 
PPTX
SlideEgg_500613-Natural Stones_20250715134759_Nl1PLcra (1).pptx
ChinmayRao11
 
PPTX
RELATED LITERATURE REPORT-WPS Office.pptx
dmpranne0307
 
PDF
Hossain Kamyab on Mixing and Matching Furniture.pdf
Hossain Kamyab
 
PPTX
Residential_Interior_Design_No_Images.pptx
hasansarkeraidt
 
PPTX
Interior Design Portfolio XL by Slidesgo.pptx
jeremysalvadore19
 
PDF
Kitchen_Aluminium_Doors_Prices_Presentation.pdf
Royal Matrixs
 
PDF
Dunes.pdf, Durable and Seamless Solid Surface Countertops
tranquil01
 
PDF
UGC.pdfnsgsjshshsbhsbsjsshisggzvshsggsihsgsush
Nitishsingh548979
 
PDF
CXEO CONSTRUCTION EXECUTIVE ENTREPRENEUR OWNER ACADEMY - Brand book
impybla
 
PPTX
The Satavahanas.pptx....,......,........
Kritisharma797381
 
PPT
APPLIED ASPECTS OF PUBERTY AND ADOLESCENCE (final)[1].ppt
divyaunkule1829
 
PPTX
UIUX-Design-Enhancing-Digital-Experiences.pptx
kapilsolanki439
 
PDF
Spring Summer 2027 Beauty & Wellness Trend Book
Peclers Paris
 
PPTX
cold storage design of- case studies.pptx
Abdulkhaliqkhanzadi
 
PDF
Domestic Money Transfer(DMT) API Service Providers in India
https://dkpractice.co.in/seo.html tech
 
Home_Decor_Presentation and idiea with decor
sp1357556
 
mlbrolllist2024-25 (1)ygrude4ferfssrddde
rishabh1chaurasia4
 
Premium Slide's Formatting Services.pptx
Mahendra Kumar
 
Line Sizing presentation about pipe sizes
anniebuzzfeed
 
Amplopxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Lm Hardin 'Idin'
 
SlideEgg_500613-Natural Stones_20250715134759_Nl1PLcra (1).pptx
ChinmayRao11
 
RELATED LITERATURE REPORT-WPS Office.pptx
dmpranne0307
 
Hossain Kamyab on Mixing and Matching Furniture.pdf
Hossain Kamyab
 
Residential_Interior_Design_No_Images.pptx
hasansarkeraidt
 
Interior Design Portfolio XL by Slidesgo.pptx
jeremysalvadore19
 
Kitchen_Aluminium_Doors_Prices_Presentation.pdf
Royal Matrixs
 
Dunes.pdf, Durable and Seamless Solid Surface Countertops
tranquil01
 
UGC.pdfnsgsjshshsbhsbsjsshisggzvshsggsihsgsush
Nitishsingh548979
 
CXEO CONSTRUCTION EXECUTIVE ENTREPRENEUR OWNER ACADEMY - Brand book
impybla
 
The Satavahanas.pptx....,......,........
Kritisharma797381
 
APPLIED ASPECTS OF PUBERTY AND ADOLESCENCE (final)[1].ppt
divyaunkule1829
 
UIUX-Design-Enhancing-Digital-Experiences.pptx
kapilsolanki439
 
Spring Summer 2027 Beauty & Wellness Trend Book
Peclers Paris
 
cold storage design of- case studies.pptx
Abdulkhaliqkhanzadi
 
Domestic Money Transfer(DMT) API Service Providers in India
https://dkpractice.co.in/seo.html tech
 
Ad

Architecture presentation 4

  • 1. Problem #1 ● ➔ ➔ Assume that you are building a source code transformation toolkit. The toolkit will contain components that can be configured to perform specific sets of code transformations on source code. There are 3 categories of components: parsers (e.g., for C, Ada, COBOL) that can read in source code and produce internal program representation, transformers (code formatters, code optimizers, etc.) that work on the internal program representation, and pretty-printers that can transform the internal program implementation back into source code. Assume that the toolkit should be easily extensible with new components and that the components can work incrementally on streams of source code or internal representation. The user will work with the configurations in a batch mode rather than interactively. What architectural style would be most appropriate for this toolkit? Why? Give a sketch of the toolkit architecture.
  • 2. Problem #1 Solution ● A data-flow system. Data controls computation. ● Pipes & Filters ● Parsers, transformers and pretty-printers work on data streams in an incremental fashion. Consume & produce. ● Extensibility ● Batch mode rather than interactive
  • 3. Problem #2 ● Assume that you are building a television controller which responds to signals from remote control unit. ➔ Which architectural style is most appropriate for the given system? ➔ Give a sketch of a sample architecture for each system. ➔ Discuss the reason for selecting a given style for each system.
  • 4. Problem #2 Solution ● A control-loop system: process input in a continuous loop ● Select the handler based on input ● State-machine maybe used for complex input/output – ● E.g. Button sequence on input (receiver) side or signal sequence on output (actuator) side Event-driven architectural style possible as well
  • 5. Problem #3 ● Assume that you are building a voice recognition system (assume that the system has to perform segmentation into phonems, syllable creation, word creation, and dictionary lookup; assume that these tasks cooperate on the recognition problem and there is no simple algorithmic order for performing these tasks; also, the system should be easy to extend with new algorithms). ➔ Which architectural style is most appropriate for the given system? ➔ Give a sketch of a sample architecture for each system. ➔ Discuss the reason for selecting a given style for each system.
  • 6. Problem #3 Solution ● Blackboard architecture. ● No algorithmic order + cooperative work required. ● New components register with the blackboard for events. ● Processes solve partial solutions. Solutions are stored in the blackboard.
  • 7. Problem #4 ● Assume that you are building an e-commerce system handling high volumes of transactions per day from on-line customers. ➔ Which architectural style is most appropriate for the given system? ➔ Give a sketch of a sample architecture for each system. ➔ Discuss the reason for selecting a given style for each system.
  • 8. Problem #4 Solution ● Multi-tier architecture. ● Middle tier (business logic) allows for scalability. ● Database layer easy to scale. ● Clients easy to update.
  • 9. Problem #5 ● Assume that you are building a development environment capable of integrating a set of tools (e.g., compiler, editor, debugger, etc.) produced by different vendors. ➔ Which architectural style is most appropriate for the given system? ➔ Give a sketch of a sample architecture for each system. ➔ Discuss the reason for selecting a given style for each system.
  • 10. Problem #5 Solution ● Implicit invocation. ● Full decoupling between sender and receiver – – ● Reuse, Maintenance. New tools can subscribe.
  • 11. Problem #6 ● Assume that you are building a software performing call processing for telecom switching equipment. ➔ Which architectural style is most appropriate for the given system? ➔ Give a sketch of a sample architecture for each system. ➔ Discuss the reason for selecting a given style for each system.
  • 12. Problem #6 Solution ● ● Interacting processes. More accurate modeling of concurrency of the real world. ● Robustness. ● Scalability.