next up previous
Next: BNF Conventions Up: Fault Tolerant Design Features Previous: Encoding Site Types

Friend and Enemy Data Structures

One simplification in Part 1 was to assume that Friendly and Enemy sites were stored in the same data dictionary. That is, we actually had two separate commands to create a record in the system database. Furthermore, we allowed you to assume that the names of ``bases'' (now Friendly sites) and ``targets'' (now Enemy sites) were unique to prevent you from having to implement bucketing algorithms to accomodate duplicate keys.

In Part 2, you will modify the create commands to access two separate data dictionaries. First and foremost, since it is not highly likely that the inhabitants of the Friendly and Enemy territories will agree upon a global site-naming scheme, a simple solution is to implement the Friendly and Enemy site databases using separate data dictionaries.

Furthermore, this use of redundant databases also creates (and enforces) fault containment regions relative to an error in entering a site name. That is, it decreases the probability that a client (wetware, cyberware, or ETware) process, seeking the coordinates of Enemy site, will receive the coordinates of a Friendly base instead.

For example, suppose the database contains keys Babylon and Babyon5, where Babylon is a Friendly military Base in the middle east, and an Babylon5 is an Enemy Air unit. If we were using the common database of Part 1, an omission of ``5'' in the target site name, for whatever reason, would result in the coordinates for a Friendly military base being provided to client process. But, by implementing separate Friendly and Enemy data dictionaries, we remove this potential failure from the system.

To further protect any inadvertent crossing of the line between Friendly and Enemy data, we also prohibit the use of the first letters F and E for site names. This prevents the human operator from becoming desensitized to the meanings associated with either initial. Granted, this one may be overkill; however, in a world trained to stop for red, just think of how much trouble you could cause by choosing red in you display to mean it's safe to go on.


next up previous
Next: BNF Conventions Up: Fault Tolerant Design Features Previous: Encoding Site Types
MM Hugue 2004-02-28

Web Accessibility