CN100495329C - Object process graph system - Google Patents

Object process graph system Download PDF

Info

Publication number
CN100495329C
CN100495329C CNB2005800265251A CN200580026525A CN100495329C CN 100495329 C CN100495329 C CN 100495329C CN B2005800265251 A CNB2005800265251 A CN B2005800265251A CN 200580026525 A CN200580026525 A CN 200580026525A CN 100495329 C CN100495329 C CN 100495329C
Authority
CN
China
Prior art keywords
data
node
graphic structure
application
interpreter
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.)
Expired - Fee Related
Application number
CNB2005800265251A
Other languages
Chinese (zh)
Other versions
CN1993675A (en
Inventor
斯蒂芬·艾伦·戈尔德
戴维·马文·贝克
弗拉迪米尔·古谢夫
梁红平
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.)
GraphLogic Inc
Original Assignee
GraphLogic Inc
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 GraphLogic Inc filed Critical GraphLogic Inc
Publication of CN1993675A publication Critical patent/CN1993675A/en
Application granted granted Critical
Publication of CN100495329C publication Critical patent/CN100495329C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Abstract

A software system is provided including an Object Process Graph for defining applications and a Dynamic Graph Interpreter that interprets Object Process Graphs. An Object Process Graph defines all of an application's manipulations and processing steps and all of the application's data. An object Process Graph is dynamic, making it possible to change any aspect of an application's data entry, processing or information display at any time. When an Object Process Graph is interpreted, it functions to accept data, process the data and produce information output. Modifications made to an Object Process Graph while it is being interpreted take affect immediately and can be saved. Objects Process Graphs and Dynamic Graph Interpreters can be deployed on single user workstation computers or on distributed processing environments where central servers store Object Process Graphs and run Dynamic Graph Interpreters, and workstation computers access the servers via the intranet or local intranets.

Description

The object Process graph system
The related application cross-index
The application requires 10/908,654 interests of the provisional application 60/577,501 of on June 5th, 2004 application and application on May 20th, 2005, and the content of the two is combined in this by reference and all.
Background of invention
Technical field
The present invention relates to SDK (Software Development Kit), it comprises programming language, CASE instrument, data base set unify interface and display language and related tool.
Background technology
Owing to the exploitation of assembly language the 1950's, computer industry has been witnessed a series of progress that increases gradually aspect software development.These progress have made software develop quickly with hand labor still less, and make the reliability that can produce more complicated software systems and improve software systems.These are progressive comprise the 3rd generation programming language such as the exploitation of COBOL and Fortran; The 4th generation programming language such as the exploitation of FOCUS; The exploitation of object oriented programming languages such as Smalltalk, C++ and Java; The exploitation of CASE instrument such as Rational Rose; The exploitation of VisualAge such as Visual Basic and Web Sphere; The exploitation of relational database system such as Oracle and DB2 and OODB Object Oriented Data Base system such as GemStone and Versant.Yet although there are these progressive, the still with high costs and excessive risk of the exploitation of big system is taken a risk, and it needs the experienced programmer of many height, and aspect the quality of final system and the applicability suitable uncertainty is always being arranged.
Realize that with present method the major limitation of software systems needed to be Demand Design detailed, that determine before the construction cycle.Realization can be easily underway and the means of the complication system revised reliably, thereby system can be suitable for the demand of these variations when the demand that changes occurs, and this will widen scope, applicability and the serviceability of computer applied algorithm greatly.
Summary of the invention
The present invention's definition and realization object Process graph system.
Be the object Process graph system on the one hand, it comprises graphic structure and graphical interpreter.Graphic structure is dynamic, oriented and round-robin, and definition application.Graphic structure has at least one data node, at least one process node and at least one Application Status node.Graphical interpreter explains that graphic structure is to handle application program.Graphic structure can be changed when graphic structure is just explained by graphical interpreter.
Be the object Process graph system on the other hand, comprise graphic structure, graphical interpreter and graphic user interface.The graphic structure definition application.Graphic structure is the composite bed figure and comprises a plurality of nodes.The interpreter interprets graphic structure is to handle application program.Graphic user interface display graphics structure on display medium is also handled, user-defined graphic change input by input equipment.Graphic structure can be changed when graphic structure is just by interpreter interprets.
Exemplary embodiment of the present invention comprises many advantages, is included in when setting up big complicated software system to reduce cost and risk.Application user and application expert can and safeguard special-purpose, complicated software system with minimum computer training exploitation.Can produce scope, dirigibility and the serviceability of application program that when operation, to make amendment to widen the software application system greatly.
Description of drawings
These and other feature of the present invention, aspect and the following description of advantages, claims and accompanying drawing will be understood better, wherein:
Fig. 1 is the computer applied algorithm based on object Process graph according to the embodiment of the invention.
Fig. 2 is the composite bed figure according to the embodiment of the invention.
Fig. 3 is the object Process graph type hierarchy according to the embodiment of the invention.
Fig. 4 is the object Process graph template data storehouse type/characteristic according to the embodiment of the invention.
Fig. 5 is the object Process graph node according to the embodiment of the invention.
Fig. 6 is the object Process graph edge type according to the embodiment of the invention.
Fig. 7 is that object Process graph process according to the embodiment of the invention is to the process type.
Fig. 8 is to data type according to the GOP database data of the embodiment of the invention.
Fig. 9 is that object Process graph process according to the embodiment of the invention is to data type.
Figure 10 is the object Process graph user object according to the embodiment of the invention.
Figure 11 is the object Process graph audit target according to the embodiment of the invention.
Figure 12 is the dynamic graph interpreter according to the embodiment of the invention.
Figure 13 is the Application Status node according to the embodiment of the invention.
Figure 14 is the dynamic graph interpreter according to the illustration that runs application of the embodiment of the invention.
Figure 15 is according to embodiment of the invention display application program state.
Figure 16 changes Application Status according to the embodiment of the invention.
Figure 17 changes Application Status process and data definition according to the embodiment of the invention.
Figure 18 changes Application Status according to the embodiment of the invention.
Figure 19 is for changing Application Status and add the data definition node according to the embodiment of the invention.
Figure 20 changes Application Status process and data definition according to the embodiment of the invention.
Embodiment
Each side of the present invention comprises object Process graph (OPG) and dynamic graph interpreter (DGI).Permanent and transient data, its processing logic and the data stream of OPG definition computer applied algorithm, the demonstration that reaches each application data item and affirmation feature.Editing system based on graphic user interface can be used for producing and revising OPG.DGI is an object-oriented systems, and the dynamic OPG of its application programs carries out access, explanation, modification and action.Explanation OPG is similar in traditional computer environment and runs application.
The embodiment of OPG can be regarded as being construed to the computerese (language that it is finished for Turing) of performed program.OPG is kept in transition and the persistent computer memory.OPG can support any data structure, and it includes but not limited to: relation table, stratification, n dimension data array, electrical form, graphical model and 3-D graphical model.These data structures are not saved and are binary large object very general in relational database system, but preserve with the special OPG structure that reflects its primitive structure and internal relations.OPG process and control structure provide permanent and temporary transient data validation, conversion and the order of demonstration and the control on opportunity in the application programs.The OPG structure is definable mathematical formulae, conventional expression (under the situation of lteral data or hybrid digital and lteral data) and complete algorithm also.
The OPG of application program can be present on terminal or static output medium such as the paper.The OPG data, process and the control structure that are presented on the interactive media can be edited.Different with traditional software development system, the OPG of editing application program does not produce the code that must compile and install.But, can change and come into force.Change even make can just make an explanation (running application) at DGI the time.The ability of the application program of safety change at any time is necessary for quick exploitation and long-time maintenance large-scale, the complex enterprise application program system.
All application program execution state information among the OPG are stored in the application state objects.DGI works to OPG by the application state information that changes its preservation.Application state information can comprise any permanent data object.DGI can work to a plurality of Application Status simultaneously, merges between the combination of application state objects or the partition status information.
OPG keeps all audit-trail information permanent and of short duration data variation in the application program with the primitive data level.Audit-trail information is easy to further upgrade in the process of application program and data stream and control through showing that control is presented on the user interface or is easy to.
For all changes of the permanent data of application program, the audit information of the variation of carrying out in the long and short affairs of definition is saved and follows the tracks of.Long affairs make system can organize, control and follow the tracks of the variation of all permanent datas.Such variation can be striden many work sessions and be taken place in the time period (several days or a few week) that prolongs.On the other hand, lacking affairs carries out as the time spent in sole user's session or with system interaction.Long and short transaction information can be used for handling in application program and showing through the graphic user interface of system immediately.Follow the tracks of long affairs and also help any point that return back to affairs, and the deletion of affairs (having audit-trail) can be auto-available through Application Program Interface.Control to the visit of all functions in user's application programs and data can be undertaken by system interface.This comprises the access right that separate (reading and writing, rollback) of each user to each primitive data item of the part that is defined as application program.
Except through the data of user interface input or change, the embodiment of system also accepts from other system, any digital format, application program process input data.
Some embodiment comprise graphic user interface.Graphic user interface can make the user can specify the form of all inputs, is analyzed automatically after it and is used for upgrading application program one and add to or revise the permanent data of database or the temporary transient data in application program or the display interface at any point of application program process.
Equally, use and above-mentioned opposite process in different embodiment, output data can produce with any form by any point (for permanent and temporary transient data) from application program.In certain embodiments, external data base such as relational database can be registered to application program, and all permanent datas in the application program can be stored in such database or from its retrieval.
That the embodiment of object Process graph ingredient of the present invention has expanded is traditional, towards the basic function of the database of Drawing Object.Embodiments of the invention synthesize single integrated system with the function of dynamic process elements with towards the database of Drawing Object, and it makes does not need traditional programming language can produce complete, complex enterprise application program apace.OPG directly and is dynamically explained, does not therefore need to produce code.Change the easiness of OPG and the feedback immediately that changes has been simplified greatly based on the application program of preserving and change OPG.
Embodiments of the invention comprise two ingredients (Fig. 1): dynamically, composite bed object Process graph (OPG) 3 and dynamic graph interpreter (DGI) 2.OPG3 defines fully and represents application program.DGI2 is with the OPG3 of application program translation and be interpreted as application program and moved.The interface 1 of application program interacts with DGI2, upgrades permanent data that is kept among the OPG3 or the temporary transient data of being controlled by OPG3 when application program is moved.
Object Process graph
In exemplary embodiment of the present invention, OPG3 is configured to composite bed figure (Fig. 2), has two kinds of node types-synthetic and primitive.Dark node-8,9 among Fig. 2,10 and 12-can't help other node and form, therefore belong to node type primitive.In these figure not the node of filling to belong to the node type synthetic.OPG composite bed figure comprises one group of digraph and one group of tree.Each node in the figure belongs to digraph and tree.Digraph under each node defines the relation of other interior node of its and this figure.Tree under the node defines the synthetic level under it.Node can belong to a plurality of digraphs and a plurality of synthetic level.For example, the node among Fig. 29,10,11 and 12 belongs to digraph 7.Node 9,10,11 and 12 also belongs to the synthetic level identical with node 6, and node 6 belongs to digraph 5.Node 6 is the parent of node 9,10,11 and 12 in synthetic hierarchical tree.It should be noted that composite bed figure described here only is the special case of digraph, thereby another embodiment of OPG3 can use the digraph that comprises the edge parents synthetic to indicate.Dark node-8,9 among Fig. 2,10 and 12-can't help other node and form, thereby belong to node type primitive.
OPG3 comprises at least two kinds of node object types: process and data.(some other special node object type will described subsequently).As mentioned above, in each node object type, the node type can be a primitive, does not have the son section in its synthetic hierarchical tree as the member, or synthesis type.Description to process and data type is one exemplary embodiment of the present invention (Fig. 3) below.Procedural type 13 can be that operation, form or application-all these all can belong to the node type and synthesize.Operation and report form type also can belong to node type primitive.Data type 14 can be primitive data 15, generated data 16, array, figure or reference.In this exemplary embodiment, the node of data type primitive data only can belong to node type primitive, and it is synthetic that the node of all other data types only can belong to the node type.
In this exemplary embodiment, primitive data node 15 can be arbitrary primitive data type.The characteristic of each primitive data node is specific for its type.(it should be noted that this all is that correct-node characteristic depends on its type hierarchy for all nodes, but node also can be that graphical definition and/or working time are special).A large amount of predefine primitive data types can be used among each embodiment of OPG system, as: the character string of character string, double, integer, date, file, image, mapping, XML file, calculating, calculating, self defined class, e-mail address, Web address, catalogue, electronic table unit, file conversion, lint-long integer, big decimal, scale-of-two and relation table.Each primitive dtd comprises the dedicated functions that is used to handle and show its data.For example, file transform data type allows with the essential information in the multiple form display file: text, CVS, XML, electrical form (Excel-needs commercial permission), word processing document (Word-needs commercial permission).
May seldom take place although add the primitive dtd, the fresh code of new primitive data type can be combined among the existing OPG3, not regeneration or reorganization OPG3.For example, in life science is used, also can add the primitive data type of special domain, it comprises: sequence, multisequencing adjustment, gel images, and protein structure.It shall yet further be noted that the primitive data type can comprise algorithm or the self defined class (program module) that can carry out in application program.
The composite bed figure that generated data node 16 is primitive data, array, figure, reference and generated data for any data type node.The array node is to tie up array by homogeneity, n that any data type node is formed.The figure node is the digraph of being made up of the node of any data type.Datum node is for pointing to the pointer of any data type node.
Each data node has or defines 17 or the template database type (Fig. 4) of illustration 18.The definition node comprises all the illustration nodes 20 corresponding to this definition node 19 is one group of common characteristic.The data of the value of these Characteristics Control illustration nodes are how processed and show that described value is the subclass of node characteristic.For example, show and be compiled as two kinds of designation data value characteristics how to be displayed on the display medium or on display medium by the characteristic of how editing.Displaing coordinate characteristic indicated value is with the position that is displayed on a computer monitor; Other characteristic indicates font, color etc.Characteristic also can comprise the affirmation criterion, comprises using conventional expression to confirm input.Characteristic can be that the process node is peculiar, and promptly each definition node has default properties and is provided with 21, but for any process node 22, and characteristic can be redefined 23 and only be used for this process node.Any corresponding illustration node that is present in the Application Status of effective procedure node should use its node characteristic for this process node.If there is not the peculiar characteristic of process node in the illustration node, then will use the default properties of corresponding definition node.In addition, characteristic can be that the Application Status node is peculiar, and promptly characteristic 23a only is defined and is used for Application Status X22a.(Application Status will be below the description of DGI2 in describe in detail).Not only the characteristic of data definition node can be that process is peculiar or Application Status is peculiar, and data definition node itself also is that process or Application Status are peculiar.In this exemplary embodiment, predetermined data definition node only is applied to particular procedure or Application Status (or combination of process and/or application program) by this way, and all is left in the basket in all other process steps or Application Status place.
Illustration data node is the special illustration of data definition node.Characteristic also can be set in the data instance level.Special data type can have its oneself characteristic group.For example, the file data type will have file name and path characteristics, and it is peculiar that the two is illustration.All data types have the distinctive value characteristic of at least one illustration.For the peculiar characteristic of illustration, the definition node can be preserved the default value of each characteristic.
All data nodes have the duration characteristic, and it sets (the definition duration characteristic in the life-span of also influential definition node self) to all illustrations of this definition node in the definition node.Use this characteristic, can produce temporary transient and permanent illustration node.Permanent illustration node is preserved the time period that prolongs in OPG3, and temporary transient node is only in the life period existence of current sessions (or a little collection/superset of one-can be to depend on long or short affairs and/or depend on the process node).If application user/deviser needs, use this mechanism, the generation of odd-job storer and handling can be controlled (as temporary transient moment data) by OPG3, and such data is not permanently stored among the OPG3.
Process node 24 (Fig. 5) control illustration node flow through generation, modification and the demonstration of the illustration node that application program and application program use through display medium.Operation node 25, it is a class of process node, defines the discrete steps in flow through application's data and the process stream, comprises the variation of the display medium of application program.
It is synthetic that Application Status node 26 belongs to the node type.They comprise the set 27 of the illustration node that connects in logic, and its subclass by the operation node produces, revises or shows.Form node 28 is the specialized operations node, and it does not allow the modification (except the relevant data node of some special form) of the permanent data among the OPG3.It is synthetic that application program node 29 belongs to the node type.They comprise the process of connection in logic and the set 30 of data node.
All nodes in the OPG3 connect by the edge of the relation between the definition node.Relation can include but not limited to: conversion, passive, control is current and relation.The edge has characteristic, and is different with node, and it does not comprise other node or edge (although characteristic value can be a node).In one embodiment of this invention, defined three kinds of edge types: process to process, process to data and data to data (Fig. 6).Process is to the relation between the process edge 31 definition procedure nodes, and process is to the relation between data edges 32 definition procedures and the data node, the relation between the data to data edge 33 definition of data nodes.In the context of this embodiment, the discrete illustration of following each section these three kinds of edge types of definition.
Three kinds of processes are arranged to process edge subtype: demonstration, formation and crowd (Fig. 7).The process control that demonstration edge 34 between operation or form node indicates in the application program is moved with the direction of edge appointment between node.After operation A was carried out, the Application Status of the inherent operation A of application program was presented on the display medium at operation B.Shield moving of another screen from one in this example definition application.
Formation edge 35 between operation or form node indicates process control and when moves on to node B from node A, Application Status will be lined up at node B but do not shown, unless the user takes further action (being presented at the link that node B represents on the display medium as the Application Status of clicking in the representative tabulation) through Application Program Interface.This example has been described the workflow operation in the application program.
Cause in application program, using program state at batch edge 36 between form and the operation node and when operation A moves on to operation B, be invoked as background processes by the processing of operation B definition.Criticizing the edge is used for determining the time that simultaneous process node moves in back way based on intramarginal process time response.It should be noted that it is the characteristic of having ready conditions and carrying out that can be used for calling the edge that all these nodes can be preserved the data node.Like this, according to the comparative result between two data nodes, specific screen can not show in application yet.
Five kinds of data to data edge subtypes are arranged: duplicate, calculate, fractionation, merger and connect (Fig. 8).Data type and primitive data type are known in all data to data edges.Duplicating edge 37 and will copy to another array to data element from an array between two arrays stood any map feature of edge definition.Duplicate all elements that the value of primitive data node and some characteristic is duplicated and repeated to array from the primitive data to array.As required, carry out suitable value conversion (arriving integer as character string) between the node of different primitive data types, it depends on the characteristic at edge: strong type or weak type.The weak type edge allows such data-switching to take place, and the strong type edge stops its generation.
Thereby edge calculation 38 provide complex mathematical formula and/or conventional expression with to any amount of data node effect calculate another data node.Splitting edge 39 and merger edge 40 is split or merger application state objects when an operation moves on to another operation in application program.They make the illustration node in the application state objects flow to split assigning to a plurality of application state objects of another when operation from an operation, or the illustration node in many application state objects is merged in the application state objects.
Connecting edge 41 makes based on the generated data illustration node of different definition node and will and fetch together from the OPG3 combination.In these cases, datum node can be used together with connecting edge.
Three kinds of processes are arranged to data type: create, fetch and carry out (Fig. 9).Create edge 42 and in Application Status, create the new illustration of definition node at the process node.Fetching edge 43 fetches data instance and they is placed in the application state objects at the process node.Carry out edge 44 with executive routine code or control structure (comprising algorithm), can be included in the data inter-node during its logic in the application program of this process flows with control.
It should be noted that different embodiments of the invention can add or revise the character of above-mentioned all edge types and subtype.
In one embodiment of this invention, the user is by special object type representative, the function that its control application programs is interior and the visit (Figure 10) of data.Have the right to use each user of any part of OPG application program for each and in OPG3, create user object 45.Other user object also can be created in the mode by any needs function set or data access are divided into groups.Each user object comprises all process objects 46 and the data object 47 that in the application program its visit is allowed to.Be each the object assigns access power in the user object, it can be from one of following two tabulations: (tabulation 1-is for data instance) piece I, read I, write I, rollback, (tabulation 2-is for data definition and process) piece M, read M, write M.If user object comprises the access right to synthetic object 48, dynamic graph interpreter 2 uses its synthetic tree automatically identical access right to be distributed to all son section nodes 49 of synthetic object.Yet,, be to use its access right (in Figure 10, data D only has read access, rather than the write access of its parent) for this specific son section if user object also comprises one of its son section node 50.It should be noted that authority is arranged and is included in each tabulation, read I and write the I visit thereby rollback power comprises.
The piece authority is used to take away all-access needs when covering the authority of parent only for the time being, is piece-promptly when object or its parent arbitrary do not appear in the user object because default access is weighed.User object also can be inherited all authorities from another user object.This allows to set up any amount of grouping authority or role-comprise such grouping or role's level-it can be used for upgrading automatically simultaneously many users' authority.
Audit is another special object type.It is used to follow the tracks of application program interior all-access and modification (Figure 11) to data.Reside in application state objects 51 and the generated data object 52, their follow the tracks of all-access and modification, time and the operation steps to data application state layer 53 and data instance layer 54 user.If be " opening " for all definition of data audit characteristics of using in the Application Status, then the rollback of Application Status can be performed to return back to any operation steps in the affairs.Under the situation of queuing operation (as workflow), this permission may be striden the rollback of the long running affairs of many user conversations generations.DGI2 checks the variation of any data after the issued transaction and prevent rollback (perhaps, if suitable characteristic is set, then allowing to replace) under the sort of situation.
Thereby index object can be specified in object Process graph 3 to shorten searching route and be improved performance.
Dynamic graph interpreter
Dynamic graph interpreter (DGI) 2 (Figure 12) is explained dynamic OPG3, and uses display medium 57, the visual aspect of its automatic display application program.State node 58 and process and data node 59 each illustration of the collaborative access application of DGI2 to run application.
Application Status node among the OPG3 and process and data node comprise the display application program information together and application instance are become all required information of another state from a state.Application Status node (Figure 13) 60 comprises effective, the current operation node of application instance and all data instance nodes that are associated with the illustration of particular state.
DGI2 operation (be equivalent to traditional sense explanation, carry out, fulfil or move) illustration (Figure 14) of application program, its by make from an Application Status become Another Application program state 61 and on display medium 57 status information of display application program carry out.Display application program state information makes user active attitude ground and application program reciprocation to cause the variation of Application Status on display medium.It also makes the user can change other element of the OPG3 of application program-as any marginal information 62 between process node, data definition node and these nodes.These change of elements of OPG3 cause that immediately DGI2 makes an explanation to OPG3, thereby make application program just explained when promptly moving and can dynamically change.
DGI2 causes the status information of application instance to be presented on the display medium 57 according to display characteristic (Figure 15).Status information is stored in the data instance node.Display characteristic or operate peculiar data instance display characteristic or be kept at acquiescence display characteristic in the data instance node.Operate peculiar data instance display characteristic and have precedence over the acquiescence display characteristic.DGI2 checks all the data instance nodes 64 in the Application Status node 62, find in the OPG3 they corresponding data definition node 65 and valid function in their corresponding display characteristic.If do not have peculiar display characteristic, then use the acquiescence display characteristic of data definition node for valid function and data definition node.Afterwards, all data instance that have a peculiar characteristic value of its illustration are operated peculiar display characteristic according to it and are presented on the display medium 57.Distinctive other display characteristic of valid function also can be present on the display medium.
DGI2 changes the state of application program (Figure 16) by at first checking the valid function node in the Application Status.It checks the operation node in the OPG3 afterwards, finds from the edge that the operation node is drawn and also carries out the conversion that is indicated by those edges.In addition, the data definition node that it is checked corresponding to the data instance of Application Status inter-node finds from the edge that those data definition nodes are drawn and also carries out the conversion that is indicated by those edges.Like this, for example, in Figure 16, Application Status X 66 is become Application Status X ' 67.It is that data instance C and data instance D are added to Application Status that valid function becomes operation B and two new data instance from operation A.X is become the needed conversion of X ' to be determined together with their interconnect edge 68 by corresponding operation and data definition node.
Figure 17-20 describes the example of a step (be equivalent to from a valid function and move on to next valid function) of the illustration that runs application in more detail.Figure 17 describes the part of OPG3, will be by operation node, data definition node and the edge transition of DGI2 visit when it is described in detail in operating procedure.Figure 17 has also described the order that edge transition will be moved in detail: create 66, create 67, duplicate 68, show 69, create 70, create 71 and duplicate 72.
Example (Figure 18) is to be presented at Application Status X 73 beginnings on the display medium 57.In the stage of Figure 18 with Application Status X 73 beginning, know clearly as institute and show, from the edge transition of Figure 17 create 66 and establishment 67 moved, yet other edge transition shown in Figure 17 is off-duty still.As describing in detail among Figure 15, content shown on display medium 57 is controlled by being included in corresponding to the display characteristic in the data definition 75 of the data instance in the Application Status.The reciprocation of DGI2 leading subscriber 77 and this display medium 57 is according to the data instance in the renewal of the customer interaction on the display medium 57 Application Status.It should be noted that when the characteristic in the data instance of user 77 in DGI2 renewal Application Status 73 this user 77 also can be simultaneously through the characteristic of DGI2 renewal corresponding to the data definition 75 of those data instance in the Application Status 73.In case user 77 has finished through the reciprocation of display medium 57 with Application Status X 73, DGI2 duplicates 68 (Figure 17) edge transition with operation, and its renewal of being undertaken by display medium 57 together with user 77 will cause Application Status X ' 78 that upgrade among the OPG3 and conversion.DGI2 checks now that operation node among the OPG3, data definition node and edge transition 80 and operation can cause upgrading and the Application Status X of conversion " 81 demonstration 69, creates 70 and create 71 (Figure 17) edge transition." 81 explain and are presented on the display medium 57 through DGI2 in the mode of describing among Figure 15 the Application Status X of this renewal subsequently.
Described in top Figure 18 and (the seeing the four-headed arrow between DGI2 and the data definition node 75) that hinted, the user can upgrade the data definition node simultaneously when new data instances node more.Yet the ability of upgrading the application program definition when running application simultaneously is not limited to upgrade existing data definition node, but can expand to any part of upgrading OPG3, and it has illustrated all aspects of application program fully.Like this, in Figure 19, user 88 upgrades Application Status X 83 simultaneously through display medium 57, add new data definition node E86 to OPG3 together with creating edge 85 between two parties by DGI.
The Application Status X ' 89 of new renewal and conversion is produced by DGI2.Afterwards, this new Application Status X ' 89 use process, data definition node and edge 91 in the OPG3 to upgrade by DGI2 equally and conversion with control change and renewal.These data definition nodes and edge can comprise the node and the edge of redetermination, as 85 and 86.Therefore, in this example, " 92 will comprise new data instance E to Application Status X subsequently, and it defines in this applying step.Application Status X " is presented on the display medium 94, as previously mentioned through DGI2 after 92.
Figure 20 has summarized the data definition node that causes because of the step that runs application as shown in Figure 19 and the variation at edge.Compare Figure 20 and 17, Figure 20 comprises new data definition node E
95 and new establishment edge 96.It should be noted that as before described in Fig. 4, the specific data definition node or the feature collection of data definition node can define all processes (acquiescence), single process or process group or specific application state.Like this, in this example, data definition C and D are the acquiescence definition of all processes 99, and data definition E95 and create edge 96 and be defined and only be used for Application Status X 100 (at this example, this also is applied to all conversion such as X ' and the X ") of X.The operation subsequently that this means application program will be visited data definition C97 and the D98 that has visited at Application Status X; Yet data definition E will only be applied to Application Status X.In the example of Figure 19, it easily is applied to all processes with new data definition E, rather than only is used for Application Status X.
The DGI2 that summarizes in Figure 17-20 makes people can develop and revise application program simultaneously when application program is just moved.In addition, the current illustration of the application program just moved of some subclass of its all subsequently operations that allow that such exploitation and modification be applied to application program, operation subsequently or be applied to simply.
OPG and DGI method and embodiment
For create the description of the illustrative methods of OPG3 system and DGI2 system according to the present invention, such system defines in the above and describes below.At this is an embodiment of this method.
1) selects based on its foundation and operation OPG3 and hardware/operating system platform, programming framework, database and/or the file system of DGI2 system and the initial setting up of display medium.In one embodiment, use (SuSE) Linux OS, on server hardware, move, stride the PC based on Intel of Intranet link to operation Microsoft's Windows XP software and the Internet Explorer of Microsoft (IE) browser based on Intel.The IE browser that moves on the PC terminal is with the principle display medium.Use object oriented programming languages-from Java-programming OPG3 and the DGI2 system of Sun Microsystems.Use is towards the Database Systems of the compatible object of Java data object (JD0)-wherein preserve from the ObjectDB-of the Israel ObjectDB Software permanent data of our OPG3 system.Use the Jakarta Struts framework and the java server page to be presented on the display medium 57 from the information of DGI2.(the dynamic graph interpreter drawing system will be the theme of following patent).The Jakarta Tomcat application server that use moves under Linux.OPG3 and DGI2 system will move on the Tomcat application server.This embodiment also can move on the Tomcat application server of local runtime under the WindowsXP operating system under the situation that does not have program design to change.Equally, the version of ObjectDB database or on the server under the Linux operation or on the PC under the Windows XP, move.We also use from the Eclipse development platform of Eclipse Foundation with from the MyEclipse plug-in unit of Genuitec, carry out the software development based on Java on its basis.It should be noted that aforesaid operations system, application platform and programming language tools only represent of the present invention one may embodiment.
2) use top summary and description to each embodiment, together with accompanying drawing 1-20, defined a category and suitable class hierarchy, it will comprise required function.Can be used for creating one group of class that has required function designing a model of in Addison Wesley 1995 " designing a model " and " the Java model " of Grand, describing such as Gamma at Wiley ComputerPublishing 1998.The senior CASE instrument that is used to define these classes also can use.Can some classes that could be defined are:
A, one group of class of handling establishment, revising, upgrade and locate composite bed figure (Fig. 2) required function.Such class can be partly based on iterative program structural model (seeing above-cited text).
The class of each type hierarchy (Fig. 3-5) required function of b, processing establishment, modification, renewal and locator data and process node.Such class can part be divided model based on synthesizing.Factory method and abstract factory create model also can use (seeing above-cited text) in this and following other class group.
C, one group of class (Fig. 6-9) of handling each edge type.
The class of d, one group of process user object (Figure 10).
E, one group of class (Figure 11) of handling the audit target.
F, one group of class (Figure 12,14) of handling the top framework of DGI2.Such class should comprise that the function that processing events is handled also can be partly based on viewer behavior model (seeing above-cited text).
G, one group of class (Figure 13) of handling establishment, modification, renewal and position-location application state required function.
The class of h, one group of display application program state (Figure 15).This category must be widely be used for that data are presented on system interface on the display medium from DGI2 and OPG3 system.In one embodiment, this dynamic graph interpreter drawing system uses the java server page to set up based on Jakarta Struts framework.
I, one group of class (Figure 16-20) that is used to change Application Status.Such class should comprise that the function that processing events is handled also can be partly based on viewer behavior model (seeing above-cited text).
J, one group of class (Figure 16-20) that is used to change process, data definition node and edge in the OPG3.
Major part in the above-mentioned class is defined as permanent class with needs, and this will make the association attributes of definition in it be saved to long-term permanent media such as storage medium.If use the database such as the ObjectDB of JD0 compatibility, the extra programming that this can be minimum finishes-and all neededly are the detailed design of XML file, and its class is permanent class.To be always not permanent with DGI and the interactive class of display medium in the dynamic graph interpreter drawing system.
Although the present invention carries out quite detailed description in conjunction with some embodiment, other embodiment also is possible.For example, different operating system, programming language and software architectures can be used for implementing embodiments of the invention.Therefore, the spirit and scope of claims should be not limited to be contained in the description of this embodiment.
As mentioned above, embodiments of the invention can be presented as hardware, software, firmware or anyly be used to realize the method for embodiment and/or the form of device.Embodiments of the invention also can be presented as the computer program code form that comprises the instruction that is embodied in the tangible medium, described medium such as floppy disk, CD-ROM, hard disk or any other computer-readable storage medium, wherein, when computer program code was written into computing machine and is carried out by computing machine, computing machine becomes implemented device of the present invention.The present invention also can be presented as the form of computer program code, for example, no matter be kept in the storage medium, the computing machine and/or carry out of packing into by computing machine, still at some transmission mediums as on electric wire or cable, transmit by optical fiber or through electromagnetic radiation, wherein, when computer program code was loaded into computing machine and is carried out by computing machine, computing machine becomes implemented device of the present invention.In the time of on being implemented in general purpose microprocessor, the computer program code segments configure microprocessor is to produce specific logical circuit.
When the present invention is described in conjunction with exemplary embodiment, it will be understood by those skilled in the art that and to carry out many variations or the ingredient that substitutes wherein of equal value, and can not deviate from scope of the present invention.In addition, can carry out many modifications so that specific situation or material adapt to religious doctrine of the present invention, and not deviate from essential scope of the present invention.Therefore, the present invention should not be limited to as expectation realization best mode of the present invention specific embodiment disclosed herein, but will comprise falling all embodiment within the scope of the appended claims.In addition, any order or importance are not indicated in the use of first, second grade of term, but are used to make an ingredient and another ingredient to differentiate.

Claims (44)

1, the computer-implemented object Process graph system that produces and run application of being used to, described object Process graph system comprises:
Be kept at the graphic structure that is used for definition application in the computer-readable medium, described graphic structure comprises order and the process on opportunity and the control module that is used for control data affirmation, conversion and demonstration, described graphic structure is dynamic, oriented and round-robin, and described graphic structure comprises at least one data node, at least one process node and at least one Application Status node; And
Be used to explain that described graphic structure is to handle and to move the interpreter of described application program, wherein said interpreter acts on described graphic structure by changing the application state information of preserving in described at least one Application Status node, and described application state information comprises one or more temporary transient data objects and persistent data object;
Wherein said graphic structure can change through user interface when it is just made an explanation by described interpreter.
2, according to the system of claim 1, wherein said graphic structure comprises at least one conversion edge, and it is used for the relation between at least two nodes of the described graphic structure of conversion.
3, according to the system of claim 1, wherein said graphic structure comprises the edge of the relation between at least one at least two nodes that are used for defining described graphic structure.
4, according to the system of claim 1, wherein when described graphic structure was just by described interpreter interprets, described graphic structure can be changed in response to outer input data.
5, according to the system of claim 1, wherein said graphic structure comprises and is used for described application's data.
6, according to the system of claim 5, wherein said data comprise the data structure that is selected from down group: relation table, stratification, n dimension data array, electrical form, graphical model, and 3-D physical model.
7, according to the system of claim 5, wherein said graphic structure comprises the affirmation of described data.
8, according to the system of claim 1, wherein said graphic structure comprises the processing logic and the data stream of described application program.
9, according to the system of claim 1, also comprise:
Be used to show the user interface of at least a portion of described graphic structure;
Wherein said graphic structure defines the indicating characteristic of described part.
10, according to the system of claim 9, wherein said user interface also is used for creating and editing described graphic structure.
11, according to the system of claim 1, also comprise:
Be used to preserve the permanent media of described graphic structure and described interpreter.
12, according to the system of claim 1, wherein said interpreter works to a plurality of Application Status simultaneously.
13, according to the system of claim 1, wherein said interpreter works by merger between the combination of application state objects or fractionation application state information.
14, according to the system of claim 1, also comprise:
The audit information of the variation of carrying out in the definition affairs;
Wherein said variation is rollback partially or completely.
15, the computer-implemented object Process graph system that produces and run application of being used to, described object Process graph system comprises:
The graphic structure that is used for definition application, described graphic structure is to comprise the order that is used for control data affirmation, conversion and demonstration and the composite bed figure of the process on opportunity and control module, described graphic structure comprises a plurality of nodes and edge, and wherein each node has or the node type of synthetic or primitive;
Be used to provide the display medium of user interface, described user interface can receive the variation of described graphic structure;
Be used to explain described graphic structure to handle and to move the interpreter of described application program, the described graphic structure of wherein said interpreter interprets is to handle described application program by carrying out following method:
Visit state node, process node and data node in the described graphic structure;
In described graphic structure, become second Application Status from first Application Status;
Display status information on described display medium;
Receive user's input; And
Import the aspect that changes described graphic structure according to described user; And
Wherein said graphic structure can be changed when it is just by described interpreter interprets.
16, according to the system of claim 15, wherein each node belongs to digraph and tree, the relation of other node in described digraph definition and the described graphic structure, the synthetic level of described tree definition.
17, according to the system of claim 15, wherein said node is the illustration of object.
18, according to the system of claim 17, wherein each object has object type: procedural type or data type, described procedural type are operation, form or use that described data type is primitive data, generated data, array, figure or reference.
19, according to the system of claim 15, wherein each node has or the template database type of definition or illustration.
20, according to the system of claim 18, wherein each node for the illustration of the object of object type with data type has the duration characteristic, and described duration characteristic defines the life-span of described node.
21,, wherein can control the node described application program of flowing through, and create, revise and show node through described display medium for each node of the illustration of the object of object type with procedural type according to the system of claim 18.
22,, wherein represent flow through at least one step in the described application program of node for each node of the illustration of the object of operation as object type according to the system of claim 18.
23, according to the system of claim 18, wherein create, revise or show by the operation node for each node of the illustration of the object of application as object type.
24, according to the system of claim 15, wherein said graphic structure comprises the edge that concerns between at least one definition node.
25, according to the system of claim 24, wherein each edge has edge type: process to process, process to data or data to data.
26, according to the system of claim 25, wherein each described process has subtype to the process edge type: demonstration, formation or batch.
27, according to the system of claim 25, wherein each described data to data edge type has subtype: duplicate, calculate, fractionation, merger or connect.
28, according to the system of claim 25, wherein each described process has subtype to the data edges type: create, fetch or carry out.
29,, also comprise at least one user object that is used to control to the visit of the function of described application program and data according to the system of claim 15.
30, according to the system of claim 29, wherein said user object comprises a plurality of objects, and each object has the access right that is associated.
31, according to the system of claim 30, wherein said access right comprises rollback, read and write.
32, according to the system of claim 15, wherein said interpreter can dynamically show the visual aspect of described application program.
33,, wherein become described second Application Status by following execution from described first Application Status according to the system of claim 15:
Determine the valid function node in described first Application Status;
Find from any first edge and execution first conversion relevant that described valid function node is drawn with described first edge;
Determine in described first Application Status data definition node corresponding to data instance;
Find any second edge of drawing from described data definition node; And
Carry out second conversion relevant with described second edge.
34, the computer-implemented object Process graph system that produces and run application of being used to, described object Process graph system comprises:
Be kept at the graphic structure that is used for definition application in the computer-readable medium, described graphic structure is dynamic, oriented and round-robin, and described graphic structure comprises:
At least one data node;
At least one process node;
At least one Application Status node;
At least one edge that concerns that is used for defining relation between described graphic structure at least two nodes;
Be used for described application's data;
The affirmation of described data;
The order and the process on opportunity and the control module that are used for control data affirmation, conversion and demonstration;
At least one conversion edge that is used for defining the transformation relation between described graphic structure at least two nodes; And
Be used to explain that described graphic structure is to handle and to move the interpreter of described application program, wherein said interpreter is kept at the application state information in the described graphic structure by change and described graphic structure is worked, and described application state information comprises one or more temporary transient data objects and persistent data object;
Wherein said graphic structure can change through user interface when it is just by interpreter interprets.
35, according to the system of claim 34, wherein when described graphic structure was just by described interpreter interprets, described graphic structure can be changed in response to the outside input.
36, according to the system of claim 34, wherein said data comprise permanent and temporary transient data.
37, according to the system of claim 34, wherein said data comprise the data structure that is selected from down group: relation table, stratification, n dimension data array, electrical form, graphical model, and 3-D physical model.
38, according to the system of claim 34, wherein said graphic structure comprises the processing logic and the data stream of described application program.
39, according to the system of claim 34, also comprise:
Be used to show the user interface of at least a portion of described graphic structure;
Wherein said graphic structure defines the indicating characteristic of described part.
40, according to the system of claim 39, wherein said user interface also is used for creating and editing described graphic structure.
41, according to the system of claim 34, also comprise:
Be used to preserve the permanent media of described graphic structure and described interpreter.
42, according to the system of claim 34, wherein said interpreter works to a plurality of Application Status simultaneously.
43, according to the system of claim 34, wherein said interpreter works by merger between the combination of application state objects or fractionation application state information.
44, according to the system of claim 34, also comprise:
The audit information of the variation of carrying out in the definition affairs;
Wherein said variation is rollback partially or completely.
CNB2005800265251A 2004-06-05 2005-05-27 Object process graph system Expired - Fee Related CN100495329C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US57750104P 2004-06-05 2004-06-05
US60/577,501 2004-06-05
US10/908,654 2005-05-20

Publications (2)

Publication Number Publication Date
CN1993675A CN1993675A (en) 2007-07-04
CN100495329C true CN100495329C (en) 2009-06-03

Family

ID=38214950

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800265251A Expired - Fee Related CN100495329C (en) 2004-06-05 2005-05-27 Object process graph system

Country Status (1)

Country Link
CN (1) CN100495329C (en)

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
A GraphicalSpecification System for User-Interface Design. HARBERT A ET AL.IEEE SOFTWARE,Vol.7 No.4. 1990
A GraphicalSpecification System for User-Interface Design. HARBERT A ET AL.IEEE SOFTWARE,Vol.7 No.4. 1990 *
Java Data Objects, JSR 12, Version 1.0.1. RUSSEL,C.. 2003
Java Data Objects, JSR 12, Version 1.0.1. RUSSEL,C.. 2003 *
Struts User's Guide. 匿名.. 2001
Struts User's Guide. 匿名.. 2001 *
Using MVC Pattern in Web Interactions. ANDERSON,D,J.. 2000
Using MVC Pattern in Web Interactions. ANDERSON,D,J.. 2000 *

Also Published As

Publication number Publication date
CN1993675A (en) 2007-07-04

Similar Documents

Publication Publication Date Title
US7316001B2 (en) Object process graph system
Lange An object-oriented design method for hypermedia information systems
CA2232671C (en) Systems, methods and computer program products for building frameworks in an object oriented environment
US7774745B2 (en) Mapping of designtime to runtime in a visual modeling language environment
US6243709B1 (en) Method and apparatus for loading stored procedures in a database corresponding to object-oriented data dependencies
US20050203718A1 (en) Knowledge management system with integrated product document management for computer-aided design modeling
US7818682B2 (en) Modeling editor
US20070094306A1 (en) Method and model for enterprise system development and execution
US20120331472A1 (en) Ad hoc generation of work item entity for geospatial entity based on symbol manipulation language-based workflow item
JP2008512794A (en) Object processing graph application development system
US10379817B2 (en) Computer-applied method for displaying software-type applications based on design specifications
Smith Entity Framework core in action
Dewan et al. An approach to support automatic generation of user interfaces
Mueller Microsoft ADO. NET Entity Framework Step by Step
Polo et al. An MDA‐based approach for database re‐engineering
Pantelios Development of a QGIS plugin for the CityGML 3D City Database
JP2021505983A (en) New programming language
Schattkowsky et al. Uml model mappings for platform independent user interface design
CN100495329C (en) Object process graph system
Koznov et al. View to view transformations in domain specific modeling
Kobayashi et al. Object-oriented modeling of software patterns
EP1290551A1 (en) Methods and systems for relating data structures and object-oriented elements for distributed computing
Pöpping et al. Constraint-based definition of application-specific graphics
CN112162741A (en) Webpage code generation method, device, equipment and medium
CN117785943A (en) Data query method and system based on Spring Boot and elastic search

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090603

Termination date: 20110527