Problem: Coordinating Interactive Agents

Continuing the example introduced in Chapter 13, your problem in this chapter is to combine several applications being used in an urban-coyote study. The scientists have been using individual programs to access different data sets and data displays; now they'd like to transition this collection of programs to a unified system. When you get this assignment, your goal is to reuse as much as possible of the existing programs. You and the scientists expect that it will be easier and faster to create new views of the data if all the existing views and data are combined into a single program.

Currently, all the individual data programs use their own private data sets. The scientists have two goals for the new application:

  • They want to view all their data in one program with a simplified, unified user interface (UI).
  • They want to combine all their data into one large data set. Currently, each of the different programs stores its own data, and some overlap has led to data-integrity issues in the past. The scientists think that if all the data is together and in the same place, they may see new relation-ships between the data sets that have been invisible to them in the past.

You also have a goal: You want the new system to be easier to maintain. Keeping all the little programs consistent and synchronized is hard.

Combining the programs

After some research and software archaeology, you find that the scientists' separate programs have similar ...

Get Pattern-Oriented Software Architecture For Dummies now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.