|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to a novel computer system and process for checking
compliance of development plans with building regulations and codes. More
particularly, it relates to such a system and process in which the
development plan is provided as an input to a suitably programmed data
processing system, which determines whether the development plan is in
compliance with such regulations and codes. Most especially, it relates to
such a system and process which is also usable for creating the
development plan and assisting and directing construction in accordance
with the plan after it has been approved.
2. Description of the Prior Art
Plan checking has always been a tedious, lengthy, and time consuming
process with frequent errors and omissions. Elimination, or at least a
reduction, of these errors and omissions is of obvious benefit to all, and
may result in a tremendous reduction of the number of property problems
and personal injuries. This would include possible reductions in injuries
resulting from code versus non-code stairs. U.S. stair accidents result in
approximately 800,000 injuries annually that receive hospital emergency
treatment. This may also result in a great simplification at the design
and construction stage, with a uniformity of zoning and land development
processing. Many stages of the plan checking process require great amounts
of time spent answering the same questions time after time. There is
always confusion about permit fees currently are of the order of 0.5
percent of typical building costs. Additionally, on the order of 67
percent of the building permit fees are charged for plan checking fees. It
is clear that the potential advantages from improving and simplifying the
plan checking process are enormous, especially with today's high interest
rates for financing. Every day a project is delayed can cost staggering
amounts of money.
A variety of systems and processes utilizing data processing systems to
simplify other operations commonly performed in a manual manner are also
disclosed in prior issued U.S. patents. For example, U.S. Pat. No.
4,370,707, issued Jan. 25, 1983 to Phillips et al. discloses a form of
special purpose word processor for drafting achitectural specifications
from master phrases indexed by code. In current terminology, the codes for
the master phrases could be considered a form of macro used to select the
more lengthy master phrases. Macros have been used in word processing
applications for many years, including prior to the filing date of the
Phillips et al. application. While this patent includes references to
various building codes, standards and industry specifications, there is no
suggestion of employing the data processing system to determine compliance
with such building codes, standards and industry specifications.
U.S. Pat. No. 4,495,559, issued Jan. 22, 1985 to Gelatt, Jr. et al.
discloses a design optimization method utilizing a data processing system,
in which a scoring approach with iterative exchange of element positions
is used to obtain an optimized design. The method is explained with
respect to the design of integrated circuits. Similar methods have been in
use for many years, such as at California Polytechnic State University,
San Luis Obispo, Calif., since at least 1973.
U.S. Pat. No. 4,489,387, issued Dec. 18, 1984 to Lamb et al. discloses a
method and apparatus for coordinating medical procedures which ensures
that two or more medical teams treating a patient perform diagnostic and
therapeutic procedures according to a predetermined plan. U.S. Pat. No.
4,404,639, issued Sept. 13, 1983 to McGuire et al. discloses an automotive
diagnostic system including provision for updating vehicle specification
records and changes in regulatory requirements applicable to a vehicle.
While there is thus a substantial body of prior art showing various systems
and methods for utilizing data processing for simplifying the execution of
complex tasks, there is no teaching or suggestion of a data processing
system or method for determining compliance of a development plan with
local ordinances and regulations.
SUMMARY OF THE INVENTION
Accordingly, it is an object of this invention to provide a data processing
system and process which will determine compliance of a development plan
with applicable ordinances and regulations.
It is another object of the invention to provide such a plan checking data
processing system and process which will provide a user with a list of
non-complying items in a development plan if the system and process
determines that the plan fails to comply with the applicable ordinances
and regulations.
It is a further object of the invention to provide such a plan checking
data processing system and process which may further be used in the
preparation of the development plan.
It is still another object of the invention to provide a system and process
for determining boundaries in a building design.
It is a still further object of the invention to provide such a system and
process which incorporates a way to determine if a development plan
submitted for checking by the system and process contains conflicting,
superfluous and spurious information.
It is yet another object of the invention to provide such a system and
process incorporating an improved technique for representing building
elements in a machine intelligible format.
It is still another object of the invention to provide such a system and
process which may further be used to assist and direct construction after
a development plan has been approved.
The attainment of these and related objects may be achieved through use of
the novel plan checking data processing system and process herein
disclosed. A plan checking data processing system in accordance with the
invention has an input means for providing a development plan to be
checked to the data processing system in a form intelligible to the data
processing system. A storage means contains standards against which the
development plan is to be checked. The standards are in a form
intelligible to the data processing system. The storage means also
contains a control program for evaluating the development plan according
to the standards. A processor is connected to receive the development plan
after entry to the data processing system through the input means and to
receive the standards and control program stored in the storage means. The
processor is configured to evaluate the development plan according to the
standards using the control program. An output means is connected to
receive results of the evaluation.
A process for checking a development plan against predetermined standards
in accordance with the invention includes providing the development plan
to be checked as an input to a data processing system in a form
intelligible to the data processing system. The standards against which
the development plan is to be checked are stored in the data processing
system in a form intelligible to the data processing system. A control
program for evaluating the development plan according to the standards is
provided to the data processing system. The development plan is evaluated
according to the standards using the control program in the data
processing system. Results of the evaluation are provided as an output
from the data processing system.
The attainment of the foregoing and related objects, advantages and
features of the invention should be more readily apparent to those skilled
in the art, after review of the following more detailed description of the
invention, taken together with the drawings, in which:
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a data processing system in accordance with
the invention.
FIG. 2 is a key showing placement of FIGS. 2A and 2B.
FIGS. 2A and 2B are a block diagram showing components of a plan check
program used to implement the invention.
FIG. 3 is a more detailed block diagram of a portion of the block diagram
shown in FIGS. 2A and 2B.
FIG. 4 is a key showing placement of FIGS. 4A and 4B.
FIGS. 4A and 4B are a more detailed block diagram of another portion of the
block diagram shown in FIGS. 2A and 2B.
FIG. 5 is a combination block diagram and flow chart of a process in
accordance with the invention.
FIG. 6 is a block diagram showing components of another process in
accordance with the invention.
FIG. 7 is a flow chart for a routine forming part of a system and process
in accordance with the invention.
FIG. 8 is a schematic cross section of a building, together with additional
information useful for a further understanding of the routine shown in
FIG. 7.
FIG. 9 is another schematic cross section of the building shown in FIG. 8,
together with additional information useful for understanding another
routine forming part of a system and process in accordance with the
invention.
FIG. 10 is a third schematic cross section of the building shown in FIGS. 8
and 9, together with additional information useful for understanding a
third routine forming part of a system and process in accordance with the
invention.
DETAILED DESCRIPTION OF THE INVENTION
Turning now to the drawings, more particularly to FIG. 1, there is shown a
data processing system 10 in accordance with the invention. A suitable
input device 12, such as a disk or tape drive, is connected to supply the
development plan to be checked on busses 14 and 16 to system memory 18.
The memory 18 contains a plan check program, standards against which the
development plan is to be checked and building component physical
characteristics indexed by code, respectively indicated at 20, 22 and 24.
A system processor 26 is connected to receive data and instructions from
the development plan, standards 22, building component characteristics 24
and plan check program 20 on busses 16, 14 and 28. The processor 26 checks
the development plan against the standards 22 using the plan check program
20 and the building component characteristics 24. The results of the plan
check are supplied by the processor to memory 18 on busses 28, 14 and 16,
and are subsequently supplied on busses 16 and 14 to a suitable output
device 30, such as a printer or CRT display.
Before turning to a discussion of the remaining drawings, the following
background description of a system and process in accordance with the
invention will be presented. The system and programs return a list of code
non-complying items (with an explanation facility) as its principal
function, displays for the designer major requirements ahead that must be
dealt with, and designs working drawings and specifications of sites and
structures, with a limited number of steps and decisions made by the
designer, using an automated computer process of hardware and software.
Additionally the system (and software) have the following functions:
Powerful window, viewport, and walk-through/animated viewing of sites and
structures;
Evaluating, representing, and reviewing architectural, esthetic, zoning,
zoning variances, rezonings, use permits, planned unit developments,
general plans and amendments, other designs, and the like;
Automatically generated detailed shop and subdrawings, contracts,
subcontracts, work schedules (with consideration for weather,
working/calendar days, and the like), suppliers (materials and labor) with
availability dates, check off lists for inspections, required materials,
and the like;
Displaying to the designer for his selection all possible and reasonable
combinations based upon the processed input compared to a specification;
The ability to conceive, predict, and display code requirement obstacles
faced ahead on a menu (or otherwise) to the designer during the design
process much in the same manner as one must think of the moves ahead in a
chess game.
An overall concept of the system is that QUESTIONS are submitted to the
system, usually in graphic and equation form. The questions are the input
(design data represented and displayed graphically, such as the usual
types of drawings prepared for use in the construction industry) that are
to be compared to a standard (such as the usual types of BUILDING CODE and
PLANNING CODE requirements). ANSWERS are returned by the system
(including, but not limited to, a list of code non-compliances) in alpha,
numeric, graphic, equation, and symbolic form.
The overall principal methods of the system include, but are not limited
to, A SYNTHETIC INTELLIGENCE SYSTEM with chaining utilizing framed and
sub-framed combination multi-facet expert/knowledge, rule/object/access
based artificial intelligence systems. A knowledge base contains
comprehensive design information. Non-framed data input is equivalently
structured into components of framed data. Each feature and/or attribute
is stored in a slot (non-framed to framed data and/or a sub-framed data
system). Structures are equivalently restructured into components of
semantic networks, and subsequently processed with an artificial
intelligence inference engine utilizing a set of rules to reason about the
input data-with respect to the facts in the knowledge base. The rules used
by the system to reason generally are the building, planning, and zoning
code requirements, as well as proportion rules. Secondary and subsequent
processing is performed by an acquisition system. The system output, that
may consist of a list of non-complying code items, is also an "explanation
facility" that lets the user track the thinking process (without security
compromising), as well as to explain how and why a decision was made and
allows the user to ask questions about the decision.
The data base management system is processed with an intelligence inference
engine system composed of hierarchical, network, and relational methods
and organizations. The knowledge representation system consists of
combination semantic networks, sub-semantic networks,
object/attribute/triplets, rules, frames/sub-frames (with
coordinates/sub-coordinates), and logical expressions.
The design portion of the system uses forward chaining as the primary
method of reasoning for the system to reason toward a goal. In general,
the system seeks to identify all rules whose IF portions are true, and
uses THEN portions of the rules to find other rules which are also true.
The system has the ability to conceive, predict, select and display code
requirement obstacles faced ahead (rules) on a menu (or otherwise) to the
designer in a similar manner as one must think of the moves ahead in a
chess game. The process of cycling all reasonable options by display
provides for optimization as referred to as CYCLIC OPTIMIZATION. The
reasonable option guidelines and/or suggestions are "rules of thumb",
referred to as HEURISTIC.
The plan checking portion of the system uses reverse chaining as the
primary method of reasoning by which the system reviews a hypothesis
formed (such as a design submitted for a plan check) and works in reverse
to prove or to disprove the hypothesis (such as a check for code
compliance). In general, the system seeks to identify and confirm all the
rules whose THEN portions match the IF portions, and uses the IF portions
of the rules to identify and confirm other rules whose THEN portions match
the IF portions.
A tracer analysis and a comparison of the tracer analysis to a
specification is used that analyzes the order of, the number of times
called, the nesting of the subroutines, the time in computations, the
bytes used, data ratios, the subroutines not used, for the software to
understand and know when and how phantom data is being, or has been, input
in an attempt to deceive or spoof the system.
An intelligence analysis and a comparison of the intelligence analysis to a
specification is used that analyzes such factors as the predicates used,
arguments used, rules used, objects used, data used, values used, pointers
used, source/termination of the pointers, the predicates not used,
arguments not used, rules not used, objects not used, data not used,
values not used, pointers not used, the order of, the number of times
called, the nesting of the data structures, the path through the tree
structures, the time in computations, the bytes used and ratios, for the
software to understand and know when and how phantom data is being, or has
been, input in an attempt to deceive or spoof the system.
This feature allows the plan check processing to follow the design
reasoning process (if desired) and permits a path to be built, through a
tree structure, of the routines used. This can eliminate the necessity of
huge volumes of intermittent data storing, as the design can be
regenerated easily, since the tree structure path and the input
requirements are known. It also can provide a guard against data loss from
various sources and also provides easy revision of alternate designs.
The system can also operate a sub-access oriented method as a follow up
program to deal with minor changes and revisions. These are usually of the
form: "Can we do this as an alternate to the required detail?"
GLOSSARY AND PROCESS PROCEDURES
The process uses the following procedures and is described in the following
terms, that for the purposes of this patent application, are defined
herein as:
ACCESS ORIENTED METHODS. The programming methods where the input data can
be evaluated as to its relevancy to the plan check process, and all
requirements can be reevaluated and displayed, upon the input of the new
data (with optional cycling to display possible options by closed loop
cycling, such as for exits, floor plans, roof plans, and the like).
This method can also be used in the shortcut processing mode when plans,
details, or an assembly have been previously substantially reviewed and
approved (by the system or otherwise); and for using, selecting, and
reviewing pre-approved designs and details, both with and without "plugged
in" or calculated data, notes, comments, specifications, and the like. See
CHAINING (INFERRED, or PRE-APPROVED) this section.
ACTIVE DATA. Data that can be modified or data that varies in the execution
of a program.
ALGORITHM. A set procedure that produces a set outcome.
ARTIFICIAL INTELLIGENCE (AI). A discipline of computer science where the
inferences and representations are usually made with symbolic expressions
instead of numeric values and where knowledge schemes may be framed. It is
a sub-form of "SYNTHETIC INTELLIGENCE" outlined herein. The principal
difference between artificial and synthetic intelligence systems is
absoluteness. Artificial intelligence systems usually deal with
probabilities, such as calculation of 80% certainty factors. See also
SYNTHETIC INTELLIGENCE definition.
AUTOMATIC PROCESSING. The process of the AI languages, such as PROLOG, that
automates the extent and the particulars of the processing so that it is
only necessary to tell the system "what to do" (in well defined terms),
and not "how to do it." This also includes where the design data can be
the "program" itself and where the system builds its own tree structure or
builds a path through a tree structure.
BACKTRACKING. The process of backing up to a previous level of inferences,
usually for trying and evaluating an alternate path by cycling. Design
problems almost always require some degree of backtracking in the process
of elimination.
BREADTH FIRST SEARCH. A searching strategy where an entire level of
hierarchy is examined before any examining of the next level is performed.
See DEPTH FIRST SEARCH.
BLACKBOARD. The common working memory of the data base for the data,
usually that used in design, that contains all the properties of the
components such as materials, equipment, products, and the like, usually
stored in a file (with sub-coordinates) and used in computations with
other properties. Each building material, equipment, product, and the like
is assigned an identification code based upon its properties.
BREAK PACKAGE OR MID-RUN EXPLANATION. A feature of the programming where
the program stops to allow an examiner to review the processing up to that
point.
BUILDING REGULATIONS. Regulations that are of particular concern regarding
the materials and methods of design and construction, usually
non-esthetic, referred to, and known as "THE UNIFORM BUILDING CODE."
CENTROID. A reference point.
CHAINING (FORWARD). The method of reasoning by which the system reasons
toward a goal, such as is the case in design. In general, the system seeks
to identify all rules whose IF portions are true, and uses THEN portions
of the rules to find other rules which are also true.
CHAINING (REVERSE). The method of reasoning by which the system reviews a
hypothesis formed (such as a design submitted for a plan check) and works
in reverse to prove or to disprove the hypothesis (such as a check for
code compliance). In general, the system seeks to identify and confirm all
the rules whose THEN portions match the IF portions.
CHAINING (INFERRED, or PRE-APPROVED). The method of reasoning by giving the
system previous examples of designs and decisions, both approved and
denied. The system then induces its own rules and methods and can
structure a tree. See ACCESS ORIENTED METHODS this section.
COMPILED KNOWLEDGE. Knowledge organized into chunks and networks of a
machine intelligible format.
DELETIONS FILE LISTING. An automatically compiled list generated by the
software of superfluous, unnecessary, conflicting, redundant, and
irrelevant data, and the like.
CYCLIC OPTIMIZATION. The process of cycling (including by display) all
options for optimization.
DEPTH FIRST SEARCH. A searching strategy where the levels below are
examined prior to any examining on the current level. See BREADTH FIRST
SEARCH.
DETAIL. A specific data representation method (usually graphic
representation) of a plan or a scheme.
EQUATION MODE. Processing: The equation processing mode is the heart of the
design and plan checking process. The equation mode represents the parts
of a building as equations located at the centroids or reference points of
the parts. It enables placement of the centroids of the equations by the
software automatically using the necessary data from the data files. All
building materials, equipment, products and the like are represented by
line segment (1 dimensional), plane segment (2 dimensional), or space
segment (3 dimensional) equations. The program uses the general form and
the configuration of the equations and the data to specify and check
appropriately each system against a preset standard.
EQUATION MODE. Graphics: The equation graphics mode programs view returns
of the members being represented by their equations only.
EVALUATION FUNCTION. The programming methods that search a search space.
EXPERIMENTAL DATA-KNOWLEDGE. Data or knowledge that is acquired through
testing.
EXPLANATION FACILITY. The part of the system that explains how and why a
decision was made.
FOLLOW THROUGH. A movement along a perimeter to the point of origin.
FRAME BASED METHODS. The programming methods that generally make use of
inheritance procedures and methods in the attributes of frames and
subframes.
FRAMED DATA. A knowledge representation method where particulars or
attributes about the knowledge or data can be stored in a "slot". Frames
may have default, minimum, maximum or calculated data. Frame and subframe
attributes may inherit their relations, structures, values, nets, etc.
FRAMED DETAILS. Details that have slotted data and/or are broken down into
classification by order levels. Such details may have default, computed,
minimum, and maximum values.
GRAPHICS MODE. The modes that d | | |