WO2005055103A1 - Control of processes - Google Patents
Control of processes Download PDFInfo
- Publication number
- WO2005055103A1 WO2005055103A1 PCT/IE2004/000166 IE2004000166W WO2005055103A1 WO 2005055103 A1 WO2005055103 A1 WO 2005055103A1 IE 2004000166 W IE2004000166 W IE 2004000166W WO 2005055103 A1 WO2005055103 A1 WO 2005055103A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- processor
- server
- program
- active sequence
- sequence program
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/12—Symbolic schematics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Definitions
- the invention relates to control of processes carried out by humans. Such processes include, for example, procedures in spacecraft or aircraft, or alternatively more mundane but important procedures for cleaning/hygiene in restaurants or hotels.
- Fig. A shows a simple task graph that a person would use to perform a process task.
- the different shapes within the task graph define semantic meanings. For example, a rectangle represents an instruction which must be performed and a diamond shape represents a decision step which can have multiple answers. The different outcomes in a decision instruction are defined by the answers on the lines coming out of the decision step and these define the appropriate pathway to follow.
- task graphs for performing complex processes has several disadvantages for an end user.
- a complex process can have a very large task chart associated with it which if printed can run to multiple pages.
- manual cross referencing of appropriate instruction tasks on a printed task graph can be very cumbersome.
- Another problem is that a user has to view the complete process with all possible decisions. Also, viewing an electronic version of a task chart on portable computer equipment is awkward and slow.
- the invention addresses this problem.
- a method for process control comprising: an interpretation function receiving a description of a process and interpreting the process description to generate an active sequence program, said active sequence program comprising stored process flow data and analysis program code; and a run-time processor executing the active sequence program code to analyse said data and generate a sequence of instructions to advance the process to completion in which a current instruction is automatically indicated.
- the process description is a flow chart.
- the process description is converted to mark-up language format, and the mark-up language is processed to provide the active sequence program.
- the interpretation function processes the mark-up language to provide a document object model (DOM) representation of the process description.
- the interpretation function processes each node of the document object model to determine if it relates to an instruction step, to a decision step or to a link between steps.
- the interpretation function generates process flow data in the form of an adjacency matrix defining links between the steps.
- the interpretation function extracts text from each node representing an instruction step or a decision step and saves the text strings in an addressable text record set.
- the interpretation function saves the adjacency matrix, the text record set and pre-configured blocks of analysis, feedback, and transform program code to provide the active sequence program.
- the text records are an array of HTML strings.
- the strings are labelled according to a number for the step.
- the interpretation function generates the active sequence program in a format suitable for download to the processor via a wide area network, and the method comprises the further step of downloading it to a remote processor via the wide area network.
- the interpretation function operates in real time in response to a request from a remote client device and it generates the active sequence program to be suitable to execute on the processor of the requesting client device.
- the active sequence program is wrapped in a HTML page having a body element with a reference to an initialisation script for initialisation of the program on the processor.
- the processor executes the active sequence program to: display text for a current step; display a feedback prompt for a user to either indicate performance of the step if it is an instruction step, or an answer if it is a decision step; and receive feedback and automatically determine a next step and display text for the next step.
- the processor automatically time stamps each feedback input from a user.
- the processor automatically uploads the user feedback and time stamp to a remote server.
- the server is the same server as that which executes the interpretation function.
- the server maintains a monitoring log of performance of process steps with real-time time stamps.
- the processor can be switched to a free mode in which steps can be skipped for training purposes.
- a transform code block of the active sequence program receives a batch of analysed data from an analysis code block, and determines a current step according to inputs from a feedback code block.
- the transform code uses style sheets to change display characteristics.
- the processor dynamically determines according to the process flow data the maximum number of instructions which can be displayed. In one embodiment, if the processor receives an interrupt before it records performance of a final step of the process, it automatically saves a process status data set and uploads said data set to a server.
- the process status data set is passed to a method within a hidden applet, and the hidden applet opens a URL connection and encodes and transmits the status data to a servlet on the server.
- the processor automatically checks with a server for existence of a relevant process status set when it receives a request to activate a process.
- a server whenever programmed to generate an active sequence program in a method as described above.
- a computer program product comprising software code for performing the steps of a method as described above when executing on a digital processor.
- Fig. 1 is a diagram illustrating a control system of the invention
- Fig. 2 is a flow diagram illustrating both initialisation and run-time operations of the system; and Fig. 3 is a screen display for an active sequence generated by the system.
- a server 1 generates an active sequence program 10 from a received flow diagram, and downloads it via the internet 2 to a mobile device 3 for execution. As steps are perfonned at the user end, the device 3 automatically uploads a log verification to the server 1. The server 1 therefore performs real time process monitoring.
- the active sequence program 10 comprises an adjacency matrix 11, a text record set 12, analysis code 13, feedback code 14, transform code 15, and update log code 16.
- the program 10 is generated by the server 1 and is downloaded to the mobile device 3 of a person who is to carry out a process.
- the program 10 executes on the mobile device 3 and generates an active sequence 20 of instruction and decision steps. These are described in more detail below.
- the user may use any suitable computing device. As steps are perfonned the user indicates this by feedback on the device 3, which automatically transmits an upload to the server 1 on a step-by-step basis for saving in a process control database 17.
- the server 1 executes a process involving editing of a flow diagram in any suitable flow chart application such as Microsoft VisioTM using an editor 25.
- An interpretation function 27 executes to generate the program 10.
- the initialisation mode may involve editing a word processor document and the interpretation function 27 processing it to generate the program 10.
- the program 10 is then stored in a store 28 for download in response to an uploaded request from a mobile device.
- the editor 25 defines the process by connecting graphical elements with connectors which route through basic shapes.
- the connectors are used to define the flow through a process and the pathways that are available within a process.
- the connectors can either be pathways that must be followed or they can be conditional based on information supplied with the connector such as Yes/No, True/False or answers to multiple choice questions.
- Conditional connectors are connected to a decision step within a process flow diagram. On completion, there is a graphical flow chart representation of a process as shown in Fig. A.
- the program 10 comprises four main blocks of code, namely the analysis code 13, the feedback code 14, the transform code 15, and the upload log code 16. These are essentially common across multiple programs 10. However the interpretation function 27 generates from the received flow diagram the adjacency matrix 11, defining links between the instruction and decision steps of the received flow chart. It also extracts text from the instructions and decisions of the received flow chart to provide the text records 12. Thus, each active sequence program 10 comprises common code blocks 13, 14, 15, and 16, and a specific adjacency matrix 11 and text record set 12.
- the active sequence corresponding to the edited flow chart of Fig. A is represented as a sequence of instructions. Each instruction has a check box for user feedback. Each decision step of the flow chart is represented by a question and a drop-down list of options. The underlying code 13, 14, and 15 generates the dropdown list options, and acts upon selection of an option to activate selected ones of the remaining steps. Activation of a subsequent step is achieved by simply activating its check box.
- the interpretation function 27 converts passive flow diagram elements into active check boxes, text, drop-down lists and underlying code to activate subsequent steps.
- the complexity of the flow branching is transparent to the user, who is only required to respond to a current step.
- the user in run-time contributes dynamically to the selection of current step, although he or she does not appreciate this.
- step 35 the sequence is outputted in step 35, and feedback is received in step 36.
- This feedback (checking of boxes and choice of drop-down list options) both allows the system to dynamically modify the down-stream steps, and to record and upload process status.
- Step 37 involves verifying the feedback and the code 16 uploading it to the server 1.
- Step 18 involves modifying the downstream steps.
- the program 10 in runtime verifies, records, and modifies repeatedly until the process is complete. When complete, the program 10 terminates, and the server 1 has recorded a log of all process steps with real-time time stamps.
- the function 27 is activated by being passed a pointer to an XML document for a flow chart. It then parses the XML document to generate a document object model (DOM) representation of the flow diagram.
- the DOM has a hierarchy of nodes, each of which is tagged.
- the function 27 then traverses the nodes and, according to the tags of the nodes allocates each node to an instruction step, a decision step, or a link. It uses these allocations to generate the adjacency matrix 11, and for the nodes corresponding to decision or instruction steps it saves the text to the text record set 12.
- the function 27 couples the matrix 11 and the text records 12 with the program code blocks 13, 14, 15, and 16 to provide the complete active sequence program 10, in executable Java Script format.
- the two dimensional adjacency matrix 11 represents connectivity information between each instruction within the task chart.
- the records 12 are an array of strings containing the HTML which represents each instruction within the procedure.
- Each instruction is represented by a HTML ⁇ TABLE> where the name attribute of a table is a unique value (i) which represents that it is the i th instruction in the XML document.
- the HTML represents decision steps graphically with a drop-down list component. The list contains the text associated with each line coming out of the decision step. Each piece of HTML also contains a check box element which is used to verify the step.
- the program 10 also comprises String Variables initialised to general metadata information about the instruction chart such as process title, process purpose and author.
- the analysis code 13 interprets the adjacency matrix 11 and the transform code 15 displays the appropriate instructions in a sequential manner within a HTML document.
- the transform code 15 receives inputs from the feedback code 14 to maintain the 'current' step of the process.
- the analysis code 13 generates process data in a batch from analysis of the matrix 11 and text records 12, and passes the batch to the transform code 15.
- the transform code 13 includes functions to store the pathway within the task graph chosen by the user during execution.
- the code 16 logs execution information back to the web server and functions to interpret and restore the state of an executing procedure to the state a procedure was previously left at.
- the generated program 10 is wrapped within a HTML page which has an empty ⁇ BODY> element.
- This BODY element has a reference to an initialisation JavaScript method via an onLoad method, for interpretation and display of the task when the page is completely loaded on the client's browser.
- the created HTML page is streamed back from the web server to the web browser (step 28) via the transformation Servlet.
- the Servlet will identify if there are logical inconsistencies within the procedure. For example, if a decision step doesn't have unique answers on line out connectors or if instructions exist that cannot be reached via a unique path. The user is informed of this during the transformation process, and is a useful tool for validation of the correctness within the definition of the underlying task chart.
- a user who wishes to execute a task chart launches their web browser and accesses the server 1.
- the user is presented with a login screen where they must enter a valid username/password combination to access the system.
- the username is then used for logging purposes during task execution.
- the server 1 transmits in real time the generated JavaScript program 10 to end user devices where it is executed (steps 35-40) by a standard web browser or other standard JavaScript interpreter application.
- the user device displays the task instructions as a series of sequential instructions within a standard web browser window (Fig. 3).
- the device 3 displays only the path within the task chart that the user is currently within, based on earlier decisions that they have made while executing the task. It displays as many instruction tasks in advance as are logically possible up to a future decision step.
- the user is allowed to stop and restart a procedure in the same state during a subsequent session.
- the device 3 in real time logs and transmits back to the server 1 all decisions made and the date/time of all instructions executed by the user.
- metadata information on the process is automatically interpreted and displayed by JavaScript functions of the transform code 15.
- the look of metadata information is described by style sheets which are referenced by the HTML page.
- the server 1 After displaying the task metadata, the server 1 is queried to see if state information for this procedure exists. If state information for the procedure exists this information is loaded and is used to restart the procedures and outline in the State storage section. Otherwise, the adjacency matrix 11 is analysed by the generated JavaScript routines 13 to determine the initial root instruction of the procedure. This step is marked as the current instruction within the executing procedure. The adjacency matrix 11 is then processed to determine a unique pathway up to a decision step. At a decision step no further steps can be added to the procedure without user intervention.
- the list of instruction steps that can be displayed is then transformed into a sequence of HTML code fragments, each of which represents an instruction.
- the HTML code is then dynamically inserted into the HTML DOM so that they are displayed in sequence li ⁇
- the current instruction is highlighted with a different background colour.
- a current instruction is the only instruction that the user can verify. To verify an instruction the user can either click within the check box that is contained in each instruction or use a predefined short cut to verify the current instruction.
- step 36 When an instruction is verified (step 36), the current step is advanced to the next step as determined by the unique path identified through the analysis of the adjacency matrix 11. This new current step is then highlighted.
- the device 3 require communication with the server 1 to retrieve further information about the process.
- Full information about the process is contained with the HTML page. The user can continue executing the process until an instruction is displayed which has no line connectors coming out of it within the task chart description. This represents a final instruction within the task.
- the program 10 operates by default in a forced sequence execution.
- a single instruction is defined as the current instruction. This is the only instruction that the user can execute. However, there is also a "free" mode in which steps can be skipped. This mode is mainly for training purposes.
- the mode is selected using a toggle button displayed within a separate page within a frameset.
- all previous instructions in the sequential display must be verified before the current instruction can be verified.
- a user can verify a current instruction without all previous instructions being verified. The user can change the current instruction in 'free' sequence mode by clicking on any of the procedure steps. In 'forced' sequence mode the user cannot change the current step interactively. Within both modes if the user verifies a decision instruction, the next series of appropriate instructions are displayed.
- the upload log code 16 provides for the logging of all instructions verified by the user in real time by the server 1.
- a reference to a custom applet (the code 16), developed for this process, is inserted into the HTML page. This applet is hidden from the user.
- the applet contains methods which: 1. Can be called from JavaScript functions within the page 2. Can call JavaScript functions within the page.
- the custom applet has two main categories of features. 1. Methods for logging of user instruction verification 2. Methods for storage/retrieving of procedure state information.
- a JavaScript method within the HTML page is called.
- This JavaScript method gathers information such as the username, date and time of verification, unique instruction step identifier and passes this information via a call to a method within the hidden applet.
- the applet takes this information, opens a connection to the web server and calls a URL encoding this information as parameters to the URL.
- the called URL invokes a Servlet which decodes the passed information and stores the log information within a database on the web server. This mechanism provides for real time transmission of task execution information for storage on a centralised server.
- the program 10 provides the ability to stop and restart the execution of a process by a user at a later stage. If a user exits a process before reaching a final instruction, JavaScript methods are called on exiting which creates the following information: 1. An array of all identifiers of instructions that have been displayed to the user. 2. Whether the instruction was verified or not. 3. Identifier of current instruction. 4. Username. 5. Procedure metadata
- This information is then passed to a method within a hidden applet.
- the applet opens a URL connection where the information is encoded and passed to a Servlet executing on the web server.
- the Servlet decodes the information and stores this information within an XML file on the web server.
- the file is named based on the procedure metadata and user name.
- the JavaScript methods call the hidden applet to determine if a state file for this procedure and user exist on the server.
- the applet connects via a URL to a Servlet which determines if a state file exists. If a state file exists it is interpreted and returns the state information to the applet.
- the applet in turn sends the information back to the calling JavaScript method.
- JavaScript methods are then used to extract the information and recreate the instructions within the HTML document alone with the verification state of each instruction. Finally the appropriate instruction within the procedure is made the current instruction. The process is then rendered from this point.
- the invention provides for controlled performance of processes at remote sites in a simple and convenient manner, together with real time monitoring on a step-by- step basis.
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IE2003/0907 | 2003-12-03 | ||
IE20030907 | 2003-12-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005055103A1 true WO2005055103A1 (en) | 2005-06-16 |
Family
ID=34640312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IE2004/000166 WO2005055103A1 (en) | 2003-12-03 | 2004-12-03 | Control of processes |
Country Status (2)
Country | Link |
---|---|
IE (1) | IES20040811A2 (en) |
WO (1) | WO2005055103A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987456B2 (en) | 2006-01-24 | 2011-07-26 | Microsoft Corporation | Qualitatively annotated code |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831580A (en) * | 1985-07-12 | 1989-05-16 | Nippon Electric Industry Co., Ltd. | Program generator |
US5386508A (en) * | 1990-08-24 | 1995-01-31 | Fuji Xerox Co., Ltd. | Apparatus for generating programs from inputted flowchart images |
US5640501A (en) * | 1990-10-31 | 1997-06-17 | Borland International, Inc. | Development system and methods for visually creating goal oriented electronic form applications having decision trees |
US20020165876A1 (en) * | 2001-03-02 | 2002-11-07 | Peter Enghauser | Method for specifying, executing and analyzing method sequences for recognition |
WO2003093988A1 (en) * | 2002-05-03 | 2003-11-13 | Cedar Point Communications, Inc. | Service description and development processes |
-
2004
- 2004-12-03 IE IE20040811A patent/IES20040811A2/en not_active IP Right Cessation
- 2004-12-03 WO PCT/IE2004/000166 patent/WO2005055103A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4831580A (en) * | 1985-07-12 | 1989-05-16 | Nippon Electric Industry Co., Ltd. | Program generator |
US5386508A (en) * | 1990-08-24 | 1995-01-31 | Fuji Xerox Co., Ltd. | Apparatus for generating programs from inputted flowchart images |
US5640501A (en) * | 1990-10-31 | 1997-06-17 | Borland International, Inc. | Development system and methods for visually creating goal oriented electronic form applications having decision trees |
US20020165876A1 (en) * | 2001-03-02 | 2002-11-07 | Peter Enghauser | Method for specifying, executing and analyzing method sequences for recognition |
WO2003093988A1 (en) * | 2002-05-03 | 2003-11-13 | Cedar Point Communications, Inc. | Service description and development processes |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7987456B2 (en) | 2006-01-24 | 2011-07-26 | Microsoft Corporation | Qualitatively annotated code |
Also Published As
Publication number | Publication date |
---|---|
IE20040810A1 (en) | 2006-09-06 |
IES20040811A2 (en) | 2005-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7599956B2 (en) | Reusable online survey engine | |
US6374207B1 (en) | Methods, data structures, and computer program products for representing states of interaction in automatic host access and terminal emulation using scripts | |
US6002871A (en) | Multi-user application program testing tool | |
US6694314B1 (en) | Technical support chain automation with guided self-help capability via a system-supplied search string | |
JP3635859B2 (en) | System and method for easily displaying parameters on a local display | |
US7647561B2 (en) | System, method and computer program product for application development using a visual paradigm to combine existing data and applications | |
US6615240B1 (en) | Technical support chain automation with guided self-help capability and option to escalate to live help | |
US6003047A (en) | Non-hierarchical application interface for HTML-based network storage management programs | |
US7814410B2 (en) | Initial server-side content rendering for client-script web pages | |
US7313564B2 (en) | Web-interactive software testing management method and computer system including an integrated test case authoring tool | |
US7133908B1 (en) | Metrics and status presentation system and method using persistent template-driven web objects | |
US6175864B1 (en) | Method and apparatus for storyboard scripting of application programs running on a computer system | |
CN101697156B (en) | A kind of method and system of constructing chain web pages | |
US20140122619A1 (en) | Chatbot system and method with interactive chat log | |
US20140122083A1 (en) | Chatbot system and method with contextual input and output messages | |
CN112068824A (en) | Webpage development preview method and device and electronic equipment | |
US20030020751A1 (en) | Observation display method for dynamically changing on monitor screen object information observed on computer network and observation display system using computer network | |
EP1283993A2 (en) | Method and system for building internet-based applications | |
US20030204811A1 (en) | Website system and method with dynamic maintaining function | |
US20040039720A1 (en) | Method for providing platform independent business rules | |
JPH09325906A (en) | Computer system | |
WO2005055103A1 (en) | Control of processes | |
US7814020B2 (en) | System, method and computer program product for the recording and playback of transaction macros | |
KR100446209B1 (en) | System for collecting information based on internet | |
IE84466B1 (en) | Control of processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS (EPO FORM 1205A DATED 22.08.2007) |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 04801582 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 04801582 Country of ref document: EP Kind code of ref document: A1 |