You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
2.3 KiB
43 lines
2.3 KiB
|
|
Exercise 2.74: Insatiable Enterprises, Inc., is
|
|
a highly decentralized conglomerate company consisting of a large number of
|
|
independent divisions located all over the world. The company’s computer
|
|
facilities have just been interconnected by means of a clever
|
|
network-interfacing scheme that makes the entire network appear to any user to
|
|
be a single computer. Insatiable’s president, in her first attempt to exploit
|
|
the ability of the network to extract administrative information from division
|
|
files, is dismayed to discover that, although all the division files have been
|
|
implemented as data structures in Scheme, the particular data structure used
|
|
varies from division to division. A meeting of division managers is hastily
|
|
called to search for a strategy to integrate the files that will satisfy
|
|
headquarters’ needs while preserving the existing autonomy of the divisions.
|
|
|
|
Show how such a strategy can be implemented with data-directed programming. As
|
|
an example, suppose that each division’s personnel records consist of a single
|
|
file, which contains a set of records keyed on employees’ names. The structure
|
|
of the set varies from division to division. Furthermore, each employee’s
|
|
record is itself a set (structured differently from division to division) that
|
|
contains information keyed under identifiers such as address and
|
|
salary. In particular:
|
|
|
|
|
|
Implement for headquarters a get-record procedure that retrieves a
|
|
specified employee’s record from a specified personnel file. The procedure
|
|
should be applicable to any division’s file. Explain how the individual
|
|
divisions’ files should be structured. In particular, what type information
|
|
must be supplied?
|
|
|
|
Implement for headquarters a get-salary procedure that returns the
|
|
salary information from a given employee’s record from any division’s personnel
|
|
file. How should the record be structured in order to make this operation
|
|
work?
|
|
|
|
Implement for headquarters a find-employee-record procedure. This
|
|
should search all the divisions’ files for the record of a given employee and
|
|
return the record. Assume that this procedure takes as arguments an employee’s
|
|
name and a list of all the divisions’ files.
|
|
|
|
When Insatiable takes over a new company, what changes must be made in order to
|
|
incorporate the new personnel information into the central system?
|
|
|
|
|
|
|