architectural styles and case studies 1 | website for students | vtu notes | question papers | news...
TRANSCRIPT
Architectural styles and
Case studies1
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tudents |
VTU
NO
TES | Q
UESTIO
N PA
PER
S | N
EW
S |
RESU
LTS
CASE STUDIES
KeyWord In Context -KWICInstrumentation SoftwareMobile RoboticsCruise ControlThree vignettes in mixed style
2www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tudents | V
TU
NO
TES | Q
UESTIO
N PA
PER
S | N
EW
S | R
ES
ULT
S
3
KWIC
4
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
THE KEYWORD IN CONTEXT PROBLEM
The KWIC index system accepts an ordered set of lines, each line is an ordered set of words, and each word is an ordered set of characters.
Any line may be "circularly shifted" by repeatedly removing the first word and appending it at the end of the line.
The KWIC index system outputs a listing of all circular shifts of all lines in alphabetical order.
5
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
KEYWORD IN CONTEXT (KWIC): DESIGN CONSIDERATIONS
Changes in algorithm: For example, line shifting can be performed i) on each line as it is read from the input
deviceii) on all the lines after they are readiii) on demand when the alphabetization
requires a new set of shifted lines.
6
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
Changes in data representation: For example, lines can be stored in various ways. circular shifts can be stored explicitly or implicitly (as index and offsets).
KEYWORD IN CONTEXT (KWIC): DESIGN CONSIDERATIONS
7
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
Enhancement to system function: Modify the system to eliminate circular shifts
that starts with certain noise words (such as "a", "an", "and", etc.).
Change the system to be interactive, and allow the user to delete lines from the lists.
KEYWORD IN CONTEXT (KWIC): DESIGN CONSIDERATIONS
8
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
Performance: Both space and time. Reuse: To what extent can the components
serve as reusable entities.
KEYWORD IN CONTEXT (KWIC): DESIGN CONSIDERATIONS
9
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
KEYWORD IN CONTEXT (KWIC): SOLUTIONS
1: Main program/subroutine with shared data. 2: Abstract data types. 3: Reactive integration. 4: Dataflow.
10
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
This solution decomposes the problem according to the four basic functions performed:
Input: inputs and stores characters Shift which reads characters/writes index Alphabetizer: alphabetizes index Output: prints alphabetized index
KEYWORD IN CONTEXT (KWIC): SOLUTIONS 1 (MAIN PROGRAM/SUBROUTINE WITH SHARED DATA. )
11
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
SOLUTION 1: MAIN PROGRAM/SUBROUTINE
With shared memory Master control calls
Input, which inputs and stores characters Circular Shift, which reads characters/writes
index Alphabetize, which alphabetizes index Output, which prints alphabetized index
12
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
KWIC: MAIN PROGRAM /SUBROUTINE WITH SHARED DATA SOLUTION
13
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
It decomposes the problem into 4 basic functions Input, Shift, Alphabetize, output
Computational Components are coordinated as subroutines by a main program.
Computations can share the same storage. This allow efficient data representation. Communication between the computational
components and shared data is an unconstrained read-write protocol.
--------------------
KWIC: SHARED DATA SOLUTION
14
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
----------------------------------------------------------------------
Serious drawbacks in handling changes: A change in data storage format will affect
almost all of the modules. Changes in algorithm and enhancements to
system function are not easily handled. Reuse is not well-supported because each
module of the system is tied tightly to this particular application
15
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
It decomposes the system into a similar set of five modules.
Data is no longer directly shared by the computational components.
Each module provides an interface that permits other components to access data only by invoking procedures in that interface.
KWIC: ABSTRACT DATA TYPES
16
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
KWIC: SOLUTION 2: ABSTRACT DATA TYPES
Setchar Char Word
Setchar CharSetup Word alph i-th
Master control
Input Output
Characters Circular shift Alphabetic shift
17
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
KWIC: SOLUTION 2: ABSTRACT DATA TYPES
Data is not shared anymore encapsulated in objects
Advantages Changes in algorithms and data
representation in individual components don't affect other components.
More reuse support. Drawbacks
Changes in functionality can be difficult might involve components modification or
addition
18
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
KWIC SOLUTION 3: IMPLICIT INVOCATION
Insert Delete i-th
Master control
Input
Lines Shifted lines
AlphabetizeCirc shift
Insert Delete i-th
Output
19
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
Uses a form of component integration based on shared data similar to first solution.
Interface to the data is more abstract. Computations are invoked implicitly as data is
modified. An event will be sent to the shift module
whenever there is new line. This allows it to produce circular shifts This causes the alphabetizer to be implicitly
invoked
KWIC SOLUTION 3: IMPLICIT INVOCATION
20
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
Advantages Supports functional enhancements to the
system. Additional modules can be attached Supports reuse. Disadvantage: Uses more space.
21
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
KWIC SOLUTION 4: PIPES AND FILTERS
22
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
It has 4 filters : Input, shift, Alphabetize and Output.
Each filter process processes the data and sends it to the next filter.
Control is distributed Each filter can run whenever it has data on which to
compute. Data sharing between filters is strictly limited on
pipes.
KWIC SOLUTION 4: PIPES AND FILTERS
23
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
Advantages: It maintains the sensitive flow of processing Supports reuse-each filter can function in
isolation New function can easily be added to the system
by inserting filters at the appropriate points. Easy to modify-each filters are logically
independent Disadvantages: Virtually impossible to modify the design
to support interactive system. Uses space inefficiently –since each filter
must copy all of the data to its output ports.
KWIC SOLUTION 4: PIPES AND FILTERS
24
ww
w.b
ooksp
ar.co
m | W
ebsite
for S
tude
nts | V
TU
NO
TES | Q
UESTIO
N PA
PER
S |
NEW
S | R
ESU
LTS
COMPARISON
Change in algorithm
Change in datarepresentation
Change infunction
Performance
Reuse
Shared Abstract Implicit Pipe anddata data type invocation filter
- - + +
- + - -
- - + +
+ + - -
- + - +