|Chapter 1: Iris Software Overview|
|Extended Reference & Further Readings|
This text is initially presented between the Hardware and Software Components Review activities.
Iris's hardware components are controlled by numerous software programs that communicate and interact with one another to accomplish various tasks, such as playing Tic Tac Toe or speaking English. In keeping with the top-down design strategy, each of Iris's software programs is designed to perform a small number of pre-determined functions; it is only when the programs work together that complex activity occurs.
For instance, while playing Tic Tac Toe against a human using a real, physical Tic Tac Toe board, Iris's camera software takes digital pictures of the game board. A separate program searches these images for the Tic Tac Toe board and identifies the hand-drawn X's and O's. A third program keeps track of the human and robot moves, and other game logic, while a fourth program is responsible for determining what move Iris should make next. This top-down, modular design allows different programs that perform the same tasks to be swapped in and out. For example, if Iris isn't winning with the current Tic Tac Toe Learning Algorithm, a different agent can be switched in to replace it, without impacting Iris's other software modules (such as the Tic Tac Toe Vision System).
Most of Iris's various software modules communicate with each other via the Central Control Program (CCP), a central hub for software communication which you will learn about later in this lab. Because these programs connect to the Central Control Program to communicate with each other, they are referred to as CCP-Clients (i.e. clients of the central control program). A special program, the Mind Module, oversees the communications between Iris's different software modules. The Mind Module also has some unique, high-level management powers over Iris's other software programs.