Published online by Cambridge University Press: 20 November 2018
Beginning with a survey of the application of computers to the law—how they are used now and how expected to be used in the future—this article presents a model of computerized document drafting systems and describes the capabilities such systems must have. A description of a template document that will specify the content, the form, and the rules for completing a class of documents is followed by a discussion identifying the facilities a document designer needs to specify such a template document, which in effect defines the language needed for the template design. A simple, easily implemented template drafting language (TDL) and a prototype software system (ADD) that can assemble documents drafted in this language have been designed and used to create security agreements drafted in accordance with Article 9 of the Uniform Commercial Code.
1 See, e.g., William P. Statsky, Introduction to Paralegalism: Perspectives, Problems, and Skills (St. Paul, Minn.: West Publishing Co., 1974).Google Scholar
2 See, e.g., Bettilyon, Verden E., Better Law Office Management Through Data Processing, 8 Law Off. Econ. & Mgmt. 15 (1967); Stroger, Howard M., The Use of Electronic Data Processing Equipment in Law Office Management and Fiscal Control, 1 Rut. J. Computers & L. 82 (1970), where early business applications are described. A recent article surveys the available management and financial systems designed for the legal profession. Hoffman, Paul S., Computers for the Law Office—A Survey of Some Available Management Accounting Financial Systems for the Small-to-Medium-Size Firm (pts. 1, 2, & 3), 21 Law Off. Econ. & Mgmt. 72, 160, 454 (19801981).Google Scholar
3 The general problems associated with the use of “form” documents is discussed in Reed Dickerson, Electronic Aids to the Drafting of Legal Instruments, 1 Rut. J. Computers & L. 75 (1970). An “ideal” word processing system is described in Walshe, Willoughby Ann, What to Consider When Selecting Text-editing Equipment, 67 A.B.A. J. 45 (1981). The technique of developing both manual and computerized systems for routine legal work is discussed in Bernstein, Sidney & Sternin, Bernard, A Restatement of Systems, 60 Mich. B.J. 445 (1981).Google Scholar
4 Bernstein & Sternin, supra note 3, at 449 n.1, cite two will systems designed for automatic typewriters that each require over 450 magnetic cards.Google Scholar
5 Brill, James E., A Trip to Tomorrow—The “Paperless” Office, 21 Law Off. Econ. & Mgmt. 9 (1980).Google Scholar
6 A Change of Category, 18 Law Off. Econ. & Mgmt., 226 (1977). See also Caswell, Stephen A., Electronic Mail Delivers, 18 Law Off. Econ. & Mgmt. 227 (1977).Google Scholar
7 Howard Lee Morgan, Office Automation Project—A Research Perspective, inAFIPS [American Federation of Information Processing Societies, Inc.] Conference Proceedings: 1976 National Computer Conference, vol. 45, at 605 (Montvale, N.J.: AFIPS Press, 1976).Google Scholar
8 Robert B. White, A Prototype for the Automated Office, Datamation, Apr. 1977, at 83.Google Scholar
9 Charles L. Aird & Barbara H. Todd, Computers in Judicial Administration, inAFIPS [American Federation of Information Processing Societies, Inc.] Conference Proceedings: 1979 National Computer Conference, vol. 48, at 425 (Montvale, N.J.: AFIPS Press, 1979).Google Scholar
10 Palmer Brown Madden, Information Management in Complex Litigation, Litigation, Spring 1978, at 12, 12. See also William E. Cwiklo, ed., Computers in Litigation Support (New York: Petrocelli Brooks, Inc., 1979), a collection of articles about the use of computers in litigation support.Google Scholar
11 The three major full-service vendors in the litigation support field are Informatics, Incorporated; Aspen Systems Corporation; and Control Data Corporation. Prendergast, James D. & Whittington, Nancy, Automated Litigation Support Systems for Evidentiary Management, 11 Tol. L. Rev. 255, 266 (1980).Google Scholar
12 4 Computer Law Service (Callaghan) § 5–4.3, art. 7 (Aug. 1981).Google Scholar
13 Ronald A. Rust & John Rome, The Combination of a Manual and an Automated Approach to Trial Preparation, 11 Forum 810, 813 (1976).Google Scholar
14 Christine A. Montgomery, Natural Language Knowledge Processing, inAFIPS [American Federation of Information Processing Societies, Inc.] Conference Proceedings: 1977 National Computer Conference, vol. 46, at 313 (Montvale, N.J.: AFIPS Press, 1977).Google Scholar
15 Popp, Walter G. & Schlink, Bernard, Judith, A Computer Program to Advise Lawyers in Reasoning a Case, 15 Jurimetrics J. 303 (1975).Google Scholar
16 Davis, Randall, Buchanan, Bruce, & Shortliffe, Edward, Production Rules as a Representation for a Knowledge-Based Consultation Program, 8 Artificial Intelligence 15 (1977).Google Scholar
17 See note 24, infra.Google Scholar
18 Allen, Layman E. & Ohta, Tomoyuki, Better Organization of Legal Knowledge, 1969 Tol. L. Rev. 491. See also the discussion of Allen's work later in this section.Google Scholar
19 Rubin, Jerome S., Update on lexis: A Progress Report, 15 Jurimetrics J. 326 (1975).Google Scholar
20 For a comparison of the systems see Sprowl, James A., Computer-Assisted Legal Research—an Analysis of Full-Text Document Retrieval Systems, Particularly the lexis System, 1976 A.B.F. Res. J. 175.Google Scholar
21 J. Myron Jacobstein & Roy M. Mersky, Fundamentals of Legal Research 446 (2d ed. Mineola, N.Y.: Foundation Press, Inc., 1981).Google Scholar
22 Tapper, Colin, Legal Information Retrieval by Computer: Applications and Implications, 20 McGill L.J. 26, 43 (1974).Google Scholar
23 Meldman, Jeffrey A., A Structural Model for Computer-Aided Legal Analysis, 6 Rut. J. Computers & L. 27 (1977).Google Scholar
24 A computer programming language like FORTRAN and COBOL, LISP is an excellent language for use in describing complex structures, and it is used widely in systems designed to simulate human reasoning. Such “artificial intelligence” systems enable one to converse with a computer in languages formed from subsets of natural English.Google Scholar
25 McCarty, L. Thorne, Reflections on taxman: An Experiment in Artificial Intelligence and Legal Reasoning, 90 Harv. L. Rev. 837 (1977).Google Scholar
26 Carole Diane Hafner, An Information Retrieval System Based on a Computer Model of Legal Knowledge (Ph.D. diss., University of Michigan, 1078).Google Scholar
27 Stamper, R. K., The legol 1 Prototype System and Language, 20 Computer J. 102 (1977). The system uses a relational data base management system to store the entities needed to form a semantic data base.Google Scholar
28 In table 1, for example, a person is the object, the occupation is a characteristic of a person, and the dates of birth and death give the time of a person's existence, LEGOL permits one to redefine a statute as an equation containing special LEGOL operators that “operate” upon tables such as this one to produce new tables. For example, one statute might define who in this table is entitled by law to receive what level of social security pension.Google Scholar
29 Jones, Susan, Mason, Peter, & Stamper, Ronald, legol-2: A Relational Specification Language for Complex Rules, 4 Information Sys. 293 (1979).Google Scholar
30 Ronald Stamper & Peter Mason, Direct Observation Gives the Best Data for Programming Organizations, Computer Weekly, April 30, 1981, at 15.Google Scholar
31 An “operator” is a command to the computer to carry out some operation upon entities. For example, the “+” (plus) key on a pocket calculator defines an addition operator that commands the calculator to add two numbers together, LEGOL operators operate upon sets of objects, including nonnumeric data.Google Scholar
32 Hohfeld, Wesley N., Some Fundamental Legal Conceptions as Applied in Judicial Reasoning, 23 Yale L.J. 16 (1913).Google Scholar
33 Allen, Layman E., Formalizing Hohfeldian Analysis to Clarify the Multiple Senses of ‘Legal Right’: A Powerful Lens for the Electronic Age, 48 S. Cal. L. Rev. 428 (1974).Google Scholar
34 Allen & Ohta, supra note 18; Layman E. Allen, Sketch of a Proposed Semi-automatic Hierarchical, Open-ended Storage and Retrieval System for Statute-oriented Legal Literature, in Proceedings: 1965 Congress, International Federation for Documentation, at 189.Google Scholar
35 Moses, Albert L., Savings in Practitioner's Time Through Use of a Microcomputer Can More Than Offset Its Cost, 7 Est. Plan. 220 (1980).Google Scholar
36 Hellawell, Robert, A Computer Program for Legal Planning and Analysis: Taxation of Stock Redemptions, 80 Colum. L. Rev. 1363 (1980). See also id., SEARCH: A Computer Program for Legal Problem Solving, 15 Akron L. Rev. 635 (1982).Google Scholar
37 Id. at 1364 (list adapted from a fuller presentation).Google Scholar
38 Id. at 1398.Google Scholar
39 Moses, supra note 35.Google Scholar
40 Sprowl, James A., Automating the Legal Reasoning Process: A Computer that Uses Regulations and Statutes to Draft Legal Documents, 1979 A.B.F. Res. J. 1.Google Scholar
41 See note 52 infra and the accompanying text.Google Scholar
42 Sprowl, James A. & Staudt, Ronald W., Computerizing Client Services in the Law School Teaching Clinic: An Experiment in Law Office Automation, 1981 A.B.F. Res. J. 699.Google Scholar
43 Jack R. Buchanan, Larry C. Farmer, & Stanley D. Neeleman, The Design of a Legal Document Construction System, 1978 midcon Technical Papers (North Hollywood, Cal.: Western Periodicals Co., 1978).Google Scholar
44 Two law review comments survey part of the area described herein and assess the impact of computers on the legal profession. Comment, The Impact of Computers on the Legal Profession, 30 Baylor L. Rev. 829 (1978) examines legal searching, litigation support, discovery of opponent's computer information, and admissibility of computer data. Comment, Emerging Computer-Assisted Legal Analysis Systems, 1980 B.Y.U. L. Rev. 116 compares Popp and Schlink's JUDITH system, Sprowl's ABF system, McCarty's TAXMAN system, and Meldman's proposal.Google Scholar
45 James Richardson, a solo practitioner without a secretary, uses a Lextron VT-1102 word processing system to produce all the documents needed in his practice, only occasionally hiring temporary help to enter the contents of long documents into the word processor. Word Processor Is Legal Secretary in One-Man Law Firm, Office, Feb. 1979, at 31.Google Scholar
46 A character string is an arbitrarily long or short sequence of printable characters including letters, numbers, punctuation symbols, and blank spaces. Some useful transformations allow strings to be connected together or taken apart by following specific rules. For example, a full name might be formed from a first name, a space, a middle name, a space, and a last name. The full name might then be inserted into a document at one point. Later, the last name, a comma, a space, a first name, a space, and a middle initial might be assembled and inserted into the same document at some other point. Other transformations include capitalization and replacement of string segments with new segments.Google Scholar
47 The storage mechanism can be a symbol table located in the main memory of the machine, or it can be a random-access secondary storage mechanism such as the COBOL indexed sequential access method (ISAM), or it can even be a complete data base management system (DBMS).Google Scholar
48 See note 46 supra.Google Scholar
49 In contrast, most computers represent numeric quantities not as strings of decimal digits (expressed by arabic number symbols 0 through 9) but as binary (base 2) numbers called “binary integers” (0 and 1). See note 51 infra.Google Scholar
50 An array structure is a computer structure for storing information items that are all of the same type. The array may be used as a single entity or the items may be used individually.Google Scholar
51 Integers, such as the numbers 0, 1, 2, 3, etc., are used to select which item one desires to obtain from an array structure. See note 50 supra.Google Scholar
52 For those not familiar with structured programming, it is a set of rules analogous to the rules governing the writing of an article—rules that require the article to be organized in outline form with each main subdivision subdivided into minor subdivisions, which themselves are subdivided, and so on.Google Scholar
53 Sequential execution is executing statements in the order in which they appear in the program. This is the natural way that execution occurs in most languages.Google Scholar
54 Conditional execution is executing a statement or series of statements only if some condition is satisfied and otherwise skipping past statements. The condition that determines whether a statement will be executed is evaluated by the computer as the program is running, thus the program can respond in different ways at different runnings.Google Scholar
55 Repetitious execution is executing a statement or series of statements repeatedly until some condition is satisfied. The condition is tested during each repetition.Google Scholar
56 That is, unless there is some indication that statements should be executed conditionally or repeatedly they should, by default, be executed only once or as they are stored.Google Scholar
57 The string operation concatenation is putting two character strings together, one after the other, to form one string.Google Scholar
58 String searching is searching through the characters of a character string for a specific sequence of characters.Google Scholar
59 Incremeting is increasing the value of a count by one; decrementing is decreasing the value of a count by one.Google Scholar
60 There is no output command, such as WRITE or PRINT in these languages. Any text that appears in the program without other commands is presumed to be text that is to become part of the final document.Google Scholar
61 Occasionally it is required that text not flow into the document even though it appears in a situation that would normally so require. The language must provide some way to suppress the automatic transfer into the draft document of any selected part of the template document text.Google Scholar
62 For those familiar with the language definition scheme known as BNF (Backus-Naur form) the following is a formal definition of the syntax of the TDL language. In this definition: = represents “is defined as” and | represents “or alternatively.” For an explanation of BNF language definition see Frank G. Pagan, Formal Specification of Programming Languages: A Panoramic Primer 7–21 (Englewood Cliffs, N.J.: Prentice-Hall, Inc., 1981). A complete description of the semantics of the TDL language is presented in Charles S. Saxon, Computer Aided Drafting of Legal Documents, at 82–83 (Ph.D. diss., University of Michigan, 1981, available through University Microfilms International, 300 N. Zeeb Rd., Ann Arbor, Mich. 48106).Google Scholar
63 The following example illustrates the use of the /WHILE statement:Google Scholar
[/- “*Name each of your children”]Google Scholar
[/- MP =“Are there any more children? y or n: “]Google Scholar
[/ - NP =“What is the child's name?”/1 =0]Google Scholar
[/ - /WHILE MORE#“n”/DO /I + NAME/1:NP MORE:MP]. I have [/I] children named:. [/ - COM =””/2 = 0]Google Scholar
[/WHILE /1#/2 /DO /- /2 +/+ COM NAME/2 /- COM =“, “].Google Scholar
This template document, when processed, produces the following dialog between the user and the system:Google Scholar
Name each of your childrenGoogle Scholar
What is the child's name? CharlieGoogle Scholar
Are there any more children? y or n: yGoogle Scholar
What is the child's name? JimmyGoogle Scholar
Are there any more children? y or n: nGoogle Scholar
and ultimately generates the following document:Google Scholar
I have 2 children named:Google Scholar
Charlie, JimmyGoogle Scholar
Here the prompts “Are there any more …” and “What is …” have been assigned to the variables MP and NP merely for convenience. Counter one is used to count the entries made by the user, and the total count is retained after the entering of the children's names has stopped. The construction NAME/1 indicates that the variables NAME01, NAME02, NAME03 and so on are to be formed from the prefix NAME and the value of counter one. Later, these same names are referenced using counter two. In the first /WHILE statement, counter one is incremented before the child name question is asked, and it has a value equal to the number of children when the user indicates that there are no more children's names to be entered. In the second /WHILE statement, counter two assumes the same values counter one did in the first /WHILE statement. The variable COM is initially two blank spaces. This variable is assigned a value equal to a comma and a space each time the /WHILE statement is executed, and this altered value is used to separate all subsequent names from their predecessors.Google Scholar
64 The following illustration reveals how an extensive amount of variable and fixed text can be repeated an indefinite number of times, depending on the answers given by the user of the template document:Google Scholar
[/- “*The information for each child must be entered individually”]Google Scholar
[/WHILE MORE#“n”/DO /3+/+/INSERT “CHILD”. /- MORE: “Any more children? y or n: “]Google Scholar
Each time the child file is repeated, counter three contains the number of the current child. This may be used by the inserted file to save values for later use by the main program.Google Scholar
65 The operation of such a system by a nonlawyer might be considered unauthorized practice of law. See Thomas, Bart T., Unauthorized Practice and Computer Aided Legal Analysis Systems, 20 Jurimetrics J. 41 (1979).Google Scholar
66 The problems associated with the drafting of security agreements are discussed in Boyd, William E. & Saxon, Charles S., The A-9: A Program for Drafting Security Agreements Under Article 9 of the Uniform Commercial Code, 1981 A.B.F. Res. J. 637.Google Scholar
67 An example of the automatic production of the financing statements is shown in Id. at 668–69.Google Scholar