# Patent

## Title
Platform-independent method for computer aided schematic drawings

## Abstract

A CAD/CAM method is disclosed for a computer system to capture and interchange schematic drawing and associated design information. The schematic drawing and design information are stored in an extensible, platform-independent format.

## Background
STATEMENT OF GOVERNMENT RIGHTS
The present invention was conceived and developed under U.S. Government Contract No. DE-AC12-00SN39357, awarded by the U.S. Department of Energy. The U.S. Government has rights in this invention.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates to the field of computer aided drafting. More particularly, it relates to a method to capture and interchange schematic drawing and design information.
2. Discussion of the Related Art
Schematic drawings include mechanical, electrical, and fluid system drawings that have information related to the connection and interaction of components in the drawing. Current computer aided drafting methods provide either the data and engineering aspects of the components or the viewing and drawing aspects of the components, but not both. Computer Aided Design/Computer Aided Manufacturing (CAD/CAM) methods have been developed to combine the two, but these CAD/CAM methods have used proprietary or specialized tools or languages to format or access the data. For example, U.S. Pat. No. 6,223,094, for a Multi-Tiered Structure For Storing And Displaying Product And Process Variants, to P. Muehleck et al., uses a special language called EXPRESS.
There is a need in the art of Computer Aided Design/Computer Aided Manufacturing (CAD/CAM) for a method to provide a file that contains design information combined with schematic drawing information. The ability to provide both together is an important capability in schematic drawings which allows for interactive manipulation of schematic components.
The invention is a method to capture schematic drawing and associated design information by means of a digital computer. The method comprises the following steps:

    
    
        a) taking schematic drawing and design information from a drawing model and providing it to the computer;
        b) translating the schematic drawing and design information into a form amenable to drawing interchange;
        c) converting the translated schematic drawing and design information into a platform-independent format that is extensible; and producing a schematic platform-independent data file;
        d) validating that the schematic platform-independent data file meets the requirements of a format specification;
        e) parsing the schematic platform-independent data file to construct a generic data structure;
        f) validating the schematic platform-independent data file by validating the design information in the generic data structure;
        g) storing the validated schematic platform-independent data file in a computer-accessible medium; and
        h) retrieving the validated schematic platform-independent data fife for use in post processing analysis, modeling or reproduction.
    
    


The invention is a schematic drawing and design data interchange method. The method uses an available computer language rather than a specialized language. The method makes schematic drawing and design information available in a universally accessible form. The invention reduces schematic drawing development time and facilitates drawing distribution because of the use of a platform-independent schematic drawing markup language (SDML) file.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of the platform-independent, schematic drawing interchange method in accordance with the invention.
FIG. 2 is a document type definition for schematic drawing markup language (SDML) system schematics.
FIG. 3 is a document type definition for schematic drawing markup language (SDML) components.
FIG. 4 is a diagram revealing the elements of design validation in accordance with the invention.
FIG. 5 illustrates a system using the interchange method.



DETAILED DESCRIPTION OF THE INVENT
The invention is a schematic drawing interchange method for processing and rendering schematic system drawings. The method captures the pictorial image and functional information of system elements in a platform-independent format and produces one or more validated data files in a platform-independent format. Platform-independence provides for access to the schematic and design information using different, commonly available hardware and software. The method enables the capture and retention of design information including specification information that can be used for analysis, modeling and reproduction from different hardware and software platforms.
Design information refers to component relationships, systems organization, system element constraints, and system element properties.
Extensible refers to a property of a programming language or a system that allows for modification by changing or adding features to it.
Platform refers to the type of computer hardware or operating system. A hardware platform refers to the type of hardware in general. A general hardware platform is selected from the group including a main frame computer, work station computer, desk top computer, hand held computer and embedded computer. Hardware platform also may refer to the specific type of central processing unit (CPU). A specific central processing unit (CPU) is selected from the group consisting of x86, SPARC, PowerPC, and Alpha. An operating system is computer software that carriers out operating instructions. An operating system is selected from the group consisting of the versions of Microsoft® Windows®, the versions of Unix, Linux, Amiga and QNX.
The central processing unit (CPU) is also referred to as a processor or microchip. The CPU is the part of the computer that processes data and instructions. It typically contains the control unit which extracts instructions from memory and decodes and executes them, the arithmetic logic unit (ALU), and a small amount of memory.
The terms platform-independent, cross-platform and portable describe operating systems and application programs that can run on more than one platform. Some programming and scripting languages are also described as being platform-independent because they can be used to write programs for a wide range of hardware types and operating systems. Some platform-independent languages include C, Java, Perl, PHP and Python. In contrast. Visual Basic is not platform-independent, because it can only be used with Microsoft® Windows®.
Extensible markup language (XML) is a document and data interchange language from the World Wide Web Consortium. It is a meta-language standard used for creating special purpose markup languages. A dialect is a vocabulary or grammar subset of a language.
Schematic drawing markup language (SDML) is a special purpose markup language that is a subset of the extensible markup language (XML).
Document type Definition (DTD) is a declaration in an extensible markup language (XML) document that specifies constraints on the structure of the document, DTD's are usually employed to determine the structure of an XML document. A DTD will typically describe each allowable element within the document, the possible attributes and, optionally, the allowed attribute values for each element. It will also describe the nesting and occurrences of elements.
Scripting is the programming task of connecting diverse preexisting components to accomplish a new related task. Languages which are suited to scripting are often called scripting languages.
A scripting, or script, language may be a general purpose programming language or it may be limited to specific functions used to augment the running of an application or system program. Early scripting languages were known as batch languages or job control languages.
Format specification refers to the part of a format statement that specifies explicit data arrangement. It may be a list within parentheses that can include edit descriptors and field separators.
Reference is made to FIG. 1. Flow diagram 100 shows an interchange method in accordance with the invention. The major steps of the interchange method are as follows. The Conversion Process step 120 automatically converts Computer Aided Design (CAD) Drawing Model step 110 information to a platform-independent format such as a schematic drawing markup language (SDML), which is defined in Format Specification step 130 and produces a schematic and one or more component platform-independent data files. The Format Validation step 140 verifies that the platform-independent data files are properly formatted. Parsing step 150 processes the validated platform-independent data files to generate a generic data structure. A generic data structure is a data structure that is readable by commonly used hardware and software. Design Validation step 160 validates the accuracy and completeness of the schematic platform-independent data file by validating the design information in the generic data structure. That is, it ascertains that the schematic platform-independent data file is readable by commonly used hardware and software. The validated schematic platform-independent data file can be used for purposes such as post processing analysis, printing, displaying, storing in memory, and modeling. Some of the post processing analyses are flow analysis, engineering analysis, real time engineering analysis and real time tracking.
Drawing Model Step 110
The input to the drawing interchange process is a CAD model of a schematic diagram. This may be in any CAD software providing the CAD software has minimum capabilities:

    1. Entities: Entities are data objects that contain a variety of drawing elements, such as attributes of a valve. Each entity must be included in a preexisting library of entities sometimes referred to as a component library. Some attributes may be deduced from the type of entity identified. The CAD software must have a way to identify entities.
    2. Attributes: Each entity must have attributes that describe specific properties of the entity. Examples of attributes include position for graphical display, normal position, startup position, type of entity, labels and annotations.
    3. Nodes: Nodes are the connection points of entities modeled in the CAD software. Every entity has a least one node if it is to be connected to another entity. For example, a simple pipe must have at least two nodes, one at each end. These nodes must have associated data that specifies what other entity is connected.
    4. Containers: Entities may be contained within other entities or may have entities contained within them. Entities are generally grouped as being contained within a named system. For example, valves and pipes are grouped within a piping system. Drawing Model step 110 is an input step. Although input is in a specific CAD form, the input constitutes the sum of information required to be verified and generalized for interchange.

Conversion Process Step 120



Conversion Process step 120 takes the CAD drawing in Drawing Model step 110 and converts it in two steps to a platform-independent format. In the first step, each graphical entity in a container is extracted and converted to a platform-independent format. The graphical entities are written into component platform-independent files and stored in a components library. This is done for all the containers in the schematic. In the second step, all the entities and their associated nodes are converted to a platform-independent format. The converted nodes may be written into a schematic composite platform-independent file. The locations, rotations, and coordinates of all entities in the original drawing model are recorded. Components are recorded and grouped by system and placement. Piping is depicted by the color, line fonts and pipe size. Nodes and connect nodes are non-graphical features contained in a nodal figure that includes properties used in determining identifiers, component properties, connectivity and type of connectivity of components.
In a preferred embodiment, a design is generated using commercially available software. A Computer Vision® CADDS5® database and nodal figures are exported to extensible markup language (XML) through a ComputerVision® macro program and a script. A single script is developed for each CAD system to generate the schematic drawing markup language (SDML) files.
Format Specification Step 130
A Format Specification step 130 defines schematic and component platform-independent file formats for specifying the layout and connectivity of components contained in a schematic diagram. The use of consistent, platform-independent formats facilitate configuration control, especially when multiple CAD systems are used.
Schematic drawing markup language (SDML) is useful for defining platform-independent schematic drawing information. Extensible markup language (XML) vocabularies referred to as dialects may be defined using a document type definition (DTD). Schematic drawing markup language (SDML) is defined using two related document type definitions (DTD's). The first definition is the schematic drawing markup language (SDML) system schematic document type definition (DTD) shown in FIG. 2 A, B, C, D. The second definition is the schematic drawing markup language (SDML) component document type definition (DTD) shown in FIG. 3 A, B. The use of extensible markup language (XML) and schematic drawing markup language (SDML) has several advantages because this commercially available software is efficient and straightforward. These languages are expandable without introducing risk of error to an existing structure. These languages are useful in either graphics rendering or engineering analysis applications.
Format Validation Step 140
Format Validation step 140 is the first of two steps to validate that the schematic independent data file is accurate and complete. In the Format Validation step 140 each component platform-independent data file and the schematic platform-independent data file are compared to the appropriate format specification defined in step 130 to assure that the format is correct. There is assurance at the output of this step that the schematic independent data file complies with the schematic drawing interchange method and is capable of being transferred to and interpreted by different platforms. Although it is crucial that each file is validated for proper format at its origin, any file may also be validated at any time in its life cycle.
Parsing Step 150
Parsing step 150 takes the validated platform-independent files and creates a generic data structure that stores the platform-independent data in a logically organized and easily retrievable form. In the preferred embodiment, parsing step 150 uses an automated validating extensible markup language (XML) parser on schematic drawing markup language (SDML) data to create the generic data structure. One of the benefits of using schematic drawing markup language (SDML) is that since it is an extensible markup language (XML) based language it is easier to retrieve named information. Parsing of a schematic drawing markup language (SDML) file is made easier by the presence of an automated parser for extensible markup language (XML) files.
Design Validation Step 160
Design validation step 160 is the second step to verify the accuracy and completeness of the schematic platform-independent, data file. The design validation step 160 validates the schematic platform-independent data file by validating the design information in the generic data structure. It should be noted that the information drawn upon exists in the original CAD model, but in this step it is validated in the generalized form. In most cases, it is not possible to perform this validation step in the original form of the data since this capability does not, exist in most CAD software. The steps performed in the invention may be done in any general programming environment.
Details of the Design Validation step 160 are shown in FIG. 4. The Design Validation step 160 includes the subsidiary steps of Hierarchy Integrity step 210, Check Connectivity step 220, Check Directionality step 230, and Check Properties step 240. If any of these subsidiary steps is not needed for a specific application, then the unnecessary step function may be omitted. Subsidiary steps are described below.
Hierarchy Integrity Step 210
Hierarchy Integrity step 210 automatically checks that entities recognized as containers have the correct constituent parts. These constituent parts may also be containers themselves providing for a cascade of container entities. For example, in a mechanical implementation, valve operators are contained within valve assemblies, which in turn are contained, within systems, which in turn are contained within plants.
Check Connectivity Step 220
The Check Connectivity step 220 is made as part of the processing that verifies logical connectivity. This step is analogous to evaluating the integrity of how jigsaw puzzle pieces fit together to form a complete picture. In this step the individual entities are logically connected to validate the big picture of the ensemble of entities. The logic used relies on physical constraints. In a piping example, a pipe must connect to two other entities which may be a component or a fitting, but not another pipe. Connectivity that is incomplete, duplicated or conflicting is identified as a potential error. This would indicate a flaw in either the original CAD schematic drawing or in the Conversion Process step 120. Identifying a flaw in this manner has not been accomplished in the prior art.
Check Directionality Step 230
Check Directionality step 230 is required because certain entities have flow direction associated with them. For example, fluid running through pumps and check valves has a flow direction. Also, electronic circuitry has a flow direction for electricity. A check is made to verify that such flow direction agrees with the nature of each entity. In the piping example, both pumps and check valves have a specific output node indicating flow direction. Detecting a pump blocked by a check valve is an indication of a possible flow error. An error may originate in the CAD system or the basic design.
Check Properties Step 240
Check Properties step 240 verifies that attributes of the schematic drawing markup language (SDML) file agree with known physical properties of each entity. For instance, pipes have two endpoints and n-way valves have n+1 endpoints. In other embodiments, properties obtained from external sources are used to make further judgements about the validity of the schematic drawing. For example, a check may be made to verify that 6-inch pipes connect to 6-inch flanges. In an electrical example, a check may be made to verify that a high-voltage source does not connect to a low-voltage component.
Example Environment for Interchange Method
FIG. 5 is an example of a computer environment in which the method of the invention is used. A user 800 creates a schematic drawing and design information by means of computer 500 through input/output devices 580. User 800 may also use a computer 500 to access, edit, or modify schematic drawing and design information that has already been created. The computer 500 is a standard general purpose computer with a Central Processing unit (CPU) 510, memory 520, operating system 530, display 570, and input/output devices 580. Computer 500 has storage 540 which will usually contain local copies of files 550, a database 560, and/or a configuration management system 590.
A digital computer may be connected to a network 750 through which the user may access data on a database server 710, a configuration management system 700, or a network file server 760. Computer 500 also contains application software 600 that the user 800 employs to observe or modify schematic drawing and design information via a graphical user interface 620 which may show schematic drawings 630 on a display device 570. A portion of the application software 600 is the interchange method 610. The user 800 employs the interchange method 610 to validate and interact with schematic drawing and design information stored locally on the computer 500, on the network file server 760, on the database server 710 or in the configuration management system 700. Other users 810, 820, 830 may use other computers 720, 730, 740 to access the schematic drawing and design information in the same manner as the first user 800.
Configuration Management
Configuration management is a process in which changes to a system, design, or other events are kept track of over time. During system design a number of users make changes over time. A platform-independent format eliminates the need for maintaining older computer systems and software in order to access old designs. When an extensible markup language (XML) framework is used, the document type definitions (DTD) themselves are documents subject to revision control because the language may be extended at anytime. Note that extending an extensible markup language (XML) does not render older software applications and associated files inoperable, but merely adds data which the application will ignore. Using configuration management tools to track the combination of drawing and design data held in platform-independent files as well as the format specifications for those files is also new.
The invention is a platform-independent thawing and design data interchange method that uses a schematic drawing markup language (SDML) rather than a specially devised language such as EXPRESS. The advantage of using extensible markup language (XML) is that it is a standard language, widely used and incorporated into many commonly used computer operating systems such as Microsoft (MS) Internet Explorer® and Microsoft XP Office®. Extensible markup language (XML) parsers are standard features of the Java® programming language and MS Visual Basic®. Compatibility with a standard parser makes it possible for software developers to incorporate the platform-independent drawing and design data interchange method into new applications. Use of extensible markup language (XML) in an application instead of a specialized language aids in reducing the dependence on software development tools and simplifies configuration control.
The foregoing discussion discloses and describes the embodiments of the invention by way of example. One skilled in the art will readily recognize from the discussion and from the accompanying drawings and claims, that various changes, modifications and variations can be made therein without departing from the spirit and scope of the invention as provided in the following claims.

## Claims

1. A method to capture and interchange schematic drawing and associated design information, comprising the steps of:
providing a computer with a schematic data file containing schematic drawing and design information in an extensible platform-independent format from a database;
validating that the schematic platform-independent data file meets the requirements of a format specification;
parsing the schematic platform-independent data file to construct a generic data structure;
validating the schematic platform-independent data file by validating the design information in the generic data structure;
storing the validated schematic platform-independent data file in a computer-accessible medium; and
retrieving the validated schematic platform-independent data file for use in post processing analysis, modeling or reproduction;
wherein the format specification is expressed as a schematic drawing markup language (SDML).

2. The method of claim 1 wherein the format specification is expressed as an extensible markup language (XML) document type definition (DTD).

3. A system for capturing schematic drawing and design information comprising:
a computer;
software for creating, or obtaining a data file containing schematic drawing and design information;
software for converting the schematic data file into a platform-independent format that is extensible; and producing a schematic platform-independent data file; or leaving the schematic data file unchanged if it is in the desired platform-independent format;
a format for the extensible platform-independent specification;
software to validate that the schematic platform-independent data file meets the format specification;
a parser that can convert the schematic platform-independent data file into a generic data structure;
software that validates the schematic platform-independent data file by validating the design information in the generic data structure; and
a storage system for retaining the schematic platform-independent file;
wherein the format specification is expressed as a schematic drawing markup language (SDML).

4. The system of claim 3 wherein the computer is connected to a computer network.

5. The system of claim 3 wherein the schematic drawing and design information is accessed and maintained in a database.

6. The system of claim 3 wherein the schematic drawing and design information is accessed and maintained in a configuration management system.

7. The system of claim 3 wherein the schematic drawing and design information is accessed and maintained on a network file server.

8. The system of claim 3 wherein multiple users on network connected computers have access to the schematic drawing and design information.

9. A method executed in a computer system to capture schematic drawing and associated design information, comprising the steps of:
providing a schematic drawing and design information from a drawing model to the computer;
translating the schematic drawing and design information into a form amenable to drawing interchange;
converting the translated schematic drawing and design information into a platform-independent format that is extensible; and producing a schematic platform-independent data file;
validating that the schematic platform-independent data file meets the requirements of a format specification;
parsing the schematic platform-independent data file to construct a generic data structure;
validating the schematic platform-independent data file by validating the design information in the generic data structure;
storing the validated schematic platform-independent data file in a computer-accessible medium; and
retrieving the validated schematic platform-independent data file for use in post processing analysis, modeling or reproduction;
wherein the format specification is expressed as a schematic drawing markup language (SDML).

10. The method of claim 9 wherein the format specification is expressed as an extensible markup language (XML) document type definition (DTD).

11. The method of claim 9 wherein the computer-accessible medium is a file.