Match the following architectural patterns to the descriptions of systems that use that pattern (solutions):

  • model-view-controller (MVC)
  • layered
  • repository
  • client-server
  • pipe-and-filter
  • call and return
  1. storage of and access to satellite imagery

    repository

  2. “traditional” C program

    call-and-return

  3. flight control system with an emphasis on safety and dependability

    layered

  4. agent-based simulation of the flocking behavior of birds

    call and return

  5. online stock platform with multiple visualizations for current trading data

    model-view-controller (MVC)

  6. streaming video service

    client-server

  7. extension of existing system to support new functionality without changing existing interfaces

    layered

  8. learning management system (LMS)

    repository

  9. operating system

    layered

  10. online code review platform supporting multiple, independent clients

    repository

  11. scalable web hosting

    client-server

  12. firewall where rules drop packets that should not be processed by further rules

    pipe-and-filter

  13. batch sequential processing where the output from one job is fed to the next job

    pipe-and-filter

  14. foreign leader speech analysis by multiple translators (i.e., one translator for each language) and analysts

    pipe-and-filter

  15. management of a cluster where a job tracker assigns processing tasks to available nodes and collates the results

    call-and-return

  16. flight simulator

    model-view-controller (MVC)

  17. photo-sharing service that allows users to upload, edit, share, and comment on pictures

    client-server

  18. graphical user interface (GUI) for an integrated development environment (IDE)

    model-view-controller (MVC)