0
2.1kviews
Suggest architecture with Implicit Invocation Style for the following system:

The KWIC (Key Word in Context) 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 circular shifts of all lines in an alphabetical order.

Mumbai University > Computer engineering > Sem 7 > Software Architecture.

Marks: 12 M

Year: Dec 11

1 Answer
0
17views

The four basic functions performed by the system are:

  1. Input
  2. Shift
  3. Alphabetize
  4. Output

These components are coordinated by a main program as subroutines. Data communication occurs through shared storage. The computational components and shared data communicate using an unrestricted read-write protocol as the coordinating program guarantees sequential access to the data.

The architecture for this system in implicit invocation style is as follows:

enter image description here

  • The first interface to the data is more abstract as the storage formats are not exposed and it is accessed abstractly. Computations are invoked implicitly as data is modified. Thus interaction is based on active data model.
  • This solution supports functional enhancements to the system as additional modules can be attached to the system by registering them to be invoked on data-changing events. As data is accessed abstractly it insulates computations from changes in data representation. The implicitly invoked modules only rely on the existence of certain externally triggered events, so it also supports reuse.
  • One disadvantage of this solution is that it can be difficult to control the order of processing of the implicitly invoked modules. Also the implementations of this kind of decomposition tend to use more space than other types as invocations here are data-driven.
Please log in to add an answer.