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

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

What's hot (20)

Algorithm and Flowcharts
Algorithm and FlowchartsAlgorithm and Flowcharts
Algorithm and Flowcharts
 
algorithm
algorithmalgorithm
algorithm
 
Algorithm and flowchart
Algorithm and flowchart Algorithm and flowchart
Algorithm and flowchart
 
Fundamental of Algorithms
Fundamental of Algorithms Fundamental of Algorithms
Fundamental of Algorithms
 
Problem Solving Techniques and Introduction to C
Problem Solving Techniques and Introduction to CProblem Solving Techniques and Introduction to C
Problem Solving Techniques and Introduction to C
 
Introduction to algorithn class 1
Introduction to algorithn class 1Introduction to algorithn class 1
Introduction to algorithn class 1
 
8.1 alogorithm & prolem solving
8.1 alogorithm & prolem solving8.1 alogorithm & prolem solving
8.1 alogorithm & prolem solving
 
Introduction to problem solving in C
Introduction to problem solving in CIntroduction to problem solving in C
Introduction to problem solving in C
 
Finance & Testing 2009 Highspeed Testautomation
Finance & Testing 2009 Highspeed TestautomationFinance & Testing 2009 Highspeed Testautomation
Finance & Testing 2009 Highspeed Testautomation
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using Computer
 
Assignment # 3 computer system and Programming EC-105
Assignment # 3   computer system and Programming EC-105 Assignment # 3   computer system and Programming EC-105
Assignment # 3 computer system and Programming EC-105
 
MATLAB Thesis for Students
MATLAB Thesis for StudentsMATLAB Thesis for Students
MATLAB Thesis for Students
 
Steps for Developing a 'C' program
 Steps for Developing a 'C' program Steps for Developing a 'C' program
Steps for Developing a 'C' program
 
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPURCleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
Cleanroom Software Engineering By NADEEM AHMED FROM DEPALPUR
 
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision table
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision tableProgramming aids- Algorithm, Flowchart, Pseudocodes and Decision table
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision table
 
03 algorithm properties
03 algorithm properties03 algorithm properties
03 algorithm properties
 
Lecture Note-2: Performance analysis of Algorithms
Lecture Note-2: Performance analysis of AlgorithmsLecture Note-2: Performance analysis of Algorithms
Lecture Note-2: Performance analysis of Algorithms
 
Cs 1114 - lecture-2
Cs 1114 - lecture-2Cs 1114 - lecture-2
Cs 1114 - lecture-2
 
Cyclomatic complexity
Cyclomatic complexityCyclomatic complexity
Cyclomatic complexity
 
Unit 1. Problem Solving with Computer
Unit 1. Problem Solving with Computer   Unit 1. Problem Solving with Computer
Unit 1. Problem Solving with Computer
 

Similar to Architecture presentation 4

SE-software design.ppt
SE-software design.pptSE-software design.ppt
SE-software design.ppt
vishal choudhary
 
5 software design
5 software design5 software design
5 software design
cherrybear2014
 
Week 6
Week 6Week 6
Problem-solving and design 1.pptx
Problem-solving and design 1.pptxProblem-solving and design 1.pptx
Problem-solving and design 1.pptx
TadiwaMawere
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
Sangheethaa Sukumaran
 
Vedic Calculator
Vedic CalculatorVedic Calculator
Vedic Calculator
divyang_panchasara
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
SwatantraPrakash5
 
Computers in management
Computers in managementComputers in management
Computers in management
Kinshook Chaturvedi
 
Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2
Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2
Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2
FabMinds
 
Design Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best PracticesDesign Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best Practices
Inductive Automation
 
Measuring Your Code
Measuring Your CodeMeasuring Your Code
Measuring Your Code
Nate Abele
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
Pharo
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
Appili Vamsi Krishna
 
Design Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best PracticesDesign Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best Practices
Inductive Automation
 
251 - Alogarithms Lects.pdf
251 - Alogarithms Lects.pdf251 - Alogarithms Lects.pdf
251 - Alogarithms Lects.pdf
Abdulkadir Jibril
 
What’s eating python performance
What’s eating python performanceWhat’s eating python performance
What’s eating python performance
Piotr Przymus
 
Higher Homework
Higher HomeworkHigher Homework
Higher Homework
mrsmackenzie
 
Secret Twists to Efficiently Develop Reactive Software Systems
Secret Twists to Efficiently Develop Reactive Software SystemsSecret Twists to Efficiently Develop Reactive Software Systems
Secret Twists to Efficiently Develop Reactive Software Systems
Bart Jonkers
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
KarumuriJayasri
 
IGCSE & O Level Computer Workbook for P2 by Inqilab Patel
IGCSE & O Level Computer Workbook for P2 by Inqilab PatelIGCSE & O Level Computer Workbook for P2 by Inqilab Patel
IGCSE & O Level Computer Workbook for P2 by Inqilab Patel
Inqilab Patel
 

Similar to Architecture presentation 4 (20)

SE-software design.ppt
SE-software design.pptSE-software design.ppt
SE-software design.ppt
 
5 software design
5 software design5 software design
5 software design
 
Week 6
Week 6Week 6
Week 6
 
Problem-solving and design 1.pptx
Problem-solving and design 1.pptxProblem-solving and design 1.pptx
Problem-solving and design 1.pptx
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
Vedic Calculator
Vedic CalculatorVedic Calculator
Vedic Calculator
 
Multicore_Architecture Book.pdf
Multicore_Architecture Book.pdfMulticore_Architecture Book.pdf
Multicore_Architecture Book.pdf
 
Computers in management
Computers in managementComputers in management
Computers in management
 
Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2
Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2
Python Programming | JNTUK | UNIT 1 | Lecture 1 & 2
 
Design Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best PracticesDesign Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best Practices
 
Measuring Your Code
Measuring Your CodeMeasuring Your Code
Measuring Your Code
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
 
Design Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best PracticesDesign Like a Pro: Scripting Best Practices
Design Like a Pro: Scripting Best Practices
 
251 - Alogarithms Lects.pdf
251 - Alogarithms Lects.pdf251 - Alogarithms Lects.pdf
251 - Alogarithms Lects.pdf
 
What’s eating python performance
What’s eating python performanceWhat’s eating python performance
What’s eating python performance
 
Higher Homework
Higher HomeworkHigher Homework
Higher Homework
 
Secret Twists to Efficiently Develop Reactive Software Systems
Secret Twists to Efficiently Develop Reactive Software SystemsSecret Twists to Efficiently Develop Reactive Software Systems
Secret Twists to Efficiently Develop Reactive Software Systems
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
IGCSE & O Level Computer Workbook for P2 by Inqilab Patel
IGCSE & O Level Computer Workbook for P2 by Inqilab PatelIGCSE & O Level Computer Workbook for P2 by Inqilab Patel
IGCSE & O Level Computer Workbook for P2 by Inqilab Patel
 

Recently uploaded

一比一原版(ECU毕业证)澳洲埃迪斯科文大学毕业证如何办理
一比一原版(ECU毕业证)澳洲埃迪斯科文大学毕业证如何办理一比一原版(ECU毕业证)澳洲埃迪斯科文大学毕业证如何办理
一比一原版(ECU毕业证)澳洲埃迪斯科文大学毕业证如何办理
kohd1ci2
 
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
jafiradnan336
 
NHR Engineers Portfolio 2023 2024 NISHANT RATHI
NHR Engineers Portfolio 2023 2024 NISHANT RATHINHR Engineers Portfolio 2023 2024 NISHANT RATHI
NHR Engineers Portfolio 2023 2024 NISHANT RATHI
NishantRathi18
 
Heuristics Evaluation - How to Guide.pdf
Heuristics Evaluation - How to Guide.pdfHeuristics Evaluation - How to Guide.pdf
Heuristics Evaluation - How to Guide.pdf
Jaime Brown
 
Best Digital Marketing Strategy Build Your Online Presence 2024.pptx
Best Digital Marketing Strategy Build  Your Online Presence 2024.pptxBest Digital Marketing Strategy Build  Your Online Presence 2024.pptx
Best Digital Marketing Strategy Build Your Online Presence 2024.pptx
pavankumarpayexelsol
 
一比一原版(USQ毕业证书)南昆士兰大学毕业证如何办理
一比一原版(USQ毕业证书)南昆士兰大学毕业证如何办理一比一原版(USQ毕业证书)南昆士兰大学毕业证如何办理
一比一原版(USQ毕业证书)南昆士兰大学毕业证如何办理
p74xokfq
 
Introduction to User experience design for beginner
Introduction to User experience design for beginnerIntroduction to User experience design for beginner
Introduction to User experience design for beginner
ellemjani
 
Practical eLearning Makeovers for Everyone
Practical eLearning Makeovers for EveryonePractical eLearning Makeovers for Everyone
Practical eLearning Makeovers for Everyone
Bianca Woods
 
International Upcycling Research Network advisory board meeting 4
International Upcycling Research Network advisory board meeting 4International Upcycling Research Network advisory board meeting 4
International Upcycling Research Network advisory board meeting 4
Kyungeun Sung
 
一比一原版(LSE毕业证书)伦敦政治经济学院毕业证如何办理
一比一原版(LSE毕业证书)伦敦政治经济学院毕业证如何办理一比一原版(LSE毕业证书)伦敦政治经济学院毕业证如何办理
一比一原版(LSE毕业证书)伦敦政治经济学院毕业证如何办理
340qn0m1
 
一比一原版(UW毕业证书)华盛顿大学毕业证如何办理
一比一原版(UW毕业证书)华盛顿大学毕业证如何办理一比一原版(UW毕业证书)华盛顿大学毕业证如何办理
一比一原版(UW毕业证书)华盛顿大学毕业证如何办理
i990go7o
 
一比一原版(LSBU毕业证书)伦敦南岸大学毕业证如何办理
一比一原版(LSBU毕业证书)伦敦南岸大学毕业证如何办理一比一原版(LSBU毕业证书)伦敦南岸大学毕业证如何办理
一比一原版(LSBU毕业证书)伦敦南岸大学毕业证如何办理
k7nm6tk
 
一比一原版(UWS毕业证)澳洲西悉尼大学毕业证如何办理
一比一原版(UWS毕业证)澳洲西悉尼大学毕业证如何办理一比一原版(UWS毕业证)澳洲西悉尼大学毕业证如何办理
一比一原版(UWS毕业证)澳洲西悉尼大学毕业证如何办理
t34zod9l
 
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
wkip62b
 
一比一原版(McGill毕业证)加拿大麦吉尔大学毕业证如何办理
一比一原版(McGill毕业证)加拿大麦吉尔大学毕业证如何办理一比一原版(McGill毕业证)加拿大麦吉尔大学毕业证如何办理
一比一原版(McGill毕业证)加拿大麦吉尔大学毕业证如何办理
w26izoeb
 
Getting Data Ready for Culture Hack by Neontribe
Getting Data Ready for Culture Hack by NeontribeGetting Data Ready for Culture Hack by Neontribe
Getting Data Ready for Culture Hack by Neontribe
Harry Harrold
 
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
hw2xf1m
 
一比一原版马里兰大学毕业证(UMD毕业证书)如何办理
一比一原版马里兰大学毕业证(UMD毕业证书)如何办理一比一原版马里兰大学毕业证(UMD毕业证书)如何办理
一比一原版马里兰大学毕业证(UMD毕业证书)如何办理
9lq7ultg
 
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
kmzsy4kn
 
一比一原版美国加州大学欧文分校毕业证(UCI学位证)如何办理
一比一原版美国加州大学欧文分校毕业证(UCI学位证)如何办理一比一原版美国加州大学欧文分校毕业证(UCI学位证)如何办理
一比一原版美国加州大学欧文分校毕业证(UCI学位证)如何办理
02tygie
 

Recently uploaded (20)

一比一原版(ECU毕业证)澳洲埃迪斯科文大学毕业证如何办理
一比一原版(ECU毕业证)澳洲埃迪斯科文大学毕业证如何办理一比一原版(ECU毕业证)澳洲埃迪斯科文大学毕业证如何办理
一比一原版(ECU毕业证)澳洲埃迪斯科文大学毕业证如何办理
 
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
欧洲杯买球-欧洲杯买球买球网好的网站-欧洲杯买球哪里有正规的买球网站|【​网址​🎉ac123.net🎉​】
 
NHR Engineers Portfolio 2023 2024 NISHANT RATHI
NHR Engineers Portfolio 2023 2024 NISHANT RATHINHR Engineers Portfolio 2023 2024 NISHANT RATHI
NHR Engineers Portfolio 2023 2024 NISHANT RATHI
 
Heuristics Evaluation - How to Guide.pdf
Heuristics Evaluation - How to Guide.pdfHeuristics Evaluation - How to Guide.pdf
Heuristics Evaluation - How to Guide.pdf
 
Best Digital Marketing Strategy Build Your Online Presence 2024.pptx
Best Digital Marketing Strategy Build  Your Online Presence 2024.pptxBest Digital Marketing Strategy Build  Your Online Presence 2024.pptx
Best Digital Marketing Strategy Build Your Online Presence 2024.pptx
 
一比一原版(USQ毕业证书)南昆士兰大学毕业证如何办理
一比一原版(USQ毕业证书)南昆士兰大学毕业证如何办理一比一原版(USQ毕业证书)南昆士兰大学毕业证如何办理
一比一原版(USQ毕业证书)南昆士兰大学毕业证如何办理
 
Introduction to User experience design for beginner
Introduction to User experience design for beginnerIntroduction to User experience design for beginner
Introduction to User experience design for beginner
 
Practical eLearning Makeovers for Everyone
Practical eLearning Makeovers for EveryonePractical eLearning Makeovers for Everyone
Practical eLearning Makeovers for Everyone
 
International Upcycling Research Network advisory board meeting 4
International Upcycling Research Network advisory board meeting 4International Upcycling Research Network advisory board meeting 4
International Upcycling Research Network advisory board meeting 4
 
一比一原版(LSE毕业证书)伦敦政治经济学院毕业证如何办理
一比一原版(LSE毕业证书)伦敦政治经济学院毕业证如何办理一比一原版(LSE毕业证书)伦敦政治经济学院毕业证如何办理
一比一原版(LSE毕业证书)伦敦政治经济学院毕业证如何办理
 
一比一原版(UW毕业证书)华盛顿大学毕业证如何办理
一比一原版(UW毕业证书)华盛顿大学毕业证如何办理一比一原版(UW毕业证书)华盛顿大学毕业证如何办理
一比一原版(UW毕业证书)华盛顿大学毕业证如何办理
 
一比一原版(LSBU毕业证书)伦敦南岸大学毕业证如何办理
一比一原版(LSBU毕业证书)伦敦南岸大学毕业证如何办理一比一原版(LSBU毕业证书)伦敦南岸大学毕业证如何办理
一比一原版(LSBU毕业证书)伦敦南岸大学毕业证如何办理
 
一比一原版(UWS毕业证)澳洲西悉尼大学毕业证如何办理
一比一原版(UWS毕业证)澳洲西悉尼大学毕业证如何办理一比一原版(UWS毕业证)澳洲西悉尼大学毕业证如何办理
一比一原版(UWS毕业证)澳洲西悉尼大学毕业证如何办理
 
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
一比一原版(UC毕业证书)堪培拉大学毕业证如何办理
 
一比一原版(McGill毕业证)加拿大麦吉尔大学毕业证如何办理
一比一原版(McGill毕业证)加拿大麦吉尔大学毕业证如何办理一比一原版(McGill毕业证)加拿大麦吉尔大学毕业证如何办理
一比一原版(McGill毕业证)加拿大麦吉尔大学毕业证如何办理
 
Getting Data Ready for Culture Hack by Neontribe
Getting Data Ready for Culture Hack by NeontribeGetting Data Ready for Culture Hack by Neontribe
Getting Data Ready for Culture Hack by Neontribe
 
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
原版制作(MDIS毕业证书)新加坡管理发展学院毕业证学位证一模一样
 
一比一原版马里兰大学毕业证(UMD毕业证书)如何办理
一比一原版马里兰大学毕业证(UMD毕业证书)如何办理一比一原版马里兰大学毕业证(UMD毕业证书)如何办理
一比一原版马里兰大学毕业证(UMD毕业证书)如何办理
 
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
一比一原版(KPU毕业证)加拿大昆特兰理工大学毕业证如何办理
 
一比一原版美国加州大学欧文分校毕业证(UCI学位证)如何办理
一比一原版美国加州大学欧文分校毕业证(UCI学位证)如何办理一比一原版美国加州大学欧文分校毕业证(UCI学位证)如何办理
一比一原版美国加州大学欧文分校毕业证(UCI学位证)如何办理
 

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.