PATENTS   
Patents > Guidance, Tools, and Manuals >> Classification >>> Class Definition
    Class Numbers & Titles   | Class Numbers Only   | USPC Index   | International   | HELP  
You are viewing a Class definition.

 [Search a list of Patent Appplications for class 717]   CLASS 717,DATA PROCESSING: SOFTWARE DEVELOPMENT, INSTALLATION AND MANAGEMENT
Click here for a printable version of this file

SECTION I - CLASS DEFINITION

GENERAL STATEMENT OF THE CLASS DEFINITION

This class provides for software program development tool and techniques including processes and apparatus for controlling data processing operations pertaining to the development, maintenance, and installation of software programs. Such processes and apparatus include:

A. Processes and apparatus for program development functions such as specification, design, generation, and version management of source code programs.

B. Processes and apparatus for debugging of computer program including monitoring, simulation, emulation, and profiling of software programs.

C. Processes and apparatus for translating or compiling programs from a high-level representation to an intermediate code representation and finally into an object or machine code representation, including linking, and optimizing the program for subsequent execution.

D. Processes and apparatus for updating, installing, and version management of developed code.

SCOPE OF THE CLASS

(1) Note. This class provides for operations performed during the generation of computer programs prior to actual deployment and/or execution on a target machine, except when the execution is performed for the purpose of debugging or optimizing the program, such as by simulation, emulation, or profiling.
(2) Note. Classification herein requires more than nominal recitation of "programs", "programming", "debugging" or of development/programming environments and languages.
(3) Note. Although this class includes operations including execution of programs for operations performed by execution of computer programs during optimizing or debugging programs, the operations performed during actual intended use thereof are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(4) Note. Processes and apparatus for error detection, correction, and fault location and recovery are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(5) Note. Processes and apparatus for generating and/or communicating through graphical user interfaces and/or application program interfaces of computer programs are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(6) Note. This class provides for linking compiled load modules for the purpose of generating object or machine code representations of programs. Functions performed during dynamic linking of computer program modules performed at run-time are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(7) Note. This class provides for debugging computer programs in order to ensure correct operation of software during its intended use. Debugging is performed at the time the program is under development. Operations for fault location and recovery during its actual use are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(8) Note. This class provides for optimization of computer code by scheduling/reordering of instructions by a compiler during development. Scheduling and/or reordering instructions by hardware means such as superscalar processors are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(9) Note. This class provides for processing of computer programming languages such as editing, parsing, semantic and syntactic analysis, translation, etc. Operations including translation or editing of natural language text and document are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(10) Note. This class provides for processes and apparatus for installation of software on computer systems, which may be performed in conjunction with downloading/transmitting the software and other installation-related information via communication networks and configuration of the computer system during installation of the software. Communication functions performed during downloading/transmitting of information and/or software and configuration of computer systems in a network are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SECTION II - REFERENCES TO OTHER CLASSES

SEE OR SEARCH CLASS:

340Communications: Electrical,   subclasses 825 through 825.98for controlling one or more devices to obtain a plurality of results by transmission of a designated one of plural distinctive control signals over a smaller number of communication lines or channels, particularly subclass 825.02 for tree or cascade selective communication, subclasses 2.1 through 2.8 for channel selection, subclasses 3.1 through 3.9 for communication systems where status of a controlled device is communicated, subclass 3.51 for selective communication address polling control, subclasses 825.2 and 825.21 for synchronizing selective communication systems, subclasses 5.1 through 5.92 for security by intelligence comparison (e.g., authorization, etc.) in a selective communication system, subclasses 825.52 and 825.53 for addressing in selective system, and subclasses 825.57 through 825.69 for pulse responsive actuation in selective system.
345Computer Graphics Processing and Selective Visual Display Systems,   appropriate subclasses for visual display systems with selective electrical control including display memory organization and structure for storing image data and manipulating image data between a display memory and display peripheral, particularly subclasses 156 through 184for display peripheral interface input device, subclasses 204-215 for display driving control circuitry, subclasses 418-475 for computer graphics processing, and subclasses 501-522 for computer graphic processing systems.
370Multiplex Communications,   appropriate subclasses for the simultaneous transmission of two or more signals over a common medium, particularly subclasses 254 through 258for network configuration determination; subclasses 324, 350, and 503 through 520 for synchronization over free space or wire; subclasses 351 through 430 for path finding or routing including packet switching, circuit switching, and ATM switching; and subclasses 465 through 473 for adaptive communication protocol.
375Pulse or Digital Communications,   appropriate subclasses for generic pulse or digital communication systems and synchronization of clocking signals from input data, particularly subclasses 354 through 376for synchronizing the operation of the receiving and transmitting mechanism including synchronization fault prevention and self synchronization.
379Telephonic Communications,   appropriate subclasses for two-way electrical communication of intelligible audio data of arbitrary content over a link including an electrical conductor, particularly subclass 145 for fraud or interference prevention, subclasses 188 through 200 for telephone call or terminal access alarm or control (e.g., access blocking equipment), subclasses 322 through 324 for a power supply in a centralized switching system, and subclass 413 for a power supply in a subscriber line or transmission line interface.
380Cryptography,   subclasses 255 through 276for communication systems using cryptography.
455Telecommunications,   appropriate subclasses for modulated carrier wave communication, per se, particularly subclass 26.1 for subject matter which blocks access to a signal source or otherwise limits usage of modulated carrier equipment.
700Data Processing: Generic Control Systems or Specific Applications,   appropriate subclasses for data processing control systems and specific applications.
702Data Processing: Measuring, Calibrating, or Testing,   appropriate subclasses, particularly subclasses 60 through 63for power parameter measuring system, subclass 125 for timing signal generation in a testing system, subclasses 176 through 178 for time duration or rate measuring system, and subclass 186 for computer and peripheral benchmarking.
704Data Processing: Speech Signal Processing, Linguistics, Language Translation, and Audio Compression/Decompression,   subclasses 1 through 10for linguistics, subclasses 200 through 278 for speech processing, and subclasses 500 through 504 for audio signal time or bandwidth compression or expansion.
705Data Processing: Financial, Business Practice, Management, or Cost/Price Determination,   particularly subclass 18 for a point of sale terminal or an electronic cash register having security or user identification, subclass 44 for authentication or authorization in a credit or loan processing system, and subclasses 50 through 80 for business processing using cryptography.
706Data Processing: Artificial Intelligence,   subclasses 1 through 9for fuzzy logic hardware, subclass 10 for plural processing intelligence systems, subclass 11 for artificial intelligence system having particular user interface, subclasses 12 and 13 for machine learning system, subclass 14 for adaptive system, subclasses 15 through 44 for neural network, and subclasses 45 through 62 for knowledge processing system.
707Data Processing: Database and File Management or Data Structures,   particularly subclasses 1 through 10for database or file accessing, subclasses 100-104.1 for database scheme or structure and subclasses 200-206 for file or database management.
708Electrical Computers: Arithmetic Processing and Calculating,   appropriate subclasses for specialized function or calculation operation performed by an electrical analog computer, an electric hybrid computer, or an electric digital calculating computer.
709Electrical Computers and Digital Processing Systems: Multicomputer Data Transferring or Plural Processor Synchronization,   subclasses 200 through 253for transferring data between a plurality of computers.
710Electrical Computers and Digital Data Processing Systems: Input/Output,   appropriate subclasses for interconnecting or transferring data among processors, memories, and peripherals of computers or digital data processing systems.
711Electrical Computers and Digital Processing Systems: Memory,   subclasses 1 through 6for addressing combined with specific memory configurations (e.g., extended, expanded, dynamic, etc.) in a computer; subclasses 100 through 173 for accessing or controlling memories that are peripherals, for caching data, particularly subclass 164 for access limiting with password or key; and subclasses 200 through 221 for generalized address forming in a computer.
712Electrical Computers and Digital Processing Systems: Processing Architectures and Instruction Processing (e.g., Processors),   appropriate subclasses for processing architectures including virtual processors; multiple-instruction-multiple-data (MIMD); vector and array processors; single-chip microprocessors; and for fetching, buffering, decoding, or executing instruction data for operations other than I/O (e.g., logic functions).
713Electrical Computers and Digital Processing Systems: Support,   subclasses 1 , 2, and 100 for digital data processing system initialization and configuration/ reconfiguration, per se, subclasses 150 through 181 for multiple-computer communication using cryptography, subclasses 182 through 186 for system access control based on user identification by cryptography, subclass 187 for computer program modification detection by cryptography, subclass 188 for computer virus detection by cryptography, and subclasses 189 through 194 for data processing protection using cryptography, including upgrade/install encryption.
714Error Detection/Correction and Fault Detection/Recovery,   particularly subclass 707 for synchronization control using an error rate, subclass 731 for a reference timing function or a clock pulse generator in a scan path testing system, subclass 744 for clock or synchronization in digital logic testing using a test pattern generator, and subclass 798 for error detection for synchronization control.
715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 700 through 866for computer operator interface.
719Electrical Computers and Digital Processing Systems: Interprogram Communication or Interprocess Communication (IPC),   appropriate subclasses and particularly subclasses 331 through 332for dynamic linking, late binding.
726Information Security,   subclasses 1 through 36for information security in computers or digital processing system.

SUBCLASSES

[List of Patents for class 717 subclass 100]    100SOFTWARE PROGRAM DEVELOPMENT TOOL (E.G., INTEGRATED CASE TOOL OR STAND-ALONE DEVELOPMENT TOOL):
 This subclass is indented under the class definition.  Subject matter comprising means or steps operating on a computer or digital data processing system which enables a user to create and manage computer program code.
(1) Note. This subclass and those indented below accept computer programming tools, environments, and application programs which enable a programmer to create computer programs, for example, by use of a flowchart, pseudo code, a graphical description, program specifications, or by writing source code directly. However, particular software applications such as natural language translators, business tools, word processors, etc., are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(2) Note. Integrated development environment (IDE) tools and Rapid Application Development (RAD) tools are classified herein.
(3) Note. The tools classified here may translate input data into source code, translate source code into object code, link object code into executable code, or simply bring existing source code modules together to satisfy specified requirements. Code converters that change BCD to BINARY are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(4) Note. The software development tools classifiable here may include the use of artificial intelligence in the construction of a program. However, artificial intelligence programming tools for developing expert systems are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(5) Note. The general ability to link certain modules together to form a program is classifiable here. However, where the programming tool is directed to a particular application such as the control of a particular machine or device of another class, the proper classification is in said machine or device class. For example, programming for programmable positionable servo systems is classified with the positionable servo systems art. See the SEE OR SEARCH CLASS notes below. And, for example, programming for the machine control tools is classified with the machine control art. See the SEE OR SEARCH CLASS notes below.
(6) Note. The software programming tools in this subclass often utilize graphical, symbolic, or iconic metaphors in the user interface. The combination of a programming tool with user interface metaphors is properly classified here. However, generalized operator interface inventions such as on-screen workspaces and features of GUI such as pop-up controls and menus are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(7) Note. The software development tools here may include tools which perform the function of cross-compiling a program. However, a program which performs the cross-compiling on an application running on a platform is an emulator, per se, which is classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(8) Note. The software development tools here may include tools for developing object-oriented programs. However, operations performed during execution of object-oriented programs such as interprogram communication between objects are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(9) Note. The general ability to link certain modules such as procedures or functions together to form a program is classifiable here. However, communication between procedures and functions during execution thereof such as function or procedure calls is classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH CLASS:

318Electricity: Motive Power Systems,   subclasses 560 through 688for programmable, positionable servo systems.
341Coded Data Generation or Conversion,   appropriate subclasses for digital code-to-digital code converters, A/D converters, and D/A converters.
399Electrophotography,   subclasses 76 through 78for sequential and programmed control of photocopying machines.
434Education and Demonstration,   appropriate subclasses for means and method for teaching computer programming.
700Data Processing: Generic Control Systems or Specific Applications,   subclasses 17 and 18 for programming methods for general-purpose controllers and industrial controllers and subclasses 180 through 185 for machine tool operator interface.
703Data Processing: Structural Design, Modeling, Simulation, and Emulation,   subclass 22 for simulation of computer programs, subclasses 23 through 26 for emulator application programs, and subclasses 27 and 28 for in-system emulation of system components for compatibility.
705Data Processing: Financial, Business Practice, Management, or Cost/Price Determination,   appropriate subclasses for business data processing, per se.
706Data Processing: Artificial Intelligence,   appropriate subclasses for programming artificial intelligence tools and developing expert systems.
715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 200 through 277for document and text processing; subclasses 700-866 for generalized operator interface; and cross-reference art collection 967 for visual or iconic programming used in process control and configuration.
719Electrical Computers and Digital Processing Systems: Interprogram Communication or Interprocess Communication (IPC),   appropriate subclasses for interprocess communication such as function calls and particularly subclass 315 and 316 for object-oriented messaging.
  
[List of Patents for class 717 subclass 101]    101Software project management:
 This subclass is indented under subclass 100.  Subject matter comprising means or steps for planning, organizing, staffing, directing, and controlling a software development project.
(1) Note. The subject matter herein may include frameworks, including object-oriented frameworks for developing software. Application frameworks for executing specific functions other than those associated with generation and management of software are classified in appropriate subclasses within the classes that provide for the specific application.
(2) Note. Tools for measurement of software metrics related to a software development project, such as product metrics and process metrics, are classified here.
(3) Note. For the purpose of this definition, software project management comprises management of all aspects related to a software development process. Business process management divorced from software development is classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH CLASS:

705Data Processing: Financial, Business Practice, Management, or Cost/Price Determination,   appropriate subclasses for business data processing, per se.
  
[List of Patents for class 717 subclass 102]    102Enterprise based:
 This subclass is indented under subclass 101.  Subject matter wherein the software development project being managed is specific to a business enterprise or organization, including multiple personnel and software developers.
(1) Note. Subject matter herein may include workflow management tools for monitoring the flow and progress of work between various groups of personnel participating in a software development project. Task management and control during the execution of a program is classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(2) Note. Subject matter herein includes collaborative program development environments wherein various groups of developers and other personnel work on parts of the software development project. Concurrently, established related or collaborative user interfaces including computer conferencing and computer supported cooperative work are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH CLASS:

709Electrical Computers and Digital Processing Systems: Multicomputer Data Transferring or Plural Processor Synchronization,   appropriate subclassesfor details of data transfer among plurality of computers or digital data processing systems.
715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 733 through 759for concurrently established related or collaborative user interfaces including computer conferencing and computer supported cooperative work.
  
[List of Patents for class 717 subclass 103]    103Distributed:
 This subclass is indented under subclass 102.  Subject matter wherein the personnel and the developers are located in geographically dispersed environments.
(1) Note. Included herein are distributed computer systems wherein plurality of developers and other personnel work on the project over a network such as the Internet or World Wide Web (WWW). Multicomputer data transfer over a network including the Internet and tools for the preparation and viewing of documents over a network such as the Internet are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH CLASS:

709Electrical Computers and Digital Processing Systems: Multicomputer Data Transferring or Plural Processor Synchronization,   appropriate subclassesfor details of data transfer among plurality of computers or digital data processing systems.
715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 200 through 277for document and text processing, per se.
  
[List of Patents for class 717 subclass 104]    104Modeling:
 This subclass is indented under subclass 100.  Subject matter comprising means or steps for designing and specifying a representation of the structure and desired behavior of a program to be developed.
(1) Note. Specifications such as state diagrams and Top-Down model for representing a program are classified herein.
(2) Note. Design templates that are customizable to generate a program are classified here.
(3) Note. Subject matter under this subclass may include use of a modeling language such as Unified Modeling Language (UML).
(4) Note. Subject matter herein may include object-oriented representation of a program to be created. Object-oriented data structures and databases, and communication among objects using messages are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH CLASS:

703Data Processing: Structural Design, Modeling, Simulation, and Emulation,   subclasses 1 through 22for modeling and simulation of physical and electrical processes and objects.
707Data Processing: Database and File Management or Data Structures,   subclass 103 for object-oriented database structure and processing thereof.
716Data Processing: Design and Analysis of Circuit or Semiconductor Mask,   subclasses 1 through 18for circuit design and subclasses 19 through 21 for design of semiconductor mask.
719Electrical Computers and Digital Processing Systems: Interprogram Communication or Interprocess Communication (IPC),   subclass 315 and 316 for interprogram communication using object-oriented message.
  
[List of Patents for class 717 subclass 105]    105Visual:
 This subclass is indented under subclass 104.  Subject matter comprising means or steps for generating a model or specification of a program using a graphically displayable representation.
(1) Note. Subject matter under this definition includes visual or iconic representation of the program to be created.
(2) Note. Visual display systems including operator interfaces are classified elsewhere. See the SEE OR SEARCH THIS CLASS, SUBCLASS notes below.

SEE OR SEARCH THIS CLASS, SUBCLASS:

109,for code generating tools including visual generation of code.
113,for visual editing tools.
125,for visual debugging.

SEE OR SEARCH CLASS:

715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 700 through 866for visual display including operator interfaces and cross-reference art collection 967 for visual programming.
  
[List of Patents for class 717 subclass 106]    106Code generation:
 This subclass is indented under subclass 100.  Subject matter including means or steps for facilitating creation of a list of human-readable instruction data in a programming language.
(1) Note. The code generating programs or tools classified herein may generate source code directly without using graphics, or object-oriented paradigm, for example, by use of a specification. However, program generation tools utilizing a specification directed to the physics of materials or interactions of constituent parts of a physical process, such as in the field of simulating chemical, electrical, or mechanical processes for the purpose of design and analysis, are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH CLASS:

703Data Processing: Structural Design, Modeling, Simulation, and Emulation,   subclasses 1 through 22for modeling and simulation of physical and electrical processes and objects.
707Data Processing: Database and File Management or Data Structures,   subclass 103 for object-oriented database structure and processing thereof.
715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 700 through 866for visual display including operator interfaces.
716Data Processing: Design and Analysis of Circuit or Semiconductor Mask,   subclasses 1 through 18for circuit design and subclasses 19 through 21 for design of semiconductor mask.
719Electrical Computers and Digital Processing Systems: Interprogram Communication or Interprocess Communication (IPC),   subclass 315 and 316 for interprogram communication using object-oriented message.
  
[List of Patents for class 717 subclass 107]    107Component based:
 This subclass is indented under subclass 106.  Subject matter including tools for generation of source code by combining modules such as procedures or functions together to form a program.

SEE OR SEARCH THIS CLASS, SUBCLASS:

162,for linking object code modules to generate executable programs including resolution of references.

SEE OR SEARCH CLASS:

719Electrical Computers and Digital Processing Systems: Interprogram Communication or Interprocess Communication (IPC),   appropriate subclasses for interprocess and interprogram communication, particularly subclass 331 and 332 for dynamic linking of objects to an executing program at run time.
  
[List of Patents for class 717 subclass 108]    108Object oriented:
 This subclass is indented under subclass 106.  Subject matter including tools for developing source code using a programming paradigm in which program elements are conceptualized as objects that can pass messages to each other.
(1) Note. For this definition, the tools used to generate the source code utilizes object-oriented programming techniques. However, object-oriented database structures and inter-object communication performed during execution of object-oriented programs are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH THIS CLASS, SUBCLASS:

116,for software development tools for developing programs using object-oriented programming language constructs.

SEE OR SEARCH CLASS:

707Data Processing: Database and File Management or Data Structures,   subclass 103 for object-oriented database structure and processing thereof.
719Electrical Computers and Digital Processing Systems: Interprogram Communication or Interprocess Communication (IPC),   appropriate subclasses for interprocess communication such as function calls, particularly subclass 315 and 316 for object-oriented messaging.
  
[List of Patents for class 717 subclass 109]    109Visual:
 This subclass is indented under subclass 106.  Subject matter including means or steps for generating a displayable representation of the program code under development.
(1) Note. Subject matter herein includes tools which are used to facilitate software development and may include recitation and processes involving the use of graphical user interfaces, "visual" development environments, and flowcharts. However, general-purpose operator interfaces, graphical user interfaces (GUI), or other graphical displays are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH THIS CLASS, SUBCLASS:

105,for tools for modeling software including visual representation.
113,for visual editing tools.
125,for visual debugging.

SEE OR SEARCH CLASS:

715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 700 through 866for operator interfaces, per se; and cross-reference art collection 967 for iconic programming.
  
[List of Patents for class 717 subclass 110]    110Editing:
 This subclass is indented under subclass 100.  Subject matter comprising means or steps for modifying code under development using a high-level representation of programs and instructions.
(1) Note. Modifying and editing code for the purpose of debugging or optimizing an already generated program is classified here. Debugging and optimizing an already generated code per se, is classified elsewhere in this class. See the SEE OR SEARCH THIS CLASS, SUBCLASS notes below.
(2) Note. Tools for modifying code for the purpose of generating an update for an older version of a program under development is classified here. Upgrading or updating a program after development is classified elsewhere within this class. See the SEE OR SEARCH THIS CLASS, SUBCLASS notes below.
(3) Note. Subject matter under this subclass includes code modification in response to modifications inputted by a programmer or user and automatic editing or code modification by a computer.
(4) Note. Modifying code simultaneously with program translation or execution is classified here. Dynamic compiling of code during execution and dynamic optimization of code during execution or compilation of code are classified elsewhere in this class. See the SEE OR SEARCH THIS CLASS, SUBCLASS notes below.

SEE OR SEARCH THIS CLASS, SUBCLASS:

124through 135, for tools for debugging a program under development.
148,for dynamic compiling of program during execution.
151through 161, for optimizing compilers, particularly subclass 153 for dynamic optimization.
168through 173, for updating or upgrading an already developed program.

SEE OR SEARCH CLASS:

715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 255 through 272for editing of documents including editing text.
  
[List of Patents for class 717 subclass 111]    111Dynamic:
 This subclass is indented under subclass 110.  Subject matter including means or steps for changing the code simultaneously with the input of the modifications desired by a user or a programmer.

SEE OR SEARCH THIS CLASS, SUBCLASS:

124through 135, for tools for debugging a program under development.
141through 144, for analysis of programs by a compiler.

SEE OR SEARCH CLASS:

714Error Detection/Correction and Fault Detection/Recovery,   particularly subclass 38 for analysis of software.
  
[List of Patents for class 717 subclass 112]    112Syntax based:
 This subclass is indented under subclass 111.  Subject matter including means or steps for checking the grammar of a code modification for possible errors.

SEE OR SEARCH THIS CLASS, SUBCLASS:

124through 135, for tools for debugging a program under development.
141through 144, for analysis of programs by a compiler, including checking syntax in accordance with a grammar of a programming language.

SEE OR SEARCH CLASS:

704Data Processing: Speech Signal Processing, Linguistics, Language Translation, and Audio Compression/Decompression,   subclasses 1 through 10for linguistics.
714Error Detection/Correction and Fault Detection /Recovery,   particularly subclass 38 for analysis of software.
  
[List of Patents for class 717 subclass 113]    113Visual:
 This subclass is indented under subclass 110.  Subject matter comprising means or steps for modifying a displayable representation of the code, in the form of text and/or graphics.

SEE OR SEARCH THIS CLASS, SUBCLASS:

105,for tools for modeling software including visual representation.
109,for code generating tools including visual generation of code.
125,for visual debugging of programs.

SEE OR SEARCH CLASS:

715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 700 through 866for operator interfaces, per se; and cross-reference art collection 967 for iconic programming.
  
[List of Patents for class 717 subclass 114]    114Programming language:
 This subclass is indented under subclass 100.  Subject matter comprising means or steps for using programming language construct or other programming language specific attributes.
(1) Note. Subject matter herein includes using extensions of existing programming language for the purpose of adding functionalities not already available in the existing programming language.
(2) Note. Subject matter under this subclass includes specific types or classes of programming languages such as object-oriented, functional, rule-based, procedural and logic programming languages, as well as specific programming languages such as C, C++, LISP, Visual Basic, etc.
(3) Note. Subject matter under this subclass may include markup languages such as HTML, XML, etc. Preparation and displaying/rendering of documents utilizing markup languages, including network-based document preparation on the Internet or the World Wide Web (WWW) are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH CLASS:

709Electrical Computers and Digital Processing Systems: Multicomputer Data Transferring or Plural Processor Synchronization,   subclasses 200 through 253for transferring data between a plurality of computers.
715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclasses 700 through 866for operator interfaces, per se; and cross-reference art collection 967 for iconic programming.
719Electrical Computers and Digital Processing Systems: Interprogram Communication or Interprocess Communication (IPC),   appropriate subclasses and particularly subclasses 331 through 332for dynamic linking, late binding in interprogram communication.
  
[List of Patents for class 717 subclass 115]    115Script:
 This subclass is indented under subclass 114.  Subject matter wherein the programming language comprises a set of instructions or commands along with simple control structures to be interpreted during execution of a developed program.

SEE OR SEARCH THIS CLASS, SUBCLASS:

139,for interpreters for execution of a program in a script-based language by interpreting the program.
  
[List of Patents for class 717 subclass 116]    116Object oriented:
 This subclass is indented under subclass 114.  Subject matter wherein the programming language used to develop the code is based on a programming paradigm in which a program is viewed as a collection of discrete objects that are self-contained collections of data structures and routines that interact with other objects.
(1) Note. Subject matter may include use of object-oriented data structures such as objects and class hierarchies in the development of code. Object-oriented data structures and databases, per se, are classified elsewhere. See the SEE OR SEARCH CLASS notes below.
(2) Note. Subject matter under this subclass includes development of programs including language or programming constructs for facilitating improved communication between objects or method calls. Object-oriented messaging, method calls, or method dispatching, per se, and communications between objects are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH THIS CLASS, SUBCLASS:

108,for software development tools for generating code using object-oriented environment.

SEE OR SEARCH CLASS:

707Data Processing: Database and File Management or Data Structures,   subclass 103 for object-oriented database structure and processing thereof.
719Electrical Computers and Digital Processing Systems: Interprogram Communication or Interprocess Communication (IPC),   appropriate subclasses for interprocess communication such as function calls, particularly subclasses 315 through 316for object-oriented messaging.
  
[List of Patents for class 717 subclass 117]    117Declarative (e.g., rule based):
 This subclass is indented under subclass 114.  Subject matter wherein the programming language describes a set of facts and relationships and is queried for specific results.
(1) Note. A declarative programming language under this subclass is also known as nonprocedural language, since it does not follow the procedural paradigm of executing statements, subroutine calls, and control structures sequentially.
(2) Note. Subject matter includes development of programs including rule-based language or programming constructs for facilitating rule processing in a rule-based or declarative programming environment. Rule-based knowledge processing systems are classified elsewhere. See the SEE OR SEARCH CLASS notes below.

SEE OR SEARCH CLASS:

706Data Processing: Artificial Intelligence,   subclasses 47 and 48 for knowledge processing systems including rule-based reasoning.
  
[List of Patents for class 717 subclass 118]    118Bytecode (e.g., Java):
 This subclass is indented under subclass 114.  Subject matter wherein the programming language used to develop the code uses an intermediate and platform-independent form.
(1) Note. Examples of a bytecode form includes Java.

SEE OR SEARCH THIS CLASS, SUBCLASS:

139,for bytecode interpreter.
148,for dynamic compiling and executing bytecode or Java language program using a virtual machine.
  
[List of Patents for class 717 subclass 119]    119Parallel:
 This subclass is indented under subclass 114.  Subject matter wherein the programming language used to develop the code includes constructs suitable for executing in parallel on a machine configured for parallel execution.

SEE OR SEARCH THIS CLASS, SUBCLASS:

149,for compiling code for parallel machines.

SEE OR SEARCH CLASS:

712Electrical Computers and Digital Processing Systems: Processing Architectures and Instruction Processing (e.g., Processors),   appropriate subclasses for processing architectures including multiple-instruction-multiple-data (MIMD), vector, and array processors.
  
[List of Patents for class 717 subclass 120]    120Managing software components:
 This subclass is indented under subclass 100.  Subject matter including means or steps for maintaining software modules or files, preprocessing or integrating source code, generating design documentation from source code, or source code version management.
(1) Note. The subject matter of this subclass is limited to managing components of software under development, including maintaining the source code modules. As evidenced by the many notes which follow, the generic concepts of version management, data consistency, and data coherency are distributed throughout other classes under various titles, such as document version management, file and database maintenance, consistency, etc. Therefore, a concept search for data management, per se, should include consideration of these related topics.
(2) Note. For the purpose of this definition, preprocessing or integration of source code occurs when source code modules or files are combined or processed before compilation (e.g., using a preprocessor to process include files or MACROs or for inlining of procedures/functions, using a MAKEFILE to select and schedule source files for compilation).

SEE OR SEARCH THIS CLASS, SUBCLASS:

170,for updating and upgrading executable programs including plural version management.

SEE OR SEARCH CLASS:

707Data Processing: Database and File Management or Data Structures,   subclass 8 for database concurrency, and subclasses 200 through 206 for file and database maintenance systems including data coherency in database systems.
715Data Processing: Presentation Processing of Document, Operator Interface Processing, and Screen Saver Display Processing,   subclass 229 for document version management under document processing.
  
[List of Patents for class 717 subclass 121]    121Software configuration:
 This subclass is indented under subclass 120.  Subject matter including means or steps for tracking and maintaining configuration of software components during the program development life cycle.
(1) Note. For the purpose of this definition, changes to the components or configuration may be effected by many developers working on a software d