1 / 25

Architectural styles and Case studies

Architectural styles and Case studies. Case studies. KeyWord In Context -KWIC Instrumentation Software Mobile Robotics Cruise Control Three vignettes in mixed style. KWIC. the Keyword in Context problem.

mikkel
Download Presentation

Architectural styles and Case studies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Architectural styles and Case studies

  2. Case studies • KeyWord In Context -KWIC • Instrumentation Software • Mobile Robotics • Cruise Control • Three vignettes in mixed style www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  3. KWIC www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  4. 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. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  5. 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 device ii) on all the lines after they are read iii) on demand when the alphabetization requires a new set of shifted lines. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  6. Keyword In Context (KWIC): Design Considerations • 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). www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  7. Keyword In Context (KWIC): Design Considerations • 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. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  8. Keyword In Context (KWIC): Design Considerations • Performance: Both space and time. • Reuse: To what extent can the components serve as reusable entities. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  9. Keyword In Context (KWIC): Solutions • 1: Main program/subroutine with shared data. • 2: Abstract data types. • 3: Reactive integration. • 4: Dataflow. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  10. Keyword In Context (KWIC): Solutions 1 (Main program/subroutine with shared data. ) • 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 www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  11. 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 www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  12. KWIC: Main program /subroutine with Shared Data solution www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  13. KWIC: Shared Data solution • 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. -------------------- www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  14. -------------------------------------------------------------------------------------------------------------------------------------------- • 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 www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  15. KWIC: ABSTRACT DATA TYPES • 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. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  16. KWIC: Solution 2: Abstract Data Types Master control Input Output www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Set char Set char Setup i-th Word Char alph Char Word Characters Circular shift Alphabetic shift

  17. 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 www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  18. Insert Delete i-th Insert Delete i-th KWIC Solution 3: Implicit Invocation Master control Output Input www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Alphabetize Circ shift Lines Shifted lines

  19. KWIC Solution 3: Implicit Invocation • 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 www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  20. Advantages • Supports functional enhancements to the system. • Additional modules can be attached • Supports reuse. • Disadvantage: • Uses more space. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  21. KWIC Solution 4: Pipes and Filters www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  22. KWIC Solution 4: Pipes and Filters • 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. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  23. KWIC Solution 4: Pipes and Filters 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. www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  24. Comparison Shared Abstract Implicit Pipe and data data type invocation filter - - + + - + - - - - + + + + - - - + - + Change in algorithm Change in data representation Change in function Performance Reuse www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

  25. Next… Instrumentation Software www.bookspar.com | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS

More Related