SE 577- Software Architecture Spring 2022 Assignment #2 The KWIC index system accepts an ordered set...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
SE 577- Software Architecture Spring 2022 Assignment #2 The KWIC index system accepts an ordered set of lines, each line containing an ordered set of words, and each word consisting of an ordered set of characters. A KWIC index is formed by sorting and aligning the words within a line to allow each word (except the stop words) to be searchable alphabetically. [Stop words are words which are filtered out before or after text processing. There is no single universal list of stop words; any group of words can be chosen as the stop words for a specific application.] For example, given the sentence "KWIC is an acronym for Keyword In Context." and assuming the stop words {is, an, for, in}, the index will contain the following entries: Initial output (before sorting) KWIC is an acronym for Keyword In Context. acronym for Keyword In Context. KWIC is an Keyword In Context. KWIC is an acronym for Context. KWIC is an acronym for Keyword In Output after sorting in alphabetical order acronym for Keyword In Context. KWIC is an Context. KWIC is an acronym for Keyword In Keyword In Context. KWIC is an acronym for KWIC is an acronym for Keyword In Context. The KWIC problem was first used by David L. Parnas in his classic paper "On the Criteria to be Used in Decomposing Systems into Modules, Communications of the ACM, 15(12):1053-1058, December 1972", to contrast different criteria for decomposing a system into modules. Parnas proposed possible solutions for the KWIC index problem around four basic functions: input, shift, alphabetize, and output. Since its introduction, the problem has received significant attention by the software engineering community and a lot has been published about it. The idea of using pipes-and-filters for the implementation of KWIC was discussed in the paper "An Introduction to Software Architecture" by Dave Garland and Mary Shaw. Your assignment is to implement a program using pipes-and-filters that generates a KWIC index for a given set of input lines. Your program should be implemented in Java. It should read input lines from a file and write its output to a (different) file. It should also accept, as an option, a file containing stop words. The functional modules of your program (that is, Input, Shift, Alphabetize, and Output) should be implemented as filters that execute concurrently. Data between these filters should be passed through a pipe mechanism. The pipe mechanism should be implemented by you. You should submit (i) the source code, (ii) a README.txt file, and (iii) a UML class diagram. The README.txt file should provide any instructions required for executing the program and should also describe any known faults that have been observed from testing the program. SE 577- Software Architecture Spring 2022 Assignment #2 The KWIC index system accepts an ordered set of lines, each line containing an ordered set of words, and each word consisting of an ordered set of characters. A KWIC index is formed by sorting and aligning the words within a line to allow each word (except the stop words) to be searchable alphabetically. [Stop words are words which are filtered out before or after text processing. There is no single universal list of stop words; any group of words can be chosen as the stop words for a specific application.] For example, given the sentence "KWIC is an acronym for Keyword In Context." and assuming the stop words {is, an, for, in}, the index will contain the following entries: Initial output (before sorting) KWIC is an acronym for Keyword In Context. acronym for Keyword In Context. KWIC is an Keyword In Context. KWIC is an acronym for Context. KWIC is an acronym for Keyword In Output after sorting in alphabetical order acronym for Keyword In Context. KWIC is an Context. KWIC is an acronym for Keyword In Keyword In Context. KWIC is an acronym for KWIC is an acronym for Keyword In Context. The KWIC problem was first used by David L. Parnas in his classic paper "On the Criteria to be Used in Decomposing Systems into Modules, Communications of the ACM, 15(12):1053-1058, December 1972", to contrast different criteria for decomposing a system into modules. Parnas proposed possible solutions for the KWIC index problem around four basic functions: input, shift, alphabetize, and output. Since its introduction, the problem has received significant attention by the software engineering community and a lot has been published about it. The idea of using pipes-and-filters for the implementation of KWIC was discussed in the paper "An Introduction to Software Architecture" by Dave Garland and Mary Shaw. Your assignment is to implement a program using pipes-and-filters that generates a KWIC index for a given set of input lines. Your program should be implemented in Java. It should read input lines from a file and write its output to a (different) file. It should also accept, as an option, a file containing stop words. The functional modules of your program (that is, Input, Shift, Alphabetize, and Output) should be implemented as filters that execute concurrently. Data between these filters should be passed through a pipe mechanism. The pipe mechanism should be implemented by you. You should submit (i) the source code, (ii) a README.txt file, and (iii) a UML class diagram. The README.txt file should provide any instructions required for executing the program and should also describe any known faults that have been observed from testing the program.
Expert Answer:
Related Book For
Algorithm Design And Applications
ISBN: 9781118335918
1st Edition
Authors: Michael T. Goodrich, Roberto Tamassia
Posted Date:
Students also viewed these programming questions
-
Planning is one of the most important management functions in any business. A front office managers first step in planning should involve determine the departments goals. Planning also includes...
-
Let A, B be sets. Define: (a) the Cartesian product (A B) (b) the set of relations R between A and B (c) the identity relation A on the set A [3 marks] Suppose S, T are relations between A and B, and...
-
How can your knowledge of meat and meat cookery be used to understand protein substitutions for vegan dishes, such as tofu, texturized soy protein, grains, or beans?
-
A friend says that the molecules in a mixture of gas in thermal equilibrium have the same average kinetic energy. Do you agree or disagree? Explain.
-
The percent p of a computer network that is in use during a particular loading cycle as a function of the time t (in s) is given in the following table. Plot the graph of p = f (t). t (s) P (%) 0.0...
-
Discuss the themes, theory, and/or phenomenon that would be anticipated to emerge as a result of the examination. Develop a hypothetical research scenario that would necessitate the use of the Action...
-
Kaleta Company reports the following for the month of June. Instructions (a) Calculate the cost of the ending inventory and the cost of goods sold for each cost low assumption, using a perpetual...
-
23 Consider the following Java code: What will be printed when the following code is executed: new Cat().eat(); ? public class Animal ( } public void eat () { System.out.println("Animal is eating");...
-
Let U = {1, 2, 3, 4, 5}, A = {1,2,3} and B = {2,3,4} Describe the relations between each of these sets. Use your own words. Describe the relations between these sets using mathematical notation...
-
Which are taxpayers more likely to cheat on: mortgage interest payments or charitable contributions? How about cash charitable contributions or non-cash contributions (such as clothes to Goodwill)?...
-
Why did the Bill of Rights get added to the Constitution and how were the specific amendments meant to protect the liberties of people from government power?
-
What happens if no one respects a judges opinion? What can they do?
-
What are the taxes paid by the business organizations? 2. What do we get for taxes paid? 3. Why are taxes necessary? 4. How does the amount of taxes raised affect the school, roads, Covid 19 and...
-
What is the difference between formal and informal social control and what are some examples of formal and informal social control?
-
What conclusion can you reach by analyzing the graph in figure 1, what does it indicate or what does it predict? Use chemical rationale to justify your answer. 70 60 50 40 30 10 15 20 25 30 35...
-
For all of the following words, if you move the first letter to the end of the word, and then spell the result backwards, you will get the original word: banana dresser grammar potato revive uneven...
-
Give a pseudocode description of the remove dictionary operation, assuming the dictionary is implemented by a skip-list structure.
-
Solve the previous exercise, but use the El Gamal cryptosystem instead of RSA. Data From Previous Exercise Suppose Alice wants to send Bob a message, M, that is the price she is willing to pay for...
-
For the sake of analysis, if we have a sequence of union, find, and makeSet operations, why can we can assume without loss of generality that all the makeSet operations come first?
-
Cherokee Inc. is a merchandiser that provided the following information: Required: 1. Prepare a traditional income statement. 2. Prepare a contribution format income statement. Amount Number of units...
-
Which of the following statements is true? (You may select more than one answer.) a. Product costs are expensed on the income statement in the period incurred. b. Direct labor is a manufacturing cost...
-
Which of the following statements is true? (You may select more than one answer.) a. Indirect materials and indirect labor are included in manufacturing overhead. b. Examples of selling costs include...
Study smarter with the SolutionInn App