architectural styles and case studies 1 | website for students | vtu notes | question papers | news...

25
Architectural styles and Case studies 1 w w w . b o o k s p a r . c o m | W e b s i t e f o r S t u d e n t s | V T U N O T E S | Q U E S T I O N P A P E R S | N E W S | R E S U L T S

Upload: dwight-lambert

Post on 22-Dec-2015

217 views

Category:

Documents


0 download

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

- - + +

- + - -

- - + +

+ + - -

- + - +

25

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

NEXT…

Instrumentation Software