GB2166572A - Data processing system - Google Patents

Data processing system Download PDF

Info

Publication number
GB2166572A
GB2166572A GB08517426A GB8517426A GB2166572A GB 2166572 A GB2166572 A GB 2166572A GB 08517426 A GB08517426 A GB 08517426A GB 8517426 A GB8517426 A GB 8517426A GB 2166572 A GB2166572 A GB 2166572A
Authority
GB
United Kingdom
Prior art keywords
data
storage means
command
components
files
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB08517426A
Other versions
GB8517426D0 (en
Inventor
Kimberley Vere Sadleir
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SADLEIR COMPUTER RES Ltd
Original Assignee
SADLEIR COMPUTER RES Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SADLEIR COMPUTER RES Ltd filed Critical SADLEIR COMPUTER RES Ltd
Publication of GB8517426D0 publication Critical patent/GB8517426D0/en
Publication of GB2166572A publication Critical patent/GB2166572A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Bus Control (AREA)
  • Photoreceptors In Electrophotography (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

An apparatus for data storage and data retrieval comprises a system bus (14), a bus controller (20), a memory means (16), an operating system (22), a central processing unit (CPU) (12) and an input/output means (I/O) (18), the system bus (14) being arranged to provide electrical communication between the components of the apparatus subject to the bus controller (20) and the operating system (22). In use the memory means contains a plurality of command instructions comprising command components (32, Fig. 2) and connection components (58, Fig. 2) each of the command components and each of the connection components having one or more parameter components, the command components controlling operation of the apparatus subject to one or more parameter components related by one or more of the connection components such that the structure of the command instruction is independent of the order of the parameter components and their corresponding connection components. <IMAGE>

Description

SPECIFICATION Data processing system The present invention relates to a data processing system particularly envisaged for use in storage and retrieval of data from a store of data such as a data base.
Consequent to the development of computers with large memory capability and fast operation more and more information is stored in data bases in data processing systems.
However, the effectiveness of the data bases is limited by the ability of a user, either skilled or unskilled, to store and/or retrieve data from the data base.
In general, data processing systems and the like are controlled by a control means having a plurality of instructions. Each of the instructions usually has its own particular requirements. Thus, in order to efficiently use such data processing systems an operator must be well versed with these requirements, often referred to as syntax.
The requirements include the formatting of the instruction and particularly the order of components within the instruction.
The present invention provides a data processing system which is controllable by instructions having a relatively small number of instruction components, with all instructions definable by aselection of the components which is not order dependent. Consequently, an operator having less skill than required for the prior art data processing systems may efficiently and easily use the data processing system of the present invention.
Also, the instructions of the control means of prior art data processing systems and the like are not readily explanatory of their function. That is, an operator reading the instructions of the control means may not readily be able to decipher the effect that any one or more of the instructions may have.
Commonly, such prior art instructions include comment instructions. The comment instructions do not provide control for the data processing system but explain to an operator the purpose and intention of any one or more of the instructions.
The present invention provides a data processing system which is controllable by instructions in a control means, that provide self documentation and hence explanatory comment instructions are not required.
Furthermore, data processing systems and the like have a plurality of data files arranged in a directory. The data files have data arranged in particular formats. When new data, such as data relating to a new data file record layout is to be added or deleted, a user of the system may not be competent to perform such a task. In such a case a particularly skilled person may be required to alter the system to make allowances for the new data file record layout, for example.
The data processing system of the present invention has an arrangement of files that may more readily allow addition and removal and the like of data and data files.
To this end, the data files are defined in a recursive manner.
The recursive definition of data files means that raw data files have data format definitions provided by first data definition files. The first definition files in turn are defined by second data definition files and so on, as required.
The requirement for further definition files preferably ends when the definition files define themselves. In general, it has been found that only first and second data definition files are required to establish full definitions of all the data files.
Thus, any change to the format of a data file may be affected by altering the data contained in a definition file corresponding to the data file. Such an alteration could be performed by a user of the system.
The recursive nature of files structures also alleviates the need for a user of the system to be familiar with the format of data in data files. When a user accesses a data file a corresponding definition file provides the required formating information to the system independent of the user.
In accordance with one aspect of the present invention there is provided a data processing system for data storage and data retrieval comprising a system bus, a bus controller, a memory means, an operating system, a central processing unit (CPU) and an input/output means, the system bus being arranged to provide electrical communication between the components of the apparatus subject to the bus controller and subject to the operating system, the memory means comprising a first storage means containing a plurality of instructions for use in an instruction means to direct operation of the data processing system and a second storage means containing, in use, a plurality of command instructions for use in a command instruction means to control operation of the data processing system, the operating system providing an interface between the instruction means and the command instruction means and the remainder of the data processing system, the command instructions means controlling the data processing system under direction of the instruction means, and the input/output means being for input of data into the apparatus and output of data from the apparatus, the command instructions comprising command components and connection components, each of the command components and each of the connection components having one or more parameter components, the command components controlling operation of the apparatus subject to one or more parameter components related by one or more of the connection components such that the structure of the command instruction is independent of the order of the parameter components and their corresponding connection components.
In accordance with a further aspect of the present invention there is provided a process for the control of a data processing system in relation to data storage and data retrieval, which comprises a user entering a plurality of command instructions into a second storage means for use in a command instruction means, introducing a plurality of instructions into a first storage means for use in an instruction means and interfacing the command instruction means and the instruction means with the data processing system by introducing an operating system, the command instructions comprising command components and connection components, each of the command component and each of the connection components having one or more corresponding parameter components, the command components controlling operation of the data processing system subject to one or more of the parameter components related by one or more of the connection components such that the structure of the command instruction is independent of the order of the parameter components and their corresponding connection components.
In accordance with a still further aspect of the present invention there is provided a data processing system for data storage and data retrieval comprising a system bus, a bus controller, a memory means, an operating system, a central processing unit (CPU), and an input/output means, the system bus being arranged to provide electrical communication between the components of the apparatus subject to the bus controller and subject to the operating system, the memory means comprising a first storage containing a plurality of instructions for use in an instruction means to direct operation of the data processing system and a second storage means containing in use, a plurality of command instructions for use in an instruction means to control operation of the data processing system, the operating system providing an interface between the instruction means and the command instruction means and the remainder of the system, the command instruction means controlling the data processing system under direction of the instruction means, and the input/output means being for input of data into the apparatus and output of data from the apparatus, the memory means also comprising a third storage means containing a plurality of data storage means, the data storage means including raw data storage means, first data definition storage means and second data definition storage means.
In accordance with a still further aspect of the present invention there is provided a process for the control of a data processing system in relation to data storage and data retrieval, which comprises creating a plurality of raw data files containing raw data in a raw data storage means of a data storage means in a third storage means of a memory means of the data processing system, creating a plurality of first data definition files containing data providing first data definitions in a first data defination storage means of the memory means and creating a plurality of second data definition files containing data providing second data definitions in a second data definition storage means, the raw data in the raw definition storage means having characteristics definitioned by the first data storage means, the data in the first data definition storage means having characteristics defined by the second data definition storage means, the data in the second data definiation storage means having characteristics defined by itself, wherein the raw data in the raw data storage means, the data in the first data definition storage means and the data in the second data definition storage means are substantially independent.
The present invention will now be described, by way of example, with reference to the accompanying drawings, in which: Figure 1 is a schematic representation of apparatus which incorporates the data processing system of the present invention; Figure 2 is a table showing the interaction of command components and connection components for instructions to be used in relation with the apparatus of Figure 1; Figures 3 and 4 are a flowchart of execution for the data processing system of the present invention; Figure 5 is a schematic representation of a structure of files in accordance with a further aspect of the present invention.
In Figure 1 there is shown an apparatus 10 comprising the data processing system of the present invention and suitable to incorporate the process of the present invention.
The apparatus 10 comprises a central processor unit (CPU) 12 and a system bus 14.
The system bus 14 provides electrical communication between a memory means 16, an input/output (I/O) means 18, a bus controller 20 and an operating system 22.
The memory means 16 comprises a first storage means and a second storage means, each having a plurality of instructions temporarily or permanently stored therein. The instructions in the first storage means and the second storage means are respectively for use in an instruction means and a command means of the data processing system of the present invention as described in our co-filed patent application as described hereinafter.
The commandinstruction means is provided to control the data processing system under direction of the instruction means.
The nature of the command instruction means and its control over the data processing system may be altered by a user of the data processing system by altering the instructions in the second storage means. The instruction in the first storage means are instructions for use in the instruction means and correspond to command instructions used to direct control of the apparatus 10.
The second storage means comprises a plurality of instructions for use in the command instruction means which relate to process commands for the instruction means of the first storage means to control the apparatus 10.
That is, the instruction means directs the command instruction means which, in turn, provides control of the apparatus 10.
The memory means also comprises a third storage means containing stores of data arranged in data files.
The data files may be entered into the apparatus 10 via the I/O means 18. The data files are to be accessed and processed by the data processing system of the present invention.
The plurality of command instructions in the second storage means relate to a method of implementation of the apparatus and process of the present invention desired by the user to access and/or process data contained in the memory means 9c.
The instruction means and the command instruction means are interfaced by the operating systems 22 to the remainder of the apparatus 10.
The command instruction means, interfaced the operating system 22, controls the operation of the instruction means and the remainder of the apparatus 10. The I/O means 18 comprise devices to allow input and output of instructions and data into and out of the apparatus 10. More specifically, the I/O means 18 may comprise video display units, printers, automatic mailing systems, disk drive assemblies etc. (not shown).
Data and command instructions are entered by a user into the I/O means 18 and directed to the remainder of the apparatus 10.
The passage of data and instruction commands is directed and controlled about the apparatus 10 along the bus 14 by the bus controller 20.
The bus controller 20 may, for example, give exclusive use of the bus 14 to the l/O means 18 such exclusive use may be granted to a disk drive assembly of the I/O means 18 to allow it to store and/or read data in the memory means 16 under action of a direct memory access (DMA) controller (not shown).
The operating system 22 is also required to interface the process of the present invention with the remainder of the apparatus 10 and a user of the apparatus 10. The operating system 20 further provides instruction and data format alterations suitable to allow the instructions of the memory means 16 to be applicable to a variety of CPU's 12, 1/O means 18 and bus controllers 20.
The apparatus and process of the present invention are particularly intended for use with the AT and T Bell Laboratories developed UNIX operating system although it may be adapted to use other operating systems. In Figure 2 there is shown an interaction table 30 comprising a plurality of instruction components for use in the command instruction means. The instruction components consist of command components 32 and connection components 34.
The command components 32 are conveniently referred to as verbs 32. The verbs 32 provide commands for the apparatus 10 of Figure 1 which may include, for example, ADD, ANALYSE etc. as shown in Figure 2.
The verbs 32 of Figure 2 are assigned reference numerals 36 to 56. The connection components 58 are conveniently referred to as conjunctions 58. The conjunctions 58 provide a basis for format for instructions to be used in the command instruction means with the system and the process of the present invention. The conjunctions 58 may include, for example, THE, BY, FOR etc. as shown in Figure 2 and are assigned reference numerals 60 to 76. The conjunctions 58 describe and specify instructions in relation to the apparatus 10.
The instruction components also comprise parameter components. The parameter components provide data for the command components and the connection components. Each of the verbs 32 provides a particular command for the command instruction means and thus a particular control of the apparatus 10 and may be conditioned by one or more and in some cases all of the conjunctions 58. In Figure 2 the "X"s represent conjunctions 58 that cannot condition a particular verb 32.
The verb 32 of a command instruction is interpreted by the operating system 22 and then commands a predefined action in accordance with the instruction means to be performed by the apparatus 10. The predefined actions to be taken in relation to the verbs 32 are defined by the instruction means.
The verb 32 referred to as ADD 36 provides a command to the apparatus 10 to add new data into a specified data file of the third storage means subject to the conditions specified and described by the conjunctions 58.
Where the data is displayed in a FORM, new data may be added into the apparatus 10 via the specified FORM. In which case a user may enter data via a video display unit of the I/O means 18 into the memory means 16.
As shown in Figure 2, ADD 36 may not be conditioned by the BY 62 or FOR 64 conjunctions 58.
A command instruction having the ADD 36 command may be conditioned by any one or more of the remaining conjunctions 58 arranged in any order.
The verb 32 ANALYSE 38 provides a command to the apparatus 10 to statistically analyse data for a specified data file and report on the results of the analysis. A command instruction having the ANALYSE 38 command may be conditioned by any one or more of the conjunctions 58 arranged in any order.
The verb 32 BAH 40 provides a command to the apparatus 10 interpreted by the operating systems 22 to represent existing data of a specified data file in a bar graph format.
A command instruction having the BAR 40 command may be conditioned by any one or more of the conjunctions 58 arranged in any order.
The verb 32 CULL 41 provides a command to the apparatus 10 to remove data from a specified data file where the data has been flagged for removal by the DELETE 42 command as described hereinafter. The CULL 41 command is intended to update existing data files by removing data flagged for removal.
A command instruction having the CULL 41 command may be conditioned by all of the conjunctions 58 except the BY 62, the USING 68 and the TO 74 conjunctions. The verb 32 DELETE 42 provides a command to the apparatus 10 to flag data to be removed from a specified data in accordance with the CULL 41 command file. Preferably DELETE 42 also sends a copy of the deleted information to a nominated data file or device. A command instruction having the DELETE 42 command may be conditioned by any one or more of the conjunctions 58 arranged in any order.
The verb 32 EDIT 44 provides a command to the apparatus 10 to modify existing data in a specified data file of the memory means 16 in a specified format. Where data is displayed in a FORM the specified format is the FORM.
A command instruction having the EDIT 44 command may be conditioned by any one or more of the conjunctions 58.
The verb 32 LINE 46 provides a command to the apparatus 10 to represent existing data for a specified data file in a line graph format.
A command instruction having the LINE 46 command may be conditioned by any one or more of the conjunctions 58.
The verb 32 MENU 48 provides a command to the apparatus 10 to display a specified data file in a menu format and allows the operator of the system to choose an item or items from the menu list. The MENU 48 command directs the instruction means to make the data of the specified data file available to the user in a request format.
The verb 32 PIE 50 provides a command to the apparatus 10 to represent existing data of a specified data file in a pie graph format. The pie graph may be a round or square pie graph as applicable to the characteristics of a VDU of the I/O means 18. For video display units without a suitable graphics capability the pie graph is represented as a PERCENT graph in the form of a horizontal bar graph. A command instruction having the PIE 50 command may be conditioned by any one or more of the conjunctions 58. The verb 32 PRINT 52 provides a command to the apparatus 10 to print a specified data file in a pre-described manner for the desired data in a specified format to a desired destination. A command instruction having the PRINT 52 command may be conditioned by any one or more of the conjunctions 58.The verb 32 TOTAL 56 provides a command to the apparatus 10 to total information for data a specified data file in a desired format.
The conditioning provided by each of the conjunctions 58 is described hereinafter.
The conjunction 58 THE 60 describes the data file of the memory means 16 upon which verbs 32 are to act. For example, the command instruction: EDIT THE DEBTORS performs an EDIT 44 command on a data file called DEBTORS where DEBTORS is the file name. Here DEBTORS is a parameter component of the command instruction. The ability of a file name to identify a corresponding file for the apparatus and process of the present invention is described hereinafter.
The conjunction 58 BY 62 specifies an index of fields that represent a specified data file which are to be acted upon by a verb 32 of an instruction. For example, the command instruction: EDIT THE DEBTORS BY NAME performs an EDIT 44 command on a data file called DEBTORS for an index called DEBTORS.
NAME.
An index, such as DEErORS. NAME, is a cross reference to provide a list of DEBTORS that may be accessed by calling a name of the list, such as SMITH, for example. The conjunction 58 FOR 64 specifies a range or list of references for a specified data file of the memory means 16 upon which a verb 32 is to act. The range or list of references may be physical record members or keyed fields if an index is chosen using the BY conjunction.
For example, the instruction: EDIT THE DEBTORS BY NAME FOR CITIZEN, JONES-SMITH performs an EDIT 44 command on a data file called DEBTORS for an index of names in the range of Jones to Smith and including Citizen.
The conjunction 58 IF 66 specifies a condition that must be met before execution of a verb 32 is allowed to be continued for a specified data file. The condition may be an arith metic expression to be evaluated by the CPU 12 and for which a truth value is returned.
The conditions comprise operands such as " " ,.+", "~" . ,/", " < ", " > "and the like. For example, the instruction: EDIT THE DEBTORS IF DEBTOR: AMOUNT > $200.00 performs an EDIT 44 command on the DEBTORS files but only for DEBTORS having a debit amount which exceeds $200.00.
Preferably, the operands may include brackets or macros stored in files so that multiple expression conditions can be generated. It is envisaged that the conditions be capable of including data operators such as DAY, MONTH, lN#DAYS, IN~WEEKS so that action of a verb 32 can be date dependent.
The conjunction 58 USING 68 specifies a desired format to be used in displaying and accessing data from a specified data file. The format may also be specified as a FORM, as described hereinafter, and accessed by supplying an appropriate form name. For example, the instruction: EDIT THE DEBTORS USING TRIAL-BALANCE performs an EDIT 44 command using a FORM whose format is defined in the file TRIAL BALANCE.
The conjunction 58 USING 68 may also be specified with a field of a current data file. For example: USING DEBTORS:DATE directs a command to be performed using the date (from the data file) at which a result is extracted.
The conjunction 58 AT 70 specifies a position on a video display unit or printer or the like at which a window containing results of the action of a verb 32 is to appear. For example, the instruction: EDIT THE DEBTORS BY NAME AT 1,1,12,20 performs an EDIT 44 command on a file called DEBTORS with respect to the debtors names and prints the results in a window of the video display unit or printer of 12 lines deep and 20 lines wide. The coordinates of the window are specified by the row and the column of an uppermost and left most point followed by a lowermost and right most point.
However, it is to be understood that any set of coordinates defining a window could be used.
The conjunction 58 WHEN 72 is similar to the IF 66 conjunction. However, the WHEN 72 conjunction specifies a condition that must be met before a verb 32 is executed. That is, for the WHEN 72 conjunction the parameter component is evaluated before the verb 32 is executed and the verb 32 executed only if the conditions specified by the parameter component are met.
The conjunctions 58 TO 74 describes a list of devices, files or users to which results of an instruction are to be sent.
For example, the instruction: EDIT THE DEBTORS IF DEBT: AMOUNT > $200.00 TO PRINTER 1, INVOICE NO performs an EDIT 44 command on the DEBTORS file of the third storage means for outstanding accounts in excess of $200.00 with results being sent to a printer called PRINTER 1 and to a file called INVOICE.NO.
The TO 74 conjunction could also specify a list of video display units, printers, users files and the like components of the apparatus 10 and to which results of a verb 32 command are to be sent. The TO 74 conjunction could also specify an electronic mailing list. The conjunction 58 WITH 76 describes options to be used in relation to a verb 32. For example, the instruction: EDIT THE DEBTORS BY NAME WITH COL UMNS performs an EDIT 44 command for the DEBTORS file by the debtors names and prints the results in a columnar format. Further options provided by WITH 76 also include sort, count, mean, medium, range, standard deviation, percent, spread, validate each record, no border, no display, no headers, no pause and the like.
The sort option directs the results to be sorted and particularly appliqs to the BAR 40 and the PRINT 52 verbs 32. The statistical options count, mean, medium, range, standard deviation and percent particularly apply to the ANALYSE 38 verb 32. The spread option prints the results of a verb 32 in a spread sheet format. The option validate each record is used in relation to CULL 41 and DELETE 42 and asks a user if the present data is to be deleted or not before allowing the data to be erased from the memory means 16. The options no border, no display, no headers, and no pause all relate to outputting of data to a video display unit or printer.
Where a verb 32 is defined with less than all of its valid conjunctions 58 default arguments are provided for those conjunctions 58 not specified in the command instructions. For example, if the AT 70 conjunction 58 is not used for a verb 32 the instruction is assigned a default AT 70 destination which may be 1,1,24,80 (that is the entire video display unit screen).
The commands also comprise a plurality of pseudo verbs. The pseudo verbs provide commands that are used in relation to the apparatus and process of the present invention. The pseudo verbs comprise a RUN command which directs the instruction means to execute a specified store of instructions such as a plurality of instructions in the second storage means. RUN assumes that the store of instructions are stored in accordance with the apparatus and process of the present invention and set out as described in co-filed Australian Complete Specification No. entitled Data Processing System. For example, the instruction given by a user: RUN ALFRED commands the command instruction means to execute the store of instructions called ALFRED in accordance with the instruction means.
RUN may be conditioned by the conjunctions 58 IF 66 and WHEN 72. Where the store of instructions has a name that is not a verb 32 or a pseudo verb execution may be initiated by entering only thename. For example, ALFRED may be executed by entering ALFRED into a keyboard of the I/O means 18, whereas a store of instructions called EDIT would need to be executed by entering RUN EDIT. RUN directs the operating system 22 to interface the instruction means and the command instruction means with the remainder of the apparatus 10 to execute the indicated instructions of the second storage means. The pseudo verbs also comprise a command to allow use of commands of the operating system 22 under the control of the command instruction means.
For example, where the operating system incorporates the UNIX operating system a user may provide the pseudo verb UNIX followed by a UNIX command which is required for use with an instruction means.
The pseudo verbs also comprise a CD command to change control of the apparatus from one directory in the memory means 16 to an alternative directory under the operating system 22. The CD command may not be subject to any of the conjunctions.
The pseudo verbs also comprise a DO command which provides facility to execute an arithmatic function or a macro and store the results thereof. The DO command may be conditioned by the IF 66, the WHEN 72, the AT 70 and the WITH 76 conjunctions.
In Figures 3 and 4 there is shown a flow chart for the process of the present invention comprising operational blocks having reference numerals 100 to 148. Execution through the flow chart is under direction of the instructions means.
The operational block 100 directs the operating system 22 to initialise the apparatus 10 to provide interfacing for the instruction means and the command instruction means.
The block 100 also loads into the memory means 16 the verbs 32 and conjunctions 58.
The block 100 also allows an operator to enter in the verbs 32 and the conjunctions 58 into the memory means 16 manually. Thus, the verbs 32 and conjunctions 58 may be tailored for the user's purposes.
For example, a non-English speaking user may redefine the verbs 32 and the conjunctions 58 in his native language as desired.
Once initialisation is complete the block 102 checks to determine in what manner the process of the present invention is being used. If the process is being used as as a subroutine, control is passed to the block 104.
The block 104 loads, into the memory means 16, parameters and arguments with which the subroutine call is made. If the process is not being used as a subroutine, control is passed from the block 102 to the block 106. The block 106 allows instructions comprising verbs 32 and conjunctions 58 and parameter components to be entered into the memory means 16 from the I/O means 18 along the system bus 14 under control of the bus controller 20 and the CPU 12.
The format of the instructions is as described hereinabove and the layout of the instructions is as described in co-pending patent application entitled Data Processing System.
The block 106 preferably allows verbs 32 to be compounded so that where one or more consecutive instructions at the same level of nesting within the same nest of instructions (as described in co-filed Australian complete specification No. ) relate to identical conjunctions 58 and parameter components, the verbs 32 may be compounded by the user into one instruction. For example, the instructions: MENU THE DEBTORS BY NAME LINE THE DEBTORS BY NAME PRINT THE DEBTORS BY NAME may be compounded by the user to: MENU, LINE, PRINT THE DEBTORS BY NAME.
The instructions would be compounded by a user of the system before entering them into the I/O means 18.
The instructions entered into the memory means 16 via the blocks 104 and 106 represent a table of instructions conveniently referred to as a text table.
The block 108 operates on the text table to expand the compound instructions and create a corresponding expanded text table. If no compounded instructions exist the block 108 directs the apparatus 10 to perform no operation on the text table.
As described in co-filed Australian complete specification No. the expanded text table may comprise indents which define nested and nesting instructions (which are referred to as verblines). A verbline nests a following verbline if the following verbline is in dented by one or more spaces to the right compared to the beginning of the nesting verbline.
The portion of the flow chart of the present invention shown in Figure 4 interprets the contents of the expanded text table and directs the apparatus 10 to create a table of pointers conveniently referred to as a token table.
The token table comprises a plurality of pointers assigned to each verbline of the expanded text table. The pointers represent the location and characteristics of the verbs 32, conjunctions 58 and the parameter components of the verbline.
The block 110 directs the apparatus 10 to interpret the number of spaces that a verbline is indented and enters a corresponding number in the token table (as described in our cofiled Australian Complete Specification No.
entitled Date Processing Apparatus).
The block 112 directs the apparatus 10 to determine what conjunctions 58 have been used in a verbline. The block 112 also directs the apparatus 10 to check that the parameter components used are valid and that they do exist. If an invalid parameter component is detected the block 112 directs the apparatus 10 to give an error message accordingly.
Once the arguments of the conjunctions 58 have been validated the apparatus 10 stores, in the token table in the memory means 16, a further corresponding set of pointers.
The biock 114 determines a set of pointers for each verbline relating the location of a current verbline compared to surrounding verblines. There are 4 such pointers which are conveniently referred to as IN, FORWARD, OUT and BACK. These pointers are described in co-filed Australian Complete Specification No. entitled Data Processing Apparatus.
The block 116 determines what verb 32 is provided in a current verbline and stores a corresponding entry in the token table. The blocks 118 to 134 interpret the parameter component of each of the conjunctions 58 and enter corresponding pointers in the token table. The blocks 118 to 134 respectively interpret the THE 60, the BY 62, the FOR 64, the IF 66, the USING 68, the AT 70, the WHEN 72, the TO 74 and the WITH 76 conjunction.
For example, for the instruction: EDIT THE DEBTORS the block 118 determines the actual file name that DEBTORS refers to. Then the block 118 checks a directory of all files associated with the DEBTORS file and sets a pointer to a file called a schema file associated with the DEBTORS file as described hereinafter. The pointer is entered into the token table for the current verbline. The schema file provides definitions for all records held in a corresponding data file. That is, the records of a data file are defined by a definition file called a schema file which is otherwise independent of the data file.
Where the process is entered via the block 104 the blocks 110 to 134 interpret the entire expanded text table in a single pass and create the token table.
Where the process is entered via the block 106 the blocks 110 to 134 interpret a single verbline and create pointers corresponding to that verbline and store the pointers in the token table in the memory means 16. If any errors are detected by the block 140 an appropriate error message is sent to the user's terminal under control of the block 142.
If no errors are detected by the blocks 110 to 134 the block 140 passes control to the block 144. The block 144 provides an exit path from the process where the process has entered via the block 104 as a subroutine to a further process. Exit from the process may occur at the block 146.
The block 146 cleans up all temporary data, temporary files, and the like before exit is effected.
When the pointers have been entered into the token table the block 147 directs the CPU 12 and operating system 22 to execute the verbline created by block 108. Where a single verbline was executed by the block 137 the block 148 allows entry of a further verbline.
The block 148 also provides a path of control for the apparatus 10 and process of the present invention to expand the new verbline via the block 108. The interpretation and execution proceeds as described hereinabove.
Where the blocks 110 to 134 detect errors the block 140 directs control to the block 142. The block 142 generates a suitable error message to be displayed to the user. The block 142 then passes control on to block 148 which prompts the user to correct the error. In Figure 5 there is shown an example of an arrangement of files in accordance with a further aspect of the present invention. This arrangement of files is required to enable the apparatus and process of the present invention to store and retrieve data therefrom. Traditionally, data files have been structured as shown in region 150 of Figure 5. In the traditional arrangement of data files a JOB 150a such as JOB 1, comprises a plurality of data files. The data files include a directory file 150b, data files 150c, and index files 150d all stored in the memory means 16.The index files 150d correspond to the directory files 150b and the data files 150c.
The directory file 150b comprises a list of all files associated with the JOB 150a. The contents of the directory are updated by the operating system 22 whenever files of the JOB are deleted or new files created and the CULL 41 command executed.
The data files 150c comprise data associated with the JOB 150a. For example, JOB 1 may comprise data files called DEBTORS, IN VOICES and DATES.
The index files 150d provide cross reference lists for the data files. The cross reference lists aid in storage and retrieval of data.
An index file 150d called DEBTORS. NAME provides a cross reference for the file called DEBTORS by the debtor's name. So a user of the system of the present invention may access data from a data file 150c by the order of one or more of a plurality of fields of the file defined by the index files 150d. That is, data may be added to or removed from the DEBTORS file by specifying the debtor's name. Once the debtor's name is specified the corresponding index file DEBTORS. NAME provides the cross reference necessary to locate the debtor's particulars from the DEBTORS file.
The remaining index files 150d may be IN VOICES.NO., INVOICES.AMOUNT & DATES. NAME.
The present invention requires further arrangements of files comprising first data definition files 152a for the data files 150c of the JOB 150a. For example, in Figure 5 the first data definition files 152a shown in region 152 are DEBTORS, INVOICES and DATES corresponding to the data files 150c.
Each of the definition files 1 52a comprise a directory file 152b, data files 1 52c and index files 152d.
The names of the data files 1 52c within the definition files 152a are identical for each definition file. That is, all the definition files 152a preferably comprise the same files names.
For the definition file 152a called DEBTORS a directory file 152b called FILES give a directory of all the files for that definition file as described hereinabove. The data definition files 152a comprise data files 152e called SCHEMA, MASTER, FORMS and INDEXES.
These data files 1 52c contain data defining the format and characteristics of data in the data files 150c.
The data file 1 52c called SCHEMA defines the format and characteristics of data stored in the data file 150c called DEBTORS in the JOB 150. That is, the DEBTORS data file 150c in JOB 1 has a data format specified by the SCHEMA data file 1 52c of the definition file 152e called DEBTORS. So, in use, data may be accessed from the data file 150c DEBTORS and the format and characteristics of that data is specified by the SCHEMA data file 152c of the definition file 150a DEBTORS.
That is, the user of the system can access data from the data files 150c without the need to know the format of that data. When the conjunction 58 THE 60 is used a SCHEMA file corresponding to the argument of THE 60 defines the structure of that file. For example, in the instructions: EDIT THE DEBTORS used in the process of the present invention for JOB 1, the format of data in the data file 150c DEBTORS in JOB 1 is specified by the SCHEMA data file 1 52c in the definition file 152a called DEBTORS. Similarly, the data file 1 52c called MASTER specifies the names of forms that are to be used in relation to data in the data files 150c.
The forms are defined by the data file 1 52c called FORMS. When the conjunction 58 US ING 68 appears in a verbline, as described hereinabove, the MASTER or FORMS data file 1 52c from the data definition files 152a define the FORMS to be used by the apparatus 10.
For example, in the instruction: EDIT THE DEBTORS USING TRIAL BALANCE used for JOB 1, the form TRIAL BALANCE would be defined in the FORMS data file 152e and listed in the MASTER data file 1 52c of the definition files in the memory means 16.
The data file 152c called INDEXES is provided to define an index of index files 152d for the data file 152c.
Each of the data files 1 52c of the definition files 152a has a corresponding index file 152d. The data files 1 52c would have index files 152d called FILES.INDEX, SCHEMA.IN DEX, MASTER.INDEX, FORIV#S.lNDEX and IN DEXES. INDEX. The index files 152d provide a cross reference to data within the data files 152c.
The INDEXES file 1 52c in the definition files 152a defines the nature of data in index files 150d of a JOB and is required by a BY 62 conjunction 58. For example, the instruction: EDIT THE DEBTORS BY NAME used for JOB 1, the index file 152d DEBTORS.NAME is defined by data file 1 52c INDEXES in the DEBTORS definition file 152a.
The files in the region 150 constitute raw data and indexes.
The files in the region 152 are themselves data and indexes. Furthermore, the files in the region 152 treat the files of the region 150 as data. That is the files in the region 152 define the data in the region 150.
There exists one first data definition file 152a for each data file 150c.
The files of the region 152 are further treated as data by the files of region 154.
The region 154 comprises second data definition files 154a for the definition files of the region 152.
The second data definition files 154a comprise the same file types as the first definition files 152a. The second definition files 154a correspond to the data files 1 52c of the first data definition files 152a.
The second data definition files 154a com prise a directory file 154b called FILES, data files 154c called SCHEMA, MASTER, FORMS and INDEXES and corresponding index files 154d as described hereinabove for the first data definition files 152a.
The data file 1 54c SCHEMA comprises a SCHEMA file which specifies the data format for SCHEMA files in the first data definition files 152a which in turn specify the data format for raw data files within the JOB 150a.
Thus, there is a recursive nature for files structure. The recursive nature of files structure provides a means whereby definition of data in a data file (such as format definitions) may be readily described by specifying the first data definition files 152a or second data definition file 154a, as the case may be, with the same name as the data file 150c.
In the process of the present invention operations executed by the apparatus 10 on a data file of a JOB under direction of the instruction means are automatically directed to seek the corresponding definition file to obtain the definitions for the data stored in the data file. Thus, a user of the apparatus and process of the present invention can access and process data from the data files without needing to specify the format or characteristics of the data.
The third storage means of the memory means 16 comprises a raw data storage means containing the raw data files 150a, a first data definition means containing the first data definition files 152a and a second data definition means contains the second data definition files 154a.
The second data definition means provides definition for the second data definition files 154a. The definition of the data in the second data definition files 154a also has a pre-determined format provided by the instruction means. It is intended that the second data definition files 154a not be altered by a user of the system.
The first data definition files 152a are created by a user of the system in accordance with the second data definition files 154a and the instruction means.
The first data definition files 152a are created by first generating the directory file 152b called FILES representative of the files stored in the definition files 152. Next, the data files 152e called SCHEMA, MASTER, FORMS and INDEXES are created respectively containing data representative of definitions of the characteristics of the data files, formats in which the data in the data files may be displayed and index of indexes available for the data files 152b. Although the present invention has been described with reference to two recursive arrangements of definition files it is to be understood that more or less recursive arrangements could be used.
In our co-filed British Patent Application No.
entitled Data Processing System (Agents ref: HL 30586), there is described and claimed, a data processing system for data storage and data retrieval comprising a central processing unit, a memory means, an input/output means and an operating system linked by a system bus under control of a bus controller, the memory means having a first storage means containing a plurality of instructions for use in an instruction means to direct operation of the data processing system and a second storage means provided with, in use, a plurality of instructions for use in a command instruction means, the operating system providing interface for the instruction means and the command instruction means to the remainder of the data processing system, the command instruction means for controlling the data processing system under direction of the instructions means, the instruction means generating and assigning pointers for each of the instructions in command instruction means, the pointers representative of the location of preceding and succeeding instructions wherein the pointers comprise a first pointer representative of the location of a succeeding instruction which is nested in the current instruction, a second pointer representative of the location of a succeeding instruction which is at a level of nesting the same as and within a nest of instructions the same as the current instruction, a third pointer representative of the location of a preceding instruction which nests the current instruction and a fourth pointer representative of the location of a preceding instruction which is at a level of nesting the same as and within a nest of instruction the same as the current instruction, the system being manually controllable by a manual control means and/or automatically controllable by an automatic control means.
The entire disclosure of this co-filed application is to be considered as being imported into the present specification. Modifications and variations such as would be apparent to a skilled addressee are deemed within the scope of the present invention. For example, the verbs 32, conjunction 58 and files could be referred to by words other than these stated hereinabove, for example SCHEMA files could be referred to as CONTENT files, MASTER files as FORM files and FORM files as LAY OUT files. Also, further verbs 32 could be used, for example EXTEND, CHANGE and READ verbs 32 similar to the ADP36, EDIT 44 and PRINT 52 verbs 32 but not producing an output to the I/O means 18. Also, further conjunction 58 could be used, for example FROM and THEN conjunctions to condition the verbs 32 with a source and to provide a conditional response, respectively.
Further, verbs 32 providing graphical type functions could be used. Still further, verbs 32 providing program evaluation and review techniques (PERT) such as for project planning could be used.
Still further, the apparatus 10 could be adapted to contain a store of data in the third storage means corresponding to frequently used information such as text used in standard type letters, which data could be defined by one of the FORMS data files 1 52c to be output in a format similar to a conventional letter.

Claims (17)

1. A data processing system for data storage and data retrieval characterised in that it comprises a system bus, a bus controller, a memory means, an operating system, a central processing unit (CPU) and an input/output means, the system bus being arranged to provide electrical communication between the components of the apparatus subject to the bus controller and subject to the operating system, the memory means comprising a first storage means containing a plurality of instructions for use in an instruction means to direct operation of the data processing system and a second storage means containing, in use, a plurality of command instructions for use in a command instruction means to control operation of the data processing system, the operating system providing an interface between the instruction means and the command instruction means and the remainder of the data processing system, the command instruction means controlling the data processing system under direction of the instruction means, and the input/ output means being for input of data into the apparatus and output of data from the apparatus, the command instructions comprising command components and connection components, each of the command components and each of the connection components having one or more parameter components, the command components controlling operation of the apparatus subject to one or more parameter components related by one or more of the connection components such that the structure of the command instruction is independent of the order of the parameter components and their corresponding connection components.
2. A data storage system according to claim 1, characterised in that the instruction means, in use, generates and stores in the memory means a pointer for each of the command components, the connection components and the parameter components in a command instruction for use in the command instruction means, the pointers representative of the characteristics and location of the command components, the connection components and the parameter components, the instruction means then executing the components in a pre-determined order.
3. A process for the control of a data processing system in relation to data storage and data retrieval, characterised in that it comprises a user entering a plurality of command instructions into a second storage means for use in a command instruction means, introducing a plurality of instructions into a first storage means for use in an instruction means and interfacing the command instruction means and the instruction means with the data processing system by introducing an operating system the command instructions comprising command components and connection components, each of the command components and each of the connection components having one or more corresponding parameter components, the command components controlling operation of the data processing system subject to one or more of the parameter components related by one or more of the connection components such that the structure of the command instruction is independent of the order of the parameter components and their corresponding connection components.
4. A process according to claim 3, characterised in that the instruction means generates and stores a pointer for each of the command components, the connection components and the parameter components in a command instruction, the pointers representative of the characteristics and location of the command components, the connection components and the parameter components, the instruction means then executing the components in a pre-determined order.
5. A data processing system for data storage and data retrieval characterised in that it comprises a system bus, a bus controller, a memory means, an operating system, a central processing unit (CPU), and an input/output means, the system bus being arranged to provide electrical communication between the components of the apparatus subject to the bus controller and subject to the operating system, the memory means comprising a first storage containing a plurality of instructions for use in an instruction means to direct operation of the data processing system and a second storage means containing, in use, a plurality of command instructions for use in an instruction means to control operation of the data processing system, the operating system providing an interface between the instruction means and the command instruction means and the remainder of the system, the command instruction means controlling the data processing system under direction of the instruction means, and the input/output means being for input of data into the apparatus and output of data from the apparatus, the memory means also comprising a third storage means containing a plurality of data storage means, the data storage means including raw data storage means, first data definition storage means and second data definition storage means.
6. A data processing apparatus according to claim 5, characterised in that the raw data storage means, first data definition storage means and the second definition data storage means each comprise a plurality of data files and index files, the index files providing indexes for data in the data files, the first definition data storage means providing means to define the characteristics of raw data in the raw data storage means, the second data definition storage means providing means to define the characteristics of data in the first data definition storage means and means to define its own data, wherein the data in the raw data storage means, the first data definition storage means and the second data definition storage means are substantially independent.
7. A data processing apparatus according to claim 6. characterised in that means is provided such that, in use, the command instruction means can be informed of the definition of data in one of the data storage means by the data storage means that defines such data.
8. A data processing system according to any one of claims 5 to 7, characterised in that the first data definition storage means and the second data definition storage means provide means to store data in a pre-determined format,the second data definition storage means being predefined and generated by the instruction means and the first data definition storage means containing data files and index files entered by a user and/or generated by the instruction means to define data in the raw data storage means.
9. A data processing system according to any one of claims 5 to 8, characterised in that there is provided means to generate and store data in the first data definition storage means in accordance with the definitions provided by the second data definition storage means.
10. A data processing system according to claim 6, characterised in that the first data definition storage means and the second data definition storage means comprise means to represent all stores of data therein, means to represent indexes to the stores of data, means to define the characteristics of the stores of data and means to represent formats in which the data may be displayed at the input/ output device.
11. A process for the control of a data processing system in relation to data storage and data retrieval, characterised in that it comprises creating a plurality of raw data files containing raw data in a raw data storage means of a data storage means in a third storage means of a memory means of the data processing system, creating a plurality of first data definition files containing data providing first data definitions in a first data definition storage means of the memory means and creating a plurality of second data definition files containing data providing second data definitions in a second data definition storage means, the raw data in the raw definition storage means having characteristics defined by the first data storage means, the data in the first data definition storage means having characteristics defined by the second data definition storage means, the data in the second data definition storage means having characteristics defined by itself, wherein the raw data in the raw data storage means, the data in the first data definition storage means and the data in the second data definition storage means are substantially independent.
12. A process according to claim 11, characterised in that it comprises informing the definition of data in one of the data storage means by interrogating the data storage means that defines such data.
13. A process according to claim 11 or 12, characterised in that it comprises pre-definition and generation of second data definition files in the second data definition means by the instruction means, and directing a user of the data processing system to create the first data definition files in the first data definition storage means and/or directing the plurality of instructions to create the first data definition files.
14. A process according to claim 13, characterised in that it comprises generating and storing data in the first data definition storage means in accordance with the definitions provided by the second data definition storage means.
15. A process according to claim 14, characterised in that it comprises generating, for the first data definition storage means and the second data definition storage means, a file of data representative of the data files stored therein, a file of data representative of indexes to the data files stored therein, a file of data to define the characteristics of the data files stored therein and means to represent formats in which the data in the data files may be displayed at an input device of the data processing means.
16. A data processing system and a process for the control thereof substantially as hereinbefore described with reference to Figures 1 to 4 of the accompanying drawings.
17. A data processing system and a process for the control thereof substantially as hereinbefore described with reference to Figures 1 and 5 of the accompanying drawings.
GB08517426A 1984-11-02 1985-07-10 Data processing system Withdrawn GB2166572A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AUPG796584 1984-11-02

Publications (2)

Publication Number Publication Date
GB8517426D0 GB8517426D0 (en) 1985-08-14
GB2166572A true GB2166572A (en) 1986-05-08

Family

ID=3770825

Family Applications (1)

Application Number Title Priority Date Filing Date
GB08517426A Withdrawn GB2166572A (en) 1984-11-02 1985-07-10 Data processing system

Country Status (15)

Country Link
JP (1) JPS61115132A (en)
KR (1) KR860004364A (en)
BE (1) BE903559A (en)
BR (1) BR8505472A (en)
DE (1) DE3526721A1 (en)
DK (1) DK504085A (en)
FI (1) FI854296A (en)
FR (1) FR2572818A1 (en)
GB (1) GB2166572A (en)
IL (1) IL76792A0 (en)
IT (1) IT1200818B (en)
NL (1) NL8502999A (en)
NO (1) NO854374L (en)
SE (1) SE8505154L (en)
ZA (1) ZA858202B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0097258A2 (en) * 1982-06-21 1984-01-04 International Business Machines Corporation Computing apparatus and method for operating the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0097258A2 (en) * 1982-06-21 1984-01-04 International Business Machines Corporation Computing apparatus and method for operating the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C.J.DATE, }AN INTRODUCTION TO DATABASE SYSTEMS}, THIRD EDITION (1981) ADDISON WESLEY, ESP.PP 73-78; 117-140; 203-214 *

Also Published As

Publication number Publication date
FR2572818A1 (en) 1986-05-09
IT8522688A0 (en) 1985-10-31
IT1200818B (en) 1989-01-27
IL76792A0 (en) 1986-02-28
ZA858202B (en) 1986-07-30
DK504085A (en) 1986-05-03
SE8505154D0 (en) 1985-10-31
FI854296A (en) 1986-05-03
FI854296A0 (en) 1985-11-01
DE3526721A1 (en) 1986-05-07
NO854374L (en) 1986-05-05
KR860004364A (en) 1986-06-20
JPS61115132A (en) 1986-06-02
NL8502999A (en) 1986-06-02
DK504085D0 (en) 1985-11-01
GB8517426D0 (en) 1985-08-14
SE8505154L (en) 1986-05-03
BR8505472A (en) 1986-08-05
BE903559A (en) 1986-04-30

Similar Documents

Publication Publication Date Title
EP0211151B1 (en) Procedure for controlling the order of editing cells in a spreadsheet
US6964010B1 (en) Formatted-item list control
US6279006B1 (en) Structured data management system and computer-readable recording medium storing structured data management program
US5450545A (en) Generation of rules-based computer programs using data entry screens
JP3136035B2 (en) Automatic layout generator for database system interface and method for generating the same
US5630126A (en) Systems and methods for integrating computations into compound documents
US6341359B1 (en) Self-diagnosing and self correcting data entry components
JP2004272919A (en) System and method for defining process structure for task execution
JP3181994B2 (en) How to automatically create job flow specifications
WO1999004346A1 (en) Method and apparatus for enforcement of behavior of application processing systems without modifying application processing systems
US9507606B2 (en) Dynamic creation of object classes
JP3606484B2 (en) Database device
EP0056886A1 (en) Data processing system with an interactive display
GB2166572A (en) Data processing system
Demers System design for usability
JP2798118B2 (en) Database query statement creation device
JP2525936B2 (en) Paperwork method
US20060168560A1 (en) Report generating systems and methods
JPH0833834B2 (en) Display panel generation method
Heyne et al. Design techniques for a user controlled DB/DC system
WO1990004227A1 (en) Software manufacturing system
JP2692196B2 (en) Test data editing method
JP3305858B2 (en) Automatic figure creation device and automatic figure creation method
US20050216915A1 (en) Method of ranking messages generated in a computer system
WO2006080913A1 (en) Report generating systems and methods

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)