AU2004202148A1 - Apparatus and Method for Building Modeling Tools - Google Patents

Apparatus and Method for Building Modeling Tools Download PDF

Info

Publication number
AU2004202148A1
AU2004202148A1 AU2004202148A AU2004202148A AU2004202148A1 AU 2004202148 A1 AU2004202148 A1 AU 2004202148A1 AU 2004202148 A AU2004202148 A AU 2004202148A AU 2004202148 A AU2004202148 A AU 2004202148A AU 2004202148 A1 AU2004202148 A1 AU 2004202148A1
Authority
AU
Australia
Prior art keywords
property
model
interface
semantics
name
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.)
Abandoned
Application number
AU2004202148A
Inventor
Tad A Deffler
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.)
CA Inc
Original Assignee
ASSOCIATE THINK Inc COMP
Computer Associates Think 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
Priority claimed from AU12071/00A external-priority patent/AU1207100A/en
Application filed by ASSOCIATE THINK Inc COMP, Computer Associates Think Inc filed Critical ASSOCIATE THINK Inc COMP
Priority to AU2004202148A priority Critical patent/AU2004202148A1/en
Publication of AU2004202148A1 publication Critical patent/AU2004202148A1/en
Priority to AU2008202027A priority patent/AU2008202027A1/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

May 2004 14:43 Smoorenburg Rttorneus +613 9712 0159 p.4 W0 00/23883 PCT/USPS241 8 APPARATUS AND METHOD FOR BUILDING MODELING TOOLS CROSS-REFERENCE TO RELATED APPLICATIONS The present application claims benefit of the filing date of U.S. Provisional Application No.
60/104,682 entitled MODELING TOOL SYSTEMS AND METHODS, filed on October 16, 1998, incorporated by reference herein in its entirety.
The present application is related to a co-pending U.S. Patent Application No. (Attorney Docket 10 #22074661-25532) entitled METHOD FOR IMPACT ANALYSIS OF A MODEL, being concurrently filed on the same day, which is incorporated by reference herein in its entirety.
The present application is related to co-pending U.S. Patent Application No. (Attorney Docket #22074661-25531) entitled METHOD FOR DETERMINING DIFFERENCES BETWEEN TWO OR MORE MODELS, being concurrently filed on the same day, which is incorporated by reference herein in its entirety.
The present application is related to co-pending U.S. Patent Application No. (Attorney Docket #22074661-25533) entitled METHOD AND SYSTEM FOR AN 1 EXTENSIBLE MACRO LANGUAGE, being concurrently filed on the same day, which is incorporated by reference herein in its entirety 4 The present application is related to co-pending U.S- Patent Application No. (Attorney Docket #22074661-25534) entitled METHOD AND APPARATUS FOR PROVIDING ACCESS TO A HIERARCHICAL DATA STORE THROUGH AN SQL INPUT, being concurrently filed on the same day, which is incorporated by reference herein in its entirety.
Reference To Paper Appendix The present application includes a paper appendix attached hereto setting forth exemplary services and COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maaj 2004 14:43 Smoorenburg Rttorneus +613 9712 0159 WO 00/13883 PCT/US99/24118 2 functions for an exemplary embodiment of the present invention which is hereby incorporated by reference. A portion of the disclosure of the-present application includes material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
Field Of The Invention The present invention relates to a modeling engine, in particular to an apparatus and method for building modeling tools.
Background Information Modeling tools have existed for many years. The general method of implementing such modeling tools is to write a specific modeling tool that implements a specific modeling methodology. Although this method has generally been accepted, such a method has several disadvantages. For example, conventional modeling tools require a new implementation for the creation of each new modeling tool, even though many functions within a given tool are similar, if not the same, as prior tools.
A need exists for a method and apparatus for building modeling tools using a uniform framework constructed to support the generation of multiple, disparate modeling methodologies. This new apparatus and method for building modeling tools will reduce the effort and time required to implement a new modeling tool.
Summary Of The Invention An aspect of the present invention is providing a method and apparatus that includes semantics and a model having objects and properties. Semantics are applied COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Hat% 2004 14:43 Smoorenburg Rttornejs +613 9712 0159 p.G WO 0=23883 PaIUS99241 18 3 against transactions that change objects and properties that may be included in the model. Any changes to the objects and properties by a transaction that violates the respective semantics are undone. Firther, the semantics may be extended by a developer.
Anothqr aspect of the present invention provides an apparatus for building a modeling tool. The apparatus includes, for example, a meta model that has a semantic registry and a meta data manager, an object/property interface, and an object/property factory registry. The object/property factory registry is coupled to the meta model and the object/property interface. The apparatus also includes an object/property model coupled to the object/property interface.
Yet another aspect of the present invention provides a method for building a modeling tool. The method includes constructing an object/property model by defining a first set of classes and constructing a meta model by defining a second set of classes. The method also includes associating a type code with the first and second set of classes and providing a predefined set of semantics to the meta model. The method further includes identifying a plurality of discrete events with at least one semantic of the set of semantics being invoked at each occurrence of the plurality of discrete events. The method also includes providing an object/property interface for limiting access to the object/property model from a developer.
Brief Description Of The Drawings FIG. 1 illustrates a functional block diagram of a conventional computer system.
FIG. 2 illustrates a functional block diagram of an exemplary embodiment of the present invention.
FIG. a illustrates a data model of an exemplary COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 MAU 2004 14:43 Smoorenburg Fttorneys +613 9712 0159 p.7 WO 00/2383 PCT/US99/4118 4 embodiment of a meta model of the present invention.
FIG. 4 illustrates a flow diagram of an exemplary embodiment of a method of firing-an object semantic of the present invention.
FIG. 5 illustrates a flow diagram of an exemplary embodiment of a method of firing a property semantic of the present invention.
FIG. 6 illustrates a flow diagram of an exemplary embodiment of a method for building a modeling tool of the present invention.
FIG. 7 illustrates a flow diagram of an exemplary embodiment of executing an exemplary function of the present invention.
Detailed Description FIG. 1 illustrates a conventional computer system 101 in which the present invention operates. In an exemplary embodiment, the present invention is implemented, for example, on a SUN m Workstation manufactured by SUN MICROSYSTEMS T m Alternate embodiments may be implemented, for example, on an IBM"' Personal Computer manufactured by IBM Corporation or a MACINTOSH" computer manufactured by APPLE'" Computer. It will be apparent to those of ordinary skill in the art that other computer system architectures may also be employed. In general, such computer systems as illustrated by FIG. 1 include a bus 102 for communicating information, a processor 103 such as a central processing unit coupled to the bus 102 for processing-information, and a main memory 104 coupled to the bus 102 for storing information and instructions for the processor 103. A read-only memory 105 is coupled to the bus 102 for storing static information and instructions for the processor 103. A display device 106 coupled to the bus 102 displays information, for COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maaj 2004 14:44 Smoorenbung: Attor-nejs +613 9712 0159 p.8 WO o0023883 PCT/US99/24118 example, for a developer.
An alphanumeric input device 107, such as a key board, is coupled to the bus 102 -and communicates information and command selections to the processor 103.
A modem 110 is coupled to the bus 102 and provides communication with, for example, other computer systems or databases and a mass storage medium o10, such as a magnetic disk and associated disk drive coupled to the bus 102 for storing information and instructions.
A
data storage medium 109 containing digital information is configured, for example, to operate with a mass storage medium 108 to allow processor 103 access to the digital information on data storage medium 109 via bus 102. In addition, a CD-ROM drive (not shown) may also be used for the storage of high resolution images for display on the display device 106.
An embodiment of the present invention is implemented, for example, as a software module written in the C" programming language which may be executed on a computer system such as computer system 101 in a conventional manner- Using well known techniques, the application software may be stored on data storage medium 109 and subsequently loaded into and executed within the computer system 101. Once initiated, the software of the preferred embodiment operates, for example, in the manner described below. Universal Modeling Architecture (UMA) is a data-driven modeling engine that could work in various problem domains based on an external definition of a meta model that may be provided by a developer and be extended to provide an UMA-based product. An external definition of a meta model is, for example, a series of descriptions of the types of objects that are to be found in the problem domain, and the properties associated with each of these COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mam 2004 14:44 Smoorenbure Rttornebs +613 9712 015 p.9 WO 00/23113 PCT/US99/4I I8 objects. These descriptions may be provided by invoking a set of functions exposed by the implementation, and passing in, via function, parametbrs, the descriptive information. Exemplary problem domains may include: data modeling such as database tables, columns and indices; process modeling such as activities and arrows; access modeling such as data manipulation language statements and files; and component modeling such as interfaces, implementations, and dependencies.
In an exemplary embodiment oE the present invention, the UMhA-based product is a modeling tool.
The UMA-based product may be an UMA-based application such as a user interface that includes UMA. The UMAbased product may also include an instance ot an is object/property model based on an external definition of the meta model provided by, for example, a developer.
In an exemplary embodiment of the present invention, as shown in FIG. 2, UMA 200 includes a meta model 210, object and property factory registries 260, object/property interface 280, transaction manager 285, log file 295, and object/property model 290. The meta model 210 may include a semantic registry 220 including a plurality of sets of semantics 230 and a metsa data manager 240 including object/property descriptions 250.
The object/property descriptions 250 are sets of information describing the characteristics of an object or a property. In the case of objects, this may include its name, a human-readable piece of descriptive text, generalization information, information about what other types of objects may be contained within it.
Generalization information, for example, describes refinement/subtyping such as synonyms information.
Object/property descriptions may be provided by the developer or user as the externally defined meta model.
COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ma5 2004 14:45 Smoorenbung Rttorne~js +613 9712 0159 PCTfUS99/2411S The meta model 210 is a description of the objects and properties of the problem domain to be solved and a plurality of sets of semantic s 230 to be respectively invoked to change objects and properties when changes to such objects and properties are requested.
FIG. 3 shows an exemplary embodiment of meta model 210 of the present invention. As shown in FIG. 3, the meta model 210 includes a plurality of classes such as objects, properties and semantics and establishes relationships between objects, properties and semantics- Type 310 is associated with a type code key, name attribute and definition attribute. Type 310 can be, for example, a category 330 or an item 320. Category 330 is associated with a type code key and includes a is plurality of items. Category membership 340 is associated with a category key and member key. Item 320 is associated with a type code key and can be a property or object.
Property 350 is associated with a type code key, default value attribute and datatype attribute- Property 350 is also associated with property usage 375.
Object 360 is associated with a type code key, object implementation attribute, and supertype attribute.
A
supertype attribute provides further specificity to the object 3G0. Object 360 may own include as a component) and be owned by other objects. Object ownership 370 is associated with owner key and ownees key. Property usage 375 is associated with property key and object key.
Property usage 375 also associates the property 350 with the object 360. Object semantic usage 390 is associated with a type code key and identification
(ID)
key. Object semantic usage 390 associates object 360 with object semantic 395. The object semantic 395 is COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 14:45 Smoorenburg Attornems +613 9712 0159 p.11 W00233 PCT/US99/24118 WO 00=23883 associated with an ID key. Property semantic usage 380 is associated with an ID key, property key and object key. Property semantic usage 390 associates property semantic 385 with property usage 375. Property semantic 385 is associated with an ID key.
As shown in FIG. 2, the meta data manager 240 of the meta model 210 receives meta data description of objects and properties), for example, from a developer through an UMA-based application 225. The meta data is what are the objects and properties provided by a developer to solve the problem domain of the developer. The meta data manager 240 receives validation creation requests from object and property factory registries 260.
As shown in FIG. 2, the semantic registry 220 of the meta model 210 includes a plurality of sets of semantics 230 which may include, for example, a predefined set and additional sets provided by the developer through an UMA-based application. Semantics 230 are modeling rules encapsulated in semantic objects that expose an interface, such as a pure virtual class, that hide the modeling engine from details of the semantics 230. The predefined semantic set provides rules to enforce the integrity of the underlying modeling engine and in an exemplary embodiment of the present invention, the predefined semantic set cannot be changed by a developer. The additional sets of semantics provided by the developer can be modified by the developer. An example of a semantic may be, for example, one that enforces the rule "No two columns in a single database table may have the same name." Semantics 230 gain access to object/property model 290 through object/property interface 280. The semantic registry 220 may include an object semantic registry for COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mati 2004 14:45 Smoorenburg Fttornems +613 9712 0159 p.12 v- WO 0023883 PCT/US99/24118 9 determining if a specific set of object semantics exist and, if so, locating respective sets of object semantics. The semantic registry 220 may also include a property semantic registry for determining if a specific set of property semantics exist and, if so, locating the respective set of property semantics. The semantic registry 220 locates the respective set of semantics requested, for example, by object/property interface 280. The semantic registry 220 makes changes to the respective objects and properties in accordance with the semantics invoked and provides the changed objects and i' properties to object/property interface 280. The semantic registry 220 also provides the status of an action of a transaction to the object/property interface 280. For example, one of the semantics invoked for an action may be violated and, thus, indicate that the action has failed.
Object and property factory registries 260 may include factories 270 such as object factories and property factories, respectively. The object and property factory registries 260 receive requests for the creation of objects and properties, for example, from a developer through an UMA-based application 225. The factories 270 create objects and properties. The object and property factory registries 260 determine if a specific factory exists and, if so, locate the respective factory to create the respective object or property being requested. The object and property factory registries 260 also provide a validation creation request to the meta data manager 240. The validation may include, for example, whether the creation of the object or property requested was successful. The object and property factory registries 260 instantiate objects and properties, respectively, COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Meti 2004 14:46 Smoorenburg Alttorneyjs +G13 9712 0159 p.13 WO 00/23883 0 PCTIUS99J24118 and provide such objects and properties to object/property interface 280.
As shown in FIG- 2, object/property interface 280 receives requests for the modification and deletion of objects and properties, for example, by a developer through UMA-based application 225. Such requests invoke the respective semantics in meta model 210 which may result in changes to the objects and properties which are provided to object/property interface 280 from i0 semantic registry 220 of meta model 210. The object/property interface 280 may identify a discrete event from a 'plurality of discrete events, for example, as shown in Table 'One, and determine that a semantic or set of semantics should be invoked. The discrete events is indicate occurrences where object/property model 290 may be modified. In an exemplary embodiment of the present invention, authors of UNA may provide a plurality of discrete events.
COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ma 2004 14:41 Smoorenburg Rttorneys +613 9712 0159 p.14 WO 00/23883we OOI Li PCT/US99i24 118 TABLE ONE Constant Description PostCreation An object is being created PreDestruction An object is being destroyed PreEdit A property is about to be crested and/or modified PostEdit A property has just been created and/or modified PreNull A property is about to be destroyed PreOwnerDestruction The object owning a property is about to be destroyed The object/property interface 280 is provided with the status of an action of a transaction by semantic registry 220 based on the result of the respective set of semantics invoked. For example, if an action caused any one of the set of semantics invoked to be violated, semantic registry 220 may provide an indication that the action failed. If the action did not cause any one of the set of semantics to be violated, however, semantic registry 220 may provide an indication that the action was successful. The object/property interface 280 provides object and property changes to the transaction manager 285 and, if the object/property interface 280 determines that an action failed, it may provide an indication that the action failed to transaction manager 285. The object/property interface 280 also provides COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mail 2004 14:47 Smoorenburg AFttornebs +613 9712 0159 WO 0023883 PCT/US9924118 objects and properties to object/property model 290.
The object/property 280 interface also retrieves objects and properties from object/property model 290, for example, to provide such objects and properties to an UMA-based application 225 if requested.
FIG. 4, illustrates a flow diagram of an exemplary method of object/property interface 280 firing an object semantic. In 410, the object/property interface 280 opens transaction with transaction manager 285. A transaction is opened for each change to the model so that the change can be cancelled if found to be invalid.
In 415, object/property interface 280 communicates with the object itself. All objects know their type to determine the object type. In 420, object/property interface 280 obtains the complete supertype path for a respective object from meta model 210, for example, in top-down order- In 425, the first object type (ultimate supertype) is obtained by object/property interface 280 from the metamodel.
In 430, object/property interface 280 obtains the semantic list for the object type from object semantic registry 220. In 435, object/property interface 280 communicates with semantic registry 220 to determine whether more semantics are in the list. If yes, object/property interface 280 obtains, in 455, and fires, in 460, the next semantic. The object/property interface 280 determines, in 465, if the semantic failed. If so, in 470, the transaction is rolled back by the transaction manager 285 pursuant to a request from object/property interface 280. If, however, the semantic did not fail, in 435, object/property interface 280 will again determine whether any more semantics are in the list.
If no more semantics are in the list, in 440, COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ma~ 2004 14:47 Smoorenburg flttorne~s +613 9712 0159 p.16 Matl 2004 14:47 Smoorenburg Rttorne d +613 9712 0159 p.16 WO 00123 83 PCTLS9914118 13 object/property interface 280 will communicate with the metamodel and determine whether any more object types are in the ancestry path. If no; in 450, the transaction is committed. If there are more object types in the ancestry path, in 445, the next object type is obtained and object/property interface 280 again proceeds in 430 with obtaining the semantic list for object type from object semantic registry.
FIG. 5 illustrates a flow diagram of an exemplary method of object/property interface 280 firing a property semantic. In 510, object/property interface 280 opens the transaction with transaction manager 285.
In 515, object/property interface 280 communicates with the object to determine the object type. In 520, object/property interface 280 obtains the complete supertype path for the respective object from meta model 210, for example, in top-down order. In 525, the first object type (ultimate supertype) is obtained by object/property interface 280 from the metamodel. In 527, object/property interface 280 constructs an object/property pair for object and property types. In 530, object/property interface 280 obtains the semantic list for the object/property pair type from property semantic registry 530.
In 535, object/property interface 280 determines whether more semantics are in the list. If yes, in 555, object/property interface 280 obtains the next semantic and in 560 fires the next semantic. In 565, if object/property interface 280 determines that the semantic failed, in 570, the transaction is rolled back.
If, however, the semantic did not fail, object/property interface 280 will return to 535 to determine whether any more semantics are in the list.
If no more semantics are in the list, in 540, COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mab 2004 14:48 Smoorenbur~g Attornevss +613 9712 0159 p.17 WO 00123883 PCT/US99/241 1S 14 object/property interface 280 will communicate with the metamodel and determine whether any more object types .are in the ancestry path. If no, the transaction is committed in 550. If there are more object types in the ancestry path, in 545, the next object type is obtained and object/property interface 280 again proceeds with constructing an object property pair for object and property types in 527.
In an exemplary embodiment of the present invention, object/property model 290 includes a set of predefined objects and properties. The predefined set of objects and properties may be provided by, for example, the UMA developer to decrease the amount of work necessary for the developer of the product. The object/property model 290 also receives objects and properties from an object/property interface 280. The objects and properties received from the object/property interface are based on the external definition of the meta data provided by the developer. It is the objects and properties requested, for example, by a developer to be created and modified that are included in object/property model 290. Further, the object/property model 290 logs model changes to the transaction manager 285 through an object/property interface 280. In an exemplary embodiment of the present invention, however.
objects and properties in object/property model 290 that are a result of a failed action are removed from object/property model 290.
Accordingly, in an exemplary embodiment of the present invention, objects and properties provided by a developer that remain in the object/property model 290 are the objects and properties that result from a successful action. Thus, a developer does not have direct access to and cannot directly change the COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matd 2004 14:49 20 M~j 204 1:49 Smoorenburg flttcrnebis+1392059p1 +613 9712 0159 P.18 WO 00/2383 PCTU991241 IS object/property model 290. Consequently, changes to the model are known by the modeling engine and consistent and valid states can be assured at all timnes. If the developer had direct access to the underlying data structures, inappropriate changes may be made thereby creating invalid states in the model.
The transaction manager 285 places respective objects and properties in the state that they were in prior to being changed by a failed action. For example, the transaction manager 285 is provided with the indication that an action has failed by the object/property interface 280. Any action that fails is undone or wiped out. The transaction manager 285 may accomplish this, for example, by logging changes of 1s object/property model 290 to log file 295, obtaining undo data from the log file 295, and performing an undo operation based on the success or failure of actions within a transaction as determined by object/property interface 280. Accordingly, object/property model 285 is maintained in a valid state. In an exemplary embodiment of the present invention, transaction manager 285 may also receive a request to undo or redo an action from UMA-based application 225. If a redo is being requested, transaction manager 285 may request redo information from log file 295 and perform the redo, operation an a known manner.
In an exemplary embodiment of the present invention, tM7K 200 may further include an internal services component and an external services interf ace- The internal services component may include, for example, services or functions exposed to the developer to assist in the creation and manipulation of a model for solving the problem domain of the developer. in an exemplary embodiment of the present invention, internal COMS ID No: SMBI-0075821 7 Received by IP Australia: Time (I-tm) 14:34 Date 2004-05-20 Mam 2004 14:49 Smoorenburc Rttornems +613 9712 0159 p.19 Wo 033 16 PCTIUS99d4118 services may includS those services Or functions indicated in Appendix I attached herein.
The external services interface is an interface which allows external services to communicate with UMA 200. The external services interface may be, for example, an object linking and embedding an add-in application program interface allowing third-party modules to extend the modeling capabilities of the tool, thus extending the modeling environment and the modeling rules to include functi6nality such as being automatically user-defined. Accordingly, the developer may have access to services beyond the services internal to UMA 200. External services may be, for example, a module for enforcing corporate naming standards upon all names entered by the user. Further, DMA 200 is scalable as the user interface such as UMA-based application 225 is separated from the semantics 2304 An exemplary embodiment of a method for building modeling tools of the present invention is shown in FIG.
6. In 610, an object/property model 290 is constructed by defining a first set of classes for objects and properties provided by the developer as meta data. In an exemplary embodiment of the present invention, the object/property model 290 may include a predefined set of one o7 more objects and properties. The objects provide storage mechanisms for the properties that apply to it. In an exemplary embodiment of the present invention, an interface class for an object may be, for example, UMEObjectI. Properties may be implemented as a base class that requires programmer subclassing. In an exemplary embodiment of the present invention, the base class may provide administration services without data storage. In an exemplary embodiment of the present invention, a developer may provide a subclass that COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 14:50 Smoorenburg Rttorne!:s +613 9712 0159 p.
2 0 W 060/383 1pC/US99/241 18 WO 002389317 declares the data element and a method for creating an acce sor.
in 620, a meta model 210 is constructed, for example, by defining a second set of classes. The second set of classes are designed to hold descriptions of properties, objects and semantics. For example, in an exemplary embodiment of the present invention, two semantic interface classes are specified. A first semantic interface class, for example, UNEObjectSemanticl, is the interface for any semantic that affects the creation or destruction of an object.
Further, a second semantic interface class, for example, UMEPropertySemanticI, is the interface for any semantic that affects the creation, destruction, or modification of a property. In an exemplary embodiment of the present invention, the implementation of a representation of meta model 210 includes a singleton object that exposes static methods for registering meta data and semantics.
Modeling rules, semantics 230, may be incorporated into semantic registry 220 of meta model 210 as a predefined set of semantics as in 640 and/or as additional sets of semantics, for example, provided by a developer either upon startup or any time thereafter.
In order to incorporate a modeling rule into meta model 210 for an object, the developer subclasses the appropriate calls, for example, UMEobjectSemanticl for a modeling rule for an object and UMEPropertySemantici for a modeling rule for a property. The developer also could implement a fire method to perform the desired operations and checks upon object/property model 290. A value will be returned to indicate whether the operation was successful. For example, a return value of TRUE would indicate that the operation was successful, and a COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mam 2004 14:50 Smoorenburc nttorne!js 20 at, 20414:0 mooenurgfltoretjs +613 9712 0159 P.21 WO 00/23903 PCT/US991241 18 return value of FALSE would indicate that the operation could not be performed successfully or that the model was in an invalid state. Access -points object/property model modification points) nay also be included in meta model 210 for invoking semantics 230, The various model modification points CreateObject) would invoke the respective semantic at the appropriate point. If an indication is received from the firing of semantics that one or more semantics had failed to complete successfully, for example, FALSE, the operation could then abort.
In 630, a type code is associated with the first and second set Of Classes. A type code is a unique identifier that specifies what type of mete data is being represented. Each item specified in the mete model, both objects and properties, would have a unique type code. In an exemplary embodiment of the present invention, UMA 200 includes a variable type, TypeCode -t, which is declared to hold the type codes. A predefined set of semantics is provided to the semantic registry 220 of meta model 210 In 640.
In 650, a plurality of discrete events, forexample, as shown in Table Qne, are identified. The discrete events indicate occurrences where object/property model 290 may be modified. in an exemplary embodiment of the present invention, each discrete event is assigned a constant to represent it, and a variable type, for example, Event-t, is declared to hold the event constants.
In 660, object/property interface 280 is provided.
The object/property interface 280, for example, prevents a developer from directly accessing object/property model 290 and may include. limiting the number of code paths by which a developer could modify object/property COMS ID No: SMBI-0758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ma5 2004 14:50 Smoorenburg Attornebs +613 9712 0159 p.22 WO 00/2383 PcT/uSn418 19 model 290. Por example, if a developer wanted to destroy an object in object/property model 290, a request would have to be made to object/property interface 280 such as UMEObjectI:DestroyObject as listed in Appendix 1.
FIG. 7 shows an exemplary embodiment of object/property interface 280 executing DestroyObject request. As shown in FIG. 7, access to object/property model 290 is limited by object/property interface 280 handling the DestroyObject request. For example, in 710, object/property interface 280 communicates with transaction manager 285 to open a transaction upon receiving a request to destroy an object DestroyObject function). In 715, object/property interface 280 communicates with object/property model 290 to find the object requested to be destroyed. In 720, object/property interface 280 determines whether the object was found. If not, in 725, transaction manager 285 rolls back the transaction pursuant to a request by object/property interface 280 and in 730 transaction manager returns a failure code to the calling module, for example, the user interface. if the object is found, however, in 735, object/property interface 280 provides transaction manager 285 with the object destruction information and transaction manager 285 logs the object destruction into transaction log 295.
In 740, object/property interface 280 fires the PreOwnerDestruction Semantics on all properties of the respective object. In 745, object/property interface 280 determines whether all semantics succeeded. If not, in 725, transaction manager 285 rolls back the transaction pursuant to a request by object/property interface 280 and 730 transaction manager returns a COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mam 2004) 14:51 Smocrenbui-g Attornetis +613 9712 0159 p.23 WO 00/23883 PCT/US9WZ441 failure code to the calling module.
If all the PreOwner Destruction Semantics succeeded, in 750, object/property interface 280 fires the PreDestruction Semantics. In 755, object/property interface 280 determines whether all of the PreDestruction Semantics succeeded. If so, in 760, the object is destroyed, in 765, object/property interface 280 communicates to transaction manager 285 to end transaction, and in 770, 730, transaction manager 285 returns a success code to the calling module. If the PreDestruction Semantics failed, however, in 725, transaction manager 285 rolls back transaction pursuant to a request from object/property interface 280 and 730, and transaction manager 285 returns a failure code to the calling module.
To limit construction and destruction of objects, for example, object constructors and destructors are protected to prevent the developer from directly instantiating or destroying an object. To limit the creation, destruction and modification of properties, for example, the data members of the properties are made private. In an exemplary embodiment of the present invention, UMA 200 includes a class known as an accessor that includes an interface class, for example, UMEAccessorI. The accessor interface class is a friend class to the property and it is through accessors that access is gained to the data members. Accessors are provided with data values and instructions "set the value" or "delete the property") and injected into properties. Accessors perform their actions and return a code indicating success or failure. Accessors are constructed by asking the property to provide one. This allows the property to construct an accessor that can handle the data type of the property. All operations on COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 14:52 Smoorenburg ttorneyds +613 9712 0159 p.24 WO 0/23883 PCT/US99/24118 21 a property are conducted via an accessor, thus any code that the semantics require could be placed in the accessor base class that is supplied. The developer subclassing accessor would simply provide a data element and a way of reading and writing to it. Methods are provided on the accessor base class to allow the binding to a property.
As shown in FIG. 6, in 670, a transaction manager 285 is provided. The transaction manager 285 manages actions of a transaction -and if the actions fail, the actions are undone or are wiped out. By starting a transaction at the beginning of a model manipulation, then monitoring the error states of the various semantics, the transaction manager 285 maintains the object/property model 290 in a valid state. In an exemplary embodiment of the present invention, transaction manager 285 records an exact image of object/property model 290 prior to the implementation of a change based on an action. If the action succeeds, the respective change is allowed to stand. If a failure occurs, then transaction manager 285 restores the old image. The transaction manager 285 may incrementally preserve images as the model changes.
As an example, within a single transaction the user is going to create an object and set its name. Upon successful creation of an object, the fact that the object was created and a handle to that object are stored in the transaction log 295. If the user then sets the name of the object to "Customer," the creation of the property is recorded and the old value (nothing) is saved to the log. If the user then sets the name again to "Cust," the old value ("Customer") is saved to the log. If all succeeds, then an object named "Cust" exists. On failure, however, transaction manager 285 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mato 2004 14:52 Smoorenburg Attorne js 20 a~ 0041452 mooenbrgAttrnejs+13 9712 0159 WO 0023883 CTIUS99/2118 22 will start rolling back: first, changing the name from "custv to "Customer"; second, deleting the existence of the name property. altogether; and. finally, deleting the object. This restores object/property model 290 to the state that existed prior to the performance of the failed transaction.
In an exemplary embodiment of the present invention, the changed objects and properties as a result of an action are provided to object/property model 290 by object/property interface 280. If the semantics. involved by the action fail, object/property interface 280 informs transaction manager 285 to undo the action. As a result, object/property model 290 is placed back in the state prior to the changed objects and properties being provided to the object property model 290 from the object/property interface 280 as a result of the failed action.
The embodiments described above are illustrative examples of the present invention and it should not be construed that the present invention is limited to these particular embodiments. Various changes and modifications may be effected by one skilled in the art without departing from the spirit. or scope of the invention as defined in the appended claims.
COMS ID No: SMBI-00758217 Received by IP Australia: Time Q-l:m) 14:34 Date 2004-05-20 Mati 2004 14:55 Smoorenburg Httornems +613 9712 0159 WO W3883 PCTUS99/241 1 1.1.1 Unbound Functions Metamode~eadllterfc Description Retives the read interdice on the singleton metamodel instance.
Signature exln "C UMEMetaModeIReadt MeiamcdelReadnterfacc void) Parameters Name Type Description Cretuw> R The rad interface to the UMA metamodet.
MetamodeMWrite nterface Description Retrieves the write intrface on the singleton mctmodel instance.
Sinpature tm "C UMEMetaMadelRtadl MetamodclWritelnmrface( void) Parameters Name Type Description Cretulr> R The write interface to the UMA rneumodel.
IMetamodelUselnerlace Descripton citrees the use interfae on the singlcton metamodel instance.
Stgnture UMEMeWAodclReedi MetamvadlUsctnterface( void) Parnter Name Type Description <rcurnP R The ue interface to the UMA mImnOdet 1.1a UMEReferenceCountadl Interface for reference counted objects. Several of the other interfaces extend this one. Conceptually, a reference-ounted object should free itself frm memory when its count hits eZM. In practice, this is up to the implementing object and it may simply return itself to a pool.
01 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 14:55 Smoorenbung Attorne js 20 as 00414:5 Soornbug Atore~s+613 9712 0159 p.31 WO 00/23$&3 1PC11US99124 118 Descrption Incerements t9w wfrnce count.
Slgnistire void UMERehreneCoutcdl:AddrcCnfCC( void) RemgyeRufar Descrlptlou Decremrents the reference count.
Siguitwte void UTMERefence~ountedJ::KecmovcRercncc( void) 1.1.3 UMEPublisheri The publisher aids of a publish/sub scribe pair.
Description Addslremnoves a subscriber co/frm the list or objects to notify.
Signature Rmtunj UMiPublisherl:Subcribe( UMtSubscribcrl Subscriber, boat Activate Parareten Name Type Description <FV~fn>x The error code ror the call Subscriber I ThCenbscriber to notify orvents Activat I True to add a subscription. False to Trmove a subscription 1.1.4 UMESubucriberi The subscriber side of a publishftsbscribe pair.
Deserhp~oc The callback used by the publisher to notiy the subscriber oreveats.
void LJMESubwscrEr.uNotfy UMEPublksh~z Publisher, UlAEEventI Event) 02 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Man 2004 14:55 Smoarenburg Attornebs +613 9712 0159 p.32 WO00z883 PCT/US99/24118 Name Type Description Publisher Event 1.1.5 UMEEventi Extends: I Who is sending the event notification I The event notifiation UMEReferenceCountedl Events sent between a publish/subscribe pair. Subscribers must increment the reference count in their Notiry method if they want to maintain access to the event; the publisher will remove his reference count upon completing the notifications.
1.1.6 UMEValuel Provides base interface for data type wrappers. Data type wrappers are used when data values need to be passed to the metamodel valid valid lists).
1.1.7 UMEMetarnodelReadl Interface for querying the metamodet. Though UMA 2.0 implements the metamodel as a singleton using static methods, this interface exists to allow other components to standardize on a queriable interface.
BuldVersion Deseription Retrieves the build number.
SigLnature LWIString UMEMetamodelReadl::BuildVersion( void) Paraneters Name Type Description ConstructSlansftrn R The venion string for the DLL Deseripton Construets a specified signaure for the specified objectcL Signature Rettmnt UMEMeamdelRead::ConstrucSignere( UMEObjecI Object. conat SgnaureGenemtorldt Generator, LWTSting Signature) COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maaj 2004 14:56 Smoorenburg Attcrnejs1 +1313 9712 0159 p. 33 WO 60/23883 PCT/US99/24113 Parametes Name 4:r,- Object Ocnleer Biguabfl Cons cgtSlatatUrem Descrlption Type Description R The error code tor the ea2 I The object for which uignanhres are desired I The specific genrator to be employed C The uignature Conrts all signatures for the specified objeeL The returned aray will always have the same mmber of elements are there are registered signature genestors. Et a signature generator does not support a given objet type, then its entry will be an empty string.
Signature Rsnhmj UMEwetamodelkeadl!:CCtorudSigmttcs( UdEObjdctl Object, LWTOrderedVectrTCLWTSuiflB> Signatum Parameters Namne Type Description <crtrul* Object Signatures GeeClFlaas R The error code for :be call 1 The object for which signatures are desired 0- The signatures Descipion Retrieves the clipboard flags asociated with the object/property pair.
Signature UMEMetamodIRteadl::OetClipFLazs( TypeCode~j Object. TypeCodcj Property, CiipFlagsj Cip~aga) Parameter Name 4,umnP Object Cliphp £tafftrafe Type Description 3 True ifregistered I The typecode for the object I The iypecoe for the property 0 The clip nags Description Retrieves the typecode or propeutys data type.
Signatume Rmnt UMEMctsadmodel;di::cifasnpe( Type Code I Code, TypeCode.) Datatype) COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Me j 2004 14:56 Smoorenbur-C nttorne!js 20 a~ 00414:6 Sooenbrc lttrnejs +613 9712 0159 p.34 WO 08/23383 Puratiuters Datir GstDaftlon PCTIUS99/24 118 Typo Descuiption Rt T1e error code ror the call I The lypecode for the property 0) The ypecode for the data typ Descripiobn Retrieves the definition stored in the rnetaniodel Of an itemn.
Signature Reurmil UMEMtamrodelReadl::Getflatatypc( TypeCode t Code, LVTtring Deflnition) Parameters Natits Type Description <cru> Coide Deinidion rzetFntvSUbScd be R The error code (or the call 1 The mypecode for the item 0 The defiuition Description Retvs she list of subscrlbers who ame registered Io receive notification upon destruction *[a nietamodel entry.
SignatUre Returukj UM4EMeamodelftcadh-GettntrySubseribers( Type Codejt Code, LWr~rderedvectorTcTypeCode-t> S. Suhicriben) Paramecters xMM Type Description 4retumb' Cade Subscribes Raw- Descriptiw Rt Theenvor code fou theecan I The typecode for theenhy 0 The subscribers currently registered teutews die metamode~flaps on an item- MR. Thaeelapshould noes be confinsed with ui,* (rent Jlagr rnunwztd by UMEOLJccIIPs 0Or' UMEroper*I:;Flufl.
SIgnatUr Retumt UMliMewamodclkcadh-Cietflags( TypeCode-t Code. Me~casmodclFlas. Flags) COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ma j 2004 14:57 Smoorenburg nttorneus 20 a~ 00 1457 Smorenur fltonetjs+613 9712 0159 WO 00/23883 PC1T/US99124 IRS ?sranetgs Name Type Description Atuzm> K Code
I
FUaS
C
!ggolnhe&Ktb~earoye ril The error code for the call The typecode for the htem The Memetodet flags Duscription Retrieves the typecodes of the properties that can be inherited for tbe specified object type.
Signature Rctumj UMsMetamodelRad(:*GtnhritblPrOPS~tiS( Type Codest Code, LWTOrdercdVectorTTypeCodej> Properties) Parameters Name Type Description ccrm> Code Ptaperlies Dusedptios Rt Theceror cod c forthecaull I The rypecode for the object 0 An array of the inhe rhable property iypecodcs Rectrieves the size of the itemn in bytes.
Signature Rern-ttM2Metarodelaeadl;:GettmSize( TypeCodet Code, 51et& Size) Parameters Nao= Type Description Cfelma> Cods size Ge~itOb~qeatTgnes Description The error code for the call The typecode for the item The size of the iemmas defined by its factory PcRieves the typcodes of the ojects that are defined for [he speciflied product The result Is filtered by the various flag fields.
Slgmatae RahrnJ UMfLIetamode~l:thObjectTypes( MuimoddWlapj FlO0nh )4etamodellags flagmOff, coast Praductid3t& Product, MritamodelFlsgs..
Produce~lpouu. MctamodefIlaVs P roductliagsOtI LWTrdudVecscrTcfypeCodo C' Objects) COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 MaU 2004 14:57 Smoorenburg Attornemsy +613 9712 0159 p.36 WO 00/23B83 PCT/US99fl4 11$ Panauters Name ThpOn Flasaci Product Type Description R The error code for the call I Flags that must baset for the object tobe included I Flags that must not be set for the objectto be included I An identifier for a product. Passed as a reference due to size.
I Prudect-speice flags that must be on for the object abe included.
I Product-specific flags that rust not be on For the object to be included.
0 The object typccodcs matching the criteria ProductFlagsOn ProductFlagsOff Objects GecwreiTves Description Retrieves the typocodes of objects that may be owned by the specified object.
Signature fltumIt UMEMeamodelcadl::OGcw,neerypes( TypeCodc_t Code, LWfOtrdcdVcctrTcTypc-Codet> Ownecs) Parameters Name Type Description 1cr1flfl code Owecr Desa*Uune R The ecrrrcode for the call I Th typeode for the object 0 An ury of the ownee typecodes trleves the typecodes of objects that may e as the ovner of the specified object.
Signatur Rtumt UMEMuamodeRcadl::GctiownrTypes( TypeCodej Code.
LWT~recrdVetofT<flpc odei__> Owners) Psrawtegr; Name -Qar1 Cd Mones Typo Description P. The error code for the call I The typwode fbr the object 0 An array of the owner typecodes Descriptan Reieves the typeodes oldie properties that ae defined for the specified product. The result is fihuud by the various fg fields.
COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Hatj 2004 14:59 Smoorenbura Attorne!,ds 20 ati 20414:9 mooenurgfltore~js+13 9712 0158 p.37 WO 00123883 PcTTiussm 9191 Signature RhturnJ- UMSMetamnddR-,adl:.OC'toPWYTYPes( MesrnodetF~sapj FIagsO;.
MetamiodeWIpaSJ FlapsOff. Produt Product. Metamodel~lagsJ ProductFlagi0it, NMetmodelFlagsLt ProductFapSOU LWr~rdercdVtdTTrYPcCCode. Properties) Pametefl Name <flagrW FlapOff Product ProductFlagsOni ProductFlagsOff GProers ae Type Description R The error code for the call I Flags %hat must be set for thr property to be included I Flaps that must not be set for the piroperty to be included I An idenifier for a product. Passed as a rcfaence due to sze I Product-specific flags that must be on for the property to bo included.
I Product-specific flaps that must not be on rar the property to be included.
0 T he Property typecodes matching the criteria Descript~om Raulreves the list of property types& that can be set on the specified object.
Signature Retuw...UM~temodelRad:GetPOp"rUsDges( TypeCodeJt Code.
LWVTchderedVetrT-CTypeCodcjt> Usages) Parameters Name Type Description -C~ttwni.
code U1sages Getsubtvns Description R. The error code for the call I The *Tecodc for the objet 0 An array ot). property typecodes tulews the typcodes of subtypes of the specified object.
Signatue Rscoun UMfl~ctausodefltadL::Geitpc( TypeCodeJt Code, LWITOrdcedVecwTcrypcCodejt> Subtypes) Parawnuters COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maej 2004 14:59 Smoorenburg Attorneus +613 9712 0159 p.38 WO 00/23883 PCT/US99/24118 Name Type Description <cmMEI IK The error code for Ie call Code I The typecode for the bject Subtypes 0 An away of the subtyp typecodes GstfSunoflvute Descrlptia Retrieves the typecode or the imediate bupertype ror the specified object.
Signature Reut UMEMetumodeRladl::GctSuprtype( TypeCode t Code, TypeCode-t Supcnypr) Parametrs Name Type Description 4etur-u> R The error code for the call Code I The typecode for the object Supertype 0 The supenype typecde tsrlnherdtahI Description Determines if the specified property is inheriable for the specified object.
Signature boolean UMEMelmodglRkedl;:Istnhcrinable( TypeCode:t Object. TypeCodej Property) Paruueters Name Type Description <Febu~pft True ifitheritable Object I The object's typecode Propety I The propcys typecode IsReqafse~wp Decrlptlem Dumnis ifhe specified sypecod is registered with the mezamodcl.
SIgnture boOleanUEMtazudeMlkad.:I,:PRcspegi TypeCode Code) Panant Nate Type Dcscription <rebu ft TNe iregisnred cede I Thypecode forthe he 09 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ma j 2004 15:00 Smoorenbung Attornebs 20 a~j200 1500 morerbur Atornss+613 9712 0159 P.39 WO 00f23883 PCrIUS9a41 IS IJaUserphln Description Dewifmines lfthe specified typecode is was registered by 0=e user or Add-in code... Le. is it a UDF oriLID0? Signature boclean UMEiMetamdlRldL.IUCTDefied( TypcCodej Code) Paramaeters Namne Type Description Cy=turn> Code R True ifruser-defincd I The typecode Cor the item Doseriptian Provides rwaslations between typecades and narnes of metamodel entries. The name provided or read will be lnteapretcd through the nomenclature specified.
Signature Vadazt A. TypeCode _t UMEMctsmodelkcadl::-Lookup( conet LWTSting Namne, NomcahueldJ_ Ncmnenclawre) Variant 1k LW1String UMSMetamodeiReadt::Lookup( Typetodejt Codc. Ncmnenclaunreldjt Noencldature) Paramet ers Name Type Description <cturn> flane Code Nomen1ciaflhe nyp K Variant A: the typecade associated with the name Vauiamt B; the name associated wit the typecode I A raine for the inetamnedel entry I The typecode for the mctainodel entry I An identifier fora. nomnclahnure. Passed assa reference due to size.
DexCuiptten Determineswhat h n urcamodel aty correspondsto tetypecode. ne routm value wiU lbe 000 of ffhe reibwft UMEMetamodalfteadt constatns COMS ID No: SMBI-00758217 Received by IP Australia: Time (I-tm) 14:34 Date 2004-05-20 Maid 2004 15:01 Smoorenbur-C Rttonnecjs 0613 9712 0159 WO 00/23883 PCT/US99/241 18 Constant Description kIsUnown The typecode is not known to the nitanodet kJ.ObjccItmplimgntion The-typecode represents an object implementation type kUsObject The typecde reprmsews an object klspcrtynatAtypC The typcode represets a property daa type kIsmp any The typecode represents a property kICaleoly The typecode represcas a category Slgnature loIng UMEMetnniodelRead[:;M2TYPc( TypeCode) Code cons: Paranelern Name Type Description R A constant indicating the M2 type orthe typccode I The typecode to be checked lCeufz code Reschyel Description Convens an object idto a pointer to the object.
Signature Variant A: UMEObjeetI UMEMeamoelReadl::esolveId !drt Id) Variant B: UMEObjecti UMEMeeamodelReadI-:Pltsolvdd( Objectldt Id) ParafMtars Name Type Description .crcm> 3d 1.1.8 UMEMotamodoIWritel F. A pointer to the objec having the specified id. NULL if not found I The object's id The write interface generally support two variants for each ofthe registration methods. One variant uses primitive typos, such as cont char and TypeCod. t The second variant uses wrapper class such as const lTSt~rn a and conat IMTorderedVe ctorcTypOCodet. a. The former type is faster to construct, but more dangerous, and is intended for the code generated by MMGenexe. The laiter can be somnewhat slower due to the need to construct the wrapper and container classes, but is safer, and is intended for "hand coding." COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matt 2004 15:02 Smoorerburg lttcrnes6 +613 9712 0159 p.41 WO 0012563 PCTUS99/24 18 Apples To bb rr i 0 P a Itt 1 7t IM D y kSeqtencelmpolant kPrcFetcTypc kCalculmted kPcsiseceUnit tWorkspaee kSuict The sequence of values in the property is significant and must be maintained.
The property starts as a PreFetcb property The property has a value that is calculated by semantics and should not be set by user.
Theobject is a persistence unit The object is a workspace.
The property my contain only those values round in the valid values list.
Del aufSem untiaPa oay Desralption Rctrives toA defsuh semantic package built Into the meimodl. This packege is used to hold those semantics necessary for the modeling engine to function, as well as any the user wishes to add.
Signature UblseumtiePacksgel UM!SemantiePackagelel:aeultSenantlcPacage( void) cons! Parameters Name Type Description RaulsferCaeaon, k The semantic pacage built into the mctamodel Description Registers a nw category in the metamodel. Any member typecodes supplied should already be restred wit to netmdel. Additional members can be added at a later time using UMMutamdelWritcLhRgiactgvCasewyMmbers.
Th data passed in am copied izo the memodel; the source memory can be freed after this call ronm Sigmzaume Vannt A: Rehun I UMEMelamodWwrijc L-SisterCauegory( TypcCodej_ Code. coust CharJ *t NMEBz flt. cont Cbrjt 0 DecriptimBuffer, TypcCodjt MCtbersBuiller.
MetuooFlaga Flap) Varisat 1: Reta-n t UMEMemodetWritel:frgterCasqory( TypeCodeJ_ Code. consi LWTrSrng Name, canst L'wTSring& iDescription, coast COMS ID No: SMBt-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 15:02 SmoorenburC Attarnems +613 9712 0159 p.42 WO 00/23883 PCTIIJS99/241 IS LWTOrdcrcdVCctOaTWCYldeK> Members, MetamodelFlgst Flags) Paramwf Mami
.*CUM>
Code sar's NameBufilt
T]
Desarption Descriptionffff Members MembersBuffer Flap flJra sn.n i Pe Description R The error code forthe call 1 The typecode for the category I The internal name for the category I A nuHlterminaisd buffer with the Internal name for the category. All meramodel entries must have a name; a null polner here will prevent rcZistftion.
I The description of the category I A null-tenminated buffer with the description of the cagory- If no descriptien is available, pass a null pointer.
I A list of the members' typecodes I A list of the members* sypeeodes. This must terminate with an entry set to Typecdes::Undeflned.
I Meumodl flags (see description above) Description Adds or subtracts members from in existing category. Member typecodes should already be registered with the wetamodel.
The data passed in are copied into the ietmodel; the source memory can be freed after ibis call rernrs.
Signature Variant A: Reurr sJ UMEMetamdelWritel::RegisterCategoryMembers TypeCodejl Code.
TypeCodaj 0 MembersBuffer, bool Add) Variant 33 Rcturn..t UMEMttnmdclWrt::ResisterCAgoryMenbrs( TypcCodejt Code, conit LWTOderdVectoT<TypeCodtp Members, boot Add) laramluers Name Type Description '(retumi> R Theerrorcodc for thecall Code I lbs typcode for the category Members I A list of the member typecodes MembersBuffer I A list of fe mmbers' typeCOdeL This must terminate with en entry set to TypeCodcs::UadcflntdL Add I True to add the members from the list, False to remove them _RcrlstoNamenda fns Duarlptio Registers a mn clamure with the metamodl.
The data passed in we copied into the metaiodel; the source memory can be freed after this call ran COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 15:03 Smoorenburg Attorne~js 2613 9712 0159 p.43 Wa 0QSMw PCIUS99/24 118 SIgnatou learn UMEMeaodlWitRcsiscTNOD~cf nutC( costI nencltl turI Nomenclature, coast LWTShAg Name) Paraatetf Name Type Description retn> I Nomltre I IieplsteNmencaturEnin' The error code for the call The id of the nomenclature 71= name of the nomenclature Description Rcgiter an cuby into a nomenclatirt.
The dalapassed &are copie d into the meamodel; the source memory cia be freed after iis call =umm Signature Retarnt UMEMcetmodelWrite::Itgistfomenclaturecuwc( coast Nomenclatureld- t Nomenclature. TypcCodej Code. consi LWTSaring Nme) Parameters Name Type Description %rt mur> It.
Nomenclafure I 1 Code I 1 Name I 1 fanlrf~rhnnran-I hiraflmar [le error code for the call rho idof dhe nomenclature The "ypecode otihe meimmodel item [he name to associate with the typecode Description Allows bulk regitration of ams for a nomenclature. The buffer should contain alternating typtades and nulI-terminated strings. The buffer msnt be termnated widt the value TypeCades:Undermed.
The arn passed in ae copied Into the metamodelt the source memory can be hoeod after this call Signatare R-eturj UMEMetsodlWrftel::RegisterNomnlatureName( cost Nomenclanareldjt Nomnclature, char Buffer) Parauflers COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mau 2004 15:03 Smoarnburg Alttorneuse +613 9712 0159 p.44 WO 00/23883 PCrIUS99/241 18 Name 4etunp Nomenclture BufDer RasferOtmjs escrpion Type Description R The error code for the caD I The id of "he nomcnhturc I A buffer of typecodeftull-terrinal ed suing pairs Registesa new object in the meamodel.
The dala pased in are copied into tha metamdel the source memwy can be freed after this call redns.
Signature VariantA: Return t UMEMetamodeWrit::RcistCTObect( TypeCode t Code const Charj' Name~uldor. coast Charj I DesciptionBuffer, TypeCodct lmplinentation.
TypeCodejt Supertype. TypeCode_t Ownerstaffer, Meta mo delFlaslt Flags.
Typeodtt j UOCode -NULL) Variant B: Rturn I UMEMetaodelWritel::RegitcrObjcct( TypeCodet Code. consi LWTSn'ing Name. const LWTString Deicription. TypeCodejt Implemcntalion.
TypeCodet Supertypei cast LlVTOrderedVctoaCFypCCodC._t' Owners, MetamodlFlagst Flags. TypeCodeJ UDOCode NULL) Parameter.
Name Code NameBufer Deriptlon DaesiptionBuffer mplealetvntiol Supertype Own OwnersBuffer UDOCode Type Description R The error code for the call I The typrcode for tie object I The internal name for the object I A rnll-terulmated buffer with the internal name for the object. All metamodel etnics must have a name; a null pointer here will prevent regisration.
I The description of the object I A null-termiaatcd buffer with the description or the object.
Ifno description is available, pns a null pointer.
I The typecode or she bject implementatioo that his object will use I The mupertyp orihe object I The list of valid owners' typecodes for this object. All objects, except UO0nviromnent, must have at least one valid owner type.
I The list ofvalid owners' typccodes for this object. All object, except UOlnvironmcnt, must hive at least one valid owner type. The bufTer must terminale with an entry act to TypeCod::Undefuied- I Meamodel flas (see description above) 0 Populaed with sypecode assigned to the UDO it Code is TypeCodes::Undeincd.
is COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maaj 2004 15:04 Smoorerrnburl; Httornetys +613 9712 0159 WO 00623933 PCrUS99241 Il Reainan Descriplien Registes a sew litpleincftt&liof for objects.
The metamodel does not assume responsibility for iclaning up facores-ittis allows these objects tobe allocated ofthe heap or statically in the data segMaL Instead if a subscriber is provided.
the metmodel will notify the subscriber when the cny for the property data type is destroyed; the subsriber can tla approprimte cleanup action atbat time. AU other lnlrmation is copied into the mtamodel and can be freed when this method retrs.
Signato" Variant A: ReturJ UMEMeWmodelWriteI::ResisterObjectlmplermetation( TypeCodex Coc.
coast Char t NamelufTer, const Charj DescriptionBuffer, UMvEObjectFactoryl Factory, Met amodlFlags_t Flags, UMSubscriberl 0 Subscriber NULL.) Variant B: Rewmn UMlMeamnodlWritl:RrSisterObjcctlttplWthbOfl( TypeCade_ Code.
const LWTtrsg Name, const LWTSuing DescrIption. UMEObjectFactoryl Factory, MetanodellulJg Flags. UMESubtcribcrP Subscriber NULL Parameters Name <rcturn> Code Name Nameleffer Description Dcscriptionuffer Factory Flags Subscriber Type Description K The error code forthL call I The typecode for the object implementation I Te internal name for the object implementation I A oul~lermlitatCd buffer with die internal name for the abject ilementation. All metamodel entries must har.
a name: a null pointer here wvill prevent registration.
I The desription arthe object implementalion I A nuul-terminated buffer with she description of the object impleneation. If no description is available, pass a null pointer.
I The factory capable of constructing instances of she object implementtion I Metamodel flags (se description above) I The subscriber to notify when this rmetamodet entry is destroyed Desrlpton Registers a ew property In the neasndel. Per applieation-deflned properties, the Wpccode shouldbe specified. To register a UDP, specify atypeodcof TypeCode::UndcfnCd for Code: she signed vypocode will be placed In UDPCbde.
The da passed in ae copied into the metamodel; the source memory can be freed after this call Signature Variant A, Rrns r UMHMeumodelWritek:Rs.R erEProeny( TypcCod e.t Code, eons: Char-t *amBuffer, conast Char t DesciptionBuffwr, TypeCodet Datatype.
COMS ID No: SMBI-00758217 Received by IP Australia: time 14:34 Date 2004-05-20 Mam 2004 1:05 Smoorenbure Attrnecs +613 9712 0156 p.46 PCTn S99/24l 18 WO 00123S3 M rtaflFgstFtlkgE cOst char' Defaulilauffer, cost char ValidVlueBufTer, TypcCodC* UDFCod- NULL) fCode t Code yriantfl: ]e=tutABMetatnlfdelw-rnite::gijelmPkcmntn(TY'o"'Ca cow LW7String Nazu. cst LWTSUrinS Dcsciption, Typetodet Datatype.
MetamodflalRB t Flags. UMEVSIulc Default NULL, cons LW1dTOrdecdV enO1<UMAEaWdl VlidVaes gm NULL.Typec~ t UDPCode
-NULL)
Psrametttfl Name Typo Deserpliion R The error code for the call. TypeCodes:;Undcflftd to register a UP.
Code I The typecode (or the property.
Name I The internal name for the property.
NarmeBiffer I A null-ttelnu tedbibffer with internal ame for the property. All mcumodel entries must have a name; a null pointer here will prevent registratlon.
Deseription I The description of the property DeseripiouBuIcr I A null-uuinted buffer with the description of properly.
IWoo description is availabLe, pass a null pointer.
DZIrtypO I The typode or the dan typo used by this property.
Flags I Metanodel flags (see description above).
Deault 1 The default value (or the property.
DefsultBufl'e I A buffer that the factory (or the data type is capable of intcfptcting in order to determine the defiulE value.
ValidValues I A list of the valid values for the property.
ValidValusBuf&er I A buffer that the factory for the data type is capable or Interpreting in order to determine the valid values- UbPCod a Populated with typecode assigned to the UDP if Code is TypcCodes::Undcfined.
Dccdfptlot Rgistars a new data type for properties with the rnetamnodel.
The mtaUmodel does ant assume respolblity for cleaning up actories-this allows these objects to be aotcid oflah hcap or statically in the data segent. Instead, ifa subscriber is provided, the Mdtamodtid wl nolity the subscriber when the catty for the property data type is destroyed; the subseiber can take appeopriate cleanup action at that lime. All other information is copied titop th nVtam Odel and anbe freed when this mrethod returns.
Signatue VarintA: a mm tUMBMetamodtWrifttcI tRCgisr taPropnWDa TypeCodcJ Code, Coast Chazt NmeBuffer. cot Char t flescriptiotBuffer. UMEProptyFaCtoryl acaosy, MetamodelaflUSPQ ags. UhMiSubscrib I a Subcribr NULL Vaiant B: Rcwumrj UME cwnodelWI4-.t.Rj~gisietrPrtpWtyD't TypeCodeJ Code.
com LWSbing Name, const LWTString Decription. UMEPopCrtyFRcoryl
S
Factory, MetamodelPlagsj Flags, UMESubscbibCl 0 Subscriber
NULL)
COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ham 2004 15:05 20 at, 204 1:05 Smoorenburg Attarnems 6391 19p +613 9712 0159 p. 47 WO 00=8333 ?Cr(US991241 18 Parameters Nive.
4retuM)X Code Name escuptont Descriptionflutlbt Falory Flap Subscriber Type Descriptlion ItE The erro code for the call I The typecode for the proeruty data type I The internal Wael [or Mhe data typt I A null.termiztated buffer with the internal name for the data type. All rnetamoddl entries smut have a nAMe; a null pointe here wiflprevent registrdtiofl.
I The description of the data type I A null-termitled buffer with the description afbbe data "yp. [rno description is available, pass a null poumter.
I The factory capable fcntrcting~l instanlces of the daia type I Mewnmodel nlags (see description above) I The subscriber to notify when this meotamo del entry is destroyed Rzgsietln rwtreister the auaociatioitibtweCn a specified object and properties. The InfOniosM wilbO oiernose ntmd so all buffers Catl be fleed once this method ntis Successive Calls to this muethod with Add eqetal to True aPpedifrain Variant A: RougM_ 1 UM ~~olrlt:case~oct~ac TypeCodce) Object.
rypeCodt'* ProputiBuffer. boot Add) Variant Wk Rean. M~tmd]ftl:eitrrprysje TypcCodej1 Object, cons' LWT~rdezdVctorT<YP~&dV-7> properties, bo00t Add Prameehs Nam.
Obect Propoflies Pmpezieafluffer
TY
~pe Descriptionl 1; The cnr code forlthecall I The object I A list o f tae Vppeies associated with the object tWe I A At Of the properties associated with the. object type.
ThiS buffe" must be terminated with an entry having thel value OflypCodet:Undfld. h I True to ad &Ce assoeiatin. False to remove h assoCWAiM
P
AM
lea-rnt Description ilb oidit h AlumwabulkuuusAntiOC of objectlpeuperwY assciation. The information Wilbcoedntth zneanode, ma ll buffers cacbe freed once this method returns- This mnethod can onily add The following set otgnra productions describes the format of the buffer COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 15i07 Smoorenburg Attorne,-!js 20 a~ 0041507 mooenbriAttrnejs +613 9712 0159 p.48
I.-
PCTfUS9 9124118 WO 00123583 Bule EnuyList RonyList ftWUst Object Property Entrytlst Ternaor Entry EntrylstlEn try Object ftO1C1tYLiFtTT~nat"= Property propertyListlPsoperty any~ object's &pwcodr anmy propeists 'SyptCodt RetnauntUM danoIWrelesterProprtYUIs TypeCodCJ 4 Buffer) NaeU K The error coe for the call Bueflf, I A buffer ofrtypecodas DescripticI' 1Pcghtcrs a slpntule generator into the mnOdeL Signature os gnreecardt& au:tuma ietum~tl~frite.cI isierSigimturaetierater( 'os siawrce trolt& 3d, UMsigaw eerator G3enerator, conis! ILWTStwing &Nme parametters Name CMruzr iII Gmwnto W-rmn Type Description IL The error Code for the call I The id for the signature gruerAtOf I The genrator I The names of the generator for display Purposes .19UM=MIY016OWUpeatonUoterthn radngan This is toe interface &A is used for nietamnodeloprtnsthrharedgad writing the metamcal.
Crop tAget DescriptionThsalwcosrcinGaco nte OrO an scescor appropnhtC (orfth property tye. Thiss 110 W cnw n o papera t absence orsa P'oWOPW This Method emplys the CreateA~l5fWtCd~ 4 oe ypoet factodes.
Signature UMEAceesocI UMtMetamodelUscL: CTeateAro W4TYPCCI6C Code)
IQ
COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 MaW 2004 15:08 Smoorenbure Attorne!ds 20 a~ 00416:8 Soornbug Atore~s +613 9712 0159 p.49 W O g023883 'CTIJSO9/241 18 Naametr Type IDcscriptiafl ~ebift> ft The secessur Code I The typecode gg the property far which an* $cesot's nfeeded, Descriptiont Contcs aLnew object. If no Owning Object is specified, the object is mde a child of the cenviromuitct (if leal)- If the object csat be constructed, the output parameter will be set to NUL. No cheeks wil be Mnde on the initial c-okteftt Of Objectsignture Reauh.S UM1MctasUdRlI.Crn l*bcCt TypeCodi-t Code. UMlEObiecti 0 Owner, UMSO3Jcod' Object. UMaC~rcttwInconLeL Resentwed"-
NULL)I
Parameters Name Type DecriplIti <cwrnl> P. The error code ror the cull Cao I The typecode of the object Owner I The owning object Objec 0 The object created. NULL if not created Reserved Rescee for fiuture age Retieves the instanmt of 6he specified object type that exist in UMA. This list JS not fitered for a given persisence unit; dMtting ca be accomplishied quickly using UMEObjectl:0%Vfle'.
For pefntlc reasin,! the painter retnmned by Variant A of this method might be a painter to the actual data storeused by the Tnettinodell. You sit respCtL teCoast rtiuidtef ad not cdUy The data in any way. Iftyous want to alter the data, you must use VarintLE Varian R9It JUWMmS~tDd1UGeIbhmco(TyCodVL- Code, coast LW O4 VeCICT4M~e*d InsuanM) VrntfEL Rat.UMEbesanadeL-Gethtntacgs( TypeCodi_t Code, LWTrrduedVCSOtT4JMGic Instnce) is optmized for retrieving the persistenca unit. See the notes in the UMA Cookbook on this COMS ID No: SMBI-00758217 Received by P Australia: Time 14:34 Date 2004-05-20 Hati 2004 15:09 Smoorenburg ttornends +613 9712 0159 WO 081383 pCr/S99241 1 paraCIees -yeD=0 Name Type DecriptiOn SThe errol code for the Call Cde I The typecodefor the object Cc&e 0 A list of the pstafcts 111sunces 1.1.10 UMES ntf c;Pac k oI8.. he a Semanic packages are groupS of logicllyy-r elated ermLiS. e he 'Oracl" semantics. Them is a default package built into the metamodel to handle semantics required for the modeling engin's unttins. Ohr packs may be constructed and registered for model clcments as desired Ideserlftb RetdevesdW idntirer ror the package.
Sliguature Seont ;GPticSSCI4J UMESCrnnflicP ckawtl:dctiftclr( void) const Name Type Description R Te id of the package Description Adds am object semntic into the package.
Signature Pkae-.eitrbeteani(ycoeIC* R~nQU.Srfl.amtcmekadIrvsle~c1~ci ~n(t TypeCOd_i Codt.
UMEObjectSCUmandkl Semantic. boo Internl) Name Type Description .*9w.p R The error code of the call Coa 1 he object typecode for which the semantic applies Sesmsaic I it semantic Interal I this semantic invoked inscmally 9Mbs) or via the API (Flse) Deseriplio Adds a prcpcy semantic into the package.
21 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maaj 2004) 15:09 Smoorenburg nttornetls 2613 8712 0158 p.51 WO00df23883 PCTfUS991241 I S Rghurn, ME cn-ti,,a..s,;kRrr tenrrPrS tyenantic Typecode)A object, TypeCod-e) Property. UMEObjctS~ atiCI flfttic b-o Internal) parProleter Name Type Description Ri The error code of the call Object I The object ypccodo for which the semantic applieS Property I The property rypEcode for which the semantic applies Semantic The semantic Intena I Is this semantic invoked internally (True) or via the API (False) 1.1.1 UMEObjeCtFactorl Intarthee for all factory classes used to create instancos of objects implecttions. These imptementatiofl are then aliased by the metamodel to the desired cbjct type.
Description Retrieves the size of the bjct thai will be allocated by CreateObjectO. ibis is used by the UMEMetafodelRSodl:1±OtlmSiU ietbod.
SIMuatre size UMEObjectF8tyCtC ClaSSize( TypcCode) Code) Parameters Name Type Description <M111fl. R Te size of the object Code I The typecodE of the item Crest ebct Descripton Cure. an inuno of the object.
Slprst ure WEObJdsC UMEObec tFac :I;.-.~Oobjvct TypeCode) Code, UMEObjectI Owner.
UrEracoyCotlttC BI Reserved NULL) 22 COMS ID No: SMBIA)0758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 15:10 Smoorenburg Attorneobs +613 9712 0169 raTfUS9fl4ll1B p. 52 W OW13183 Name Code Owner RWNjed TFypo Descriptionl R The unswly created obeet ITMe typecode of the object to be creaed Therb objert that will Own the item Reserved for future ue DescriptionDodal aoteU0Mr franoiet-Ti ehi CallUed by the metarnodddealotlhleoyfranojc.Ti ehd in combinationk 'with CreateObectO, all ows tbe factory to impltiflttt custom memory all ocat ion schemnes.
signti~ure void UMjobjee Facxtpryts as"y~bjcct( UMEObj@cU' Object) Name Type Description Item I The object to gcmruY 1.1.12 UMEPropertyFOtorfl poet aatps Intrface for' all factory clases used to create instances o throet data ypes These data types are then aliased by the mctamnodl to createthdsre propertes.
Description .traieves, the size of the property that will be allocated by CreoteProper;YC). This is useld by the uMiEMeta=dmodl-t~OttemSize() method.
Signature slzcJ tN u roPedyFa Fyk-CIasSI( TypCodtt. Code) maanters Name .Type Description R 'the siz~eof th@class I The typecode, oftto propertY code Catopim DestripteU Createsan instance of the propery.
SignarI c UMAEPO 3IrtrP uMEPropculyFactorYk..CtPfPrtry( TypcCodc- Code, UMEOIJe owner, UME~actozyCoatSnt Reserved -NULL) 23 COMS ID No: SMBI-00758217 Received by P Australia: Time 14:34 Date 2004-05-20 Ma d 2004 15:10 Smocirenbung AttannetIs 20 a~j200 1510 morenurcRttrn~gs+613 9712 0159 p.53 WO 00/23333 PCTIUS99I24I 18 amsoer Type Description 4refun~ T he f1wwV crete~d property Code I The qccodeo the Property to be created Owmtr The object thlat will Owl'th properTY Reseived Reserved fori tnre use DescriIt(I' creates au aeceusor appropriate fort'e plroperty.
signature UMEACCCIso4l* UMEProp"~tF&ctry1-.:CmtACCCsw( TrypeCodC..t Code) Name Type Description CrteWW*I Rt The accellor code I The typecodo of the pitopcrty rot which AFL accessor is needied Descripton Called by the metamodel to deallocate the immoty for ani accessor.
Signtu~tre void U E~ppenyatoryl:DstCACCsor( UMEAccessorI Object) Name Type Description Itm I Thec meceusar to destoy Descrptian 0Usld by the mesmodel to dallocaxte be moz7 for a propels?. This method, int combinationl with CreaWPr0cttYO allows the facoy to imsplemnent customt mefiory allocati on scemetes.
Wcarrxbs. etc.
Signature vod UUMEPcflIaaOYlDCSrOyPoperty( UMEPropertyl 0 Object) Parameteirs Name Type Descuiption item I The praperty to destry 24 Parameters COMB ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date (Y-M-dl) 2004-05-20 Mau 2004 15:11 Smoorenburg Attornems +613 9712 0159 p.54 WO /2383 PCT/US99/241 1S 1.1.13 UMEObect interface for all objects within the UMA model.
lndProrh' Desription Locates the desired property on the object.
Signature UMEPropety UMEObJctl:;FindProperty(TTypeCodet Type. oolern Consruct(fNull Fale. Boolean ConstructilPrreFetch False) Paramters Name Type Description -rebrn> K The property. NULL if not F1und or constructed.
Type I The typecode o the desired property.
ConsftcucIfll I Irset to Tre, and the property is not found, it wilt be consruced and rearmed.
ConsrucdfPreFetck I If set to True, arid the property is not found and is marlked i the metamodel as a Prefetch property. it will be constructed and returned.
Description Retrieves the fhp sex upon the object. he nags are represented by bits ORed together.
Nh Theefz :JAould not hr caf lred with: mcmtaodcI flags an all1:0; Jypoe.
Signature ItmnFlagsJUMEObjct1:F1ag( void) coast Parameters Name Type Description Cra>R The bit flags on the item Deseripla Rtlseves the value of the spccilled property for the object.
Signatue RehumUMEObctb::GetProperty(T ypeCod Type, UMEAcgssrI Accessor) Parameters COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maaj 2004 15:12 Smoorenb~urg AFttorneyrs +613 9712 0159 PCTIUS99/241 1S WO 002S Name Type DesaIPtion R Thettrod&fothc I The typctOde of the desired property.
IM The accssor used to retiev tft value _QVum Typ Accssor 1d Description Retieves the local Id from the object Signature IdS mSlObjectl::Id( void) canst Panmetars Name Desegiptiohi Type Description R LocalidfLheobject Determines i two objects are eqrpl.
Signature Boolean UMEabjet:i5I'EtalC UNEObect Object' UMObjerlEYulilYStratsyl ObjectStratcy w NULL, UMEPrCpnyEqualiSfltelCyl ropcrtyStrutcsv
-NULL)
Parametlrs Name Afreturfi> 0bjel Objecl~ategy PropatySuategy Type DCsription 3 True If the objects test as equl I The otei side of the comparison I A stategy object that encapsulates the comparison algorithm for objects. If not supplied, the default algorithm is tied.
I A mtgy object that encapsulates the compariSon algorlkln for properties. If not supplied, ft default algorithu Is us&a Desription Dtenrime lfwo properties are equaL By default, properties re equal if they belong 10 the same pe of oject. he the sunm typecade and have the same value Note hatsorting Isnot pcsfbrmeod n vectorproperts hI the delult Straiy.
Signsture Rennt UMECbjctI;sProertyqu&l UMEObjetid Object TyptCodtJ Type.
UMEPropeWy qtuyStzateSyI SWrE- NULL) COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ma!d 2004 15:13 Smoorenburg Attornems 20 as 00415:3 Soornbug Atore~s +613 9712 0159 P.
5 6 PCTIUS99/241 18 WO 00/2883 PWarmeteS NamO ObjCC Type Prapelt3ySrl8Y Type Description it True If the properties togtms ecjuiI I The object owning the othe prOPerty 1 The wpecode of The property h cmarst I A strategy object that encapsultes tecmaic .lgoritlui for properties. If not supplie&l the default algorithm is used.
DenciM Determinets if the Object is Of the specified type.
Signature ljo'Iesn UMEObject::sTypC (TypcCndtt Type) coast Paranietcrg N==e Type Description R True if ite is oflbc specified tp I The typecode to rest TY"e Description Deletes the property fromn the obi co-.
Signsare Returnt elMtObjcd::N lrOPCW( TypeCadi)- Type. UMEAccCssorI AccCSSOT) Parameter% Name Accemos Typ Description R The error code for the cuUl IThe cypecode or the desired property.
I The *sw usd to destroy the twopert Deacrwptio Locae the owner of the desird typ. Thi method can traverse rultiple evels of owUenhP to locato the corret object Signatirt tUMEObJectI"*UMEOb~ctet::hType( TypeCodeJ Type Typecode::Udeflfled) const Parameters COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mau 2004 15:13 Smoorenburg Attorness +613 9712 0159 p.57 WO 00/23183 PCT/US99/241 18 Name Type Description .retflV) t The owning object of te specified type. NULL if none found I he typecode of the desired owner. if the default value is Type used, the Imunediate owner Is returned.
SetPropetr Description Sets the value of the specified property for the object Signlture Retrl UMEObjectl::SetPropcrty( TypeCode t Type UIMEAccessor AccesLor) Parameters Name Type Description Kntro R The error code for the call rre 1 The typecode of the desired property.
Accuser I The accessor used to set the value Description Allows semantic code to flag logically changed objects so they appear in the transaction log.
Tohingan object mlarks it as modified oven ifno properties on the object changed. The touch can be removed by calling the method with the pararneltr set to False.
Signature void UMEObSctL:Touch Boolean On) Paraseters Name Type Description on Tru modified. False unnodified TouchPeerft Descriptio Allows semanti code to flag logicaly changed properties so they appear in the transaction log.
Toudlag aproperty marks it as modified even ifts value did not change. The touch an be removed by calling the method with the parameter set to False.
Signatare void UMEObjectl::Touch Boolean On) Paramneters 28 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maad 2004 15:14 Smoorenburc nttrneizi +613 9712 0159 WO 00123883 PCT/US9/241 18 Name Type Description cturnb x The error code for Ote all Type I Typccode of the propty On I Te modiried, False unmodified DesrIptIw Reives the transaction utanaget monitoring the object.
Signature UMETxMr UMEObjectl:TXMSC void c-9 Paramelers Name Type Description retUnl> R The tmrPsoCtion maafger, NULL if one is not acive.
Description Retrieves the typecode of the object.
Signature TypeCCde_ UMEObfeccI:: Type void) coast Parnumta Name Typo Description 4V1uM R The typcode of the item Desit pron LocAtes the desired property and invoke; the visitor usa It.
Signature Usutk~ UMflObjecnVbitkProprty(TyPeCdeJ Type. UMEVisitoul &Visitor) Paramoturs Namo Type Description '=tuzP a, Theerror code or the cll Typ I The gypecode of ffe desired property.
Visior 1/O The visitor that will be employed 1.1.14 UMEProportyl CrateAcoessor COMS ID No: SMBI-00758217 ReceIved by IP Australia: Time 14:34 Date 2004-05-20 Maid 2004 15:14 Smoorenburg Flttor-ne!js 20 ats200 1:14 Smorenur Rtorn~s +613 9712 0159 P.59 WO 00/23883 PC'r1Us991241 18 Dessiptiea Conunmi an aeecuor (or the property. This duplicates the flanctionality found in the property $mrnuy (whichk is exposed via UMBIVetarmo defUsel), and is provided for pcfrwnance. For this rmcn, it is prefAbir that thiis not he implemented simply as a call to umEMetamoddcI~vsela~ftcAC~soL SiipftM UMEAcesohI 6UMEPropartlICe~tAeCesWC void) Fmn02Met Nam Type Description -Qeuttfl ft The accusser Flags Description Renrieva the flags set upon tW it=i. The flap are rep resented by bits Oted together.
)JZ Theseflog.: should n ot be confused with wawdeflalos on an irn 07".
Slignature IiemFagsj~ UMEPrweartyI::Plaus( void coast Parameters Namc Type Description -qetnm> f. The bit flags on the property Description Detenniacs; ifthe item is or the specified type.
Sknaus.
boola UMflProperty:IsType C TypcCodeJI Type )conh: PRaMeten Name Type Description Type fl3= Smsedption ft Tre Wtprupczty Us ofrthe specified type I *Me typecode totest kcieva t0= typecode of the item Stgnatre TypeCode,)t UKm.~entyl::Typc void coast COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mat 2004 15:14 Smoorenburg Attornes +613 9712 0159 WO 00/23883 PCTUS99/24 118 Parameters Name Type Description etun>y R The typecode of the property UMEAccessorl 1.1.15 Accessors control access to properties...setting values, getting values, and destroying properties. They ensure that the transaction manager and semantic mechanisms are managed conrrectly.
UMEAccessori defines the following action constants. Action constants determine what the accessor will attempt to do when used in a SetProperty call.
Constant kReplace kAppend kDelete kOverwriteFlas kForceReftesh ActiranCods Description Description Replace the values in the propery with the values in the accessor.
Append the values in the accessor to the values in the property For scalar properties, this Is the same as kReplace- Delete the values in the accessor from the values in the property.
Change the flags on the property to rnatch the flags in the accessor.
By derault, an accessor will not attempt to modify the values in a property if the new values match the old values. If this action code is set, the modirication wilt be forced.
Retrieves the action codes cumently set on the ace essor.
Signature unslgned long UMEAcccssorl:ActionCodes( void) const Parameters Name Type Description Mas R The current action codes Description Releves the property flags creently set on the accessor.
Stanature ltemlags_ JUMbAcessorl:Flags( void) const Parameters Nau Cretum> Type Description R The curent flags COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mam 2004 15:15 Smloorenbur-C Attarnems 2613 9712 0159 p.61 WO 00/23U3 PCr/U5991Z41 18 Remoes fle wse ofhe spcRiied property. This method allows the user to bypass the property lookup Inherent inUMEO*jctLG3ctPoprty. its rererence to the property Is available.
PpmrikotUME1 ccessorL.GoLlcopenyn aluu( UtEObjectt*Object, UME~ropertyl 0 Property) Parmeters Wuan Type Description retmr> OIbjcct Property NuliProa9rttUKAU The error code for the call A ererenc to the object owning the property A reference to the property Dewtriptian Logemily delete the specird property? This method allows the user to bypass the property lookup inh t ia UME bjcdctE:NIlIPWCpgty, ifs& reference tothc property is available.
Signature RcturnJ UMEAccsorNullPCopcrtyValuc UMEObjectI Objec, UMEPropertyl Property) Parameas Name Type tDecniption
C-QU
Object Property SetAotion Co The error code for the call A reference to th object owning the property A reference to the property Deseripliom Indicate whet etion the aceessor is to take on a Setroperty call. The code can be a bitwise Oing ofte acti constants noted above.
Signature voidUMEAevesowS ctAcioCOdt( usigaed long Coda) faralladers Name Type Descdiption I The flags desired on the properly.
Fl- 220ko SSome properties do not actualy delee upon destructio Instead. a null fla is set.
COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maad 2004 15:113 Smoorenburig nttrnetis +613 9712 0159 p.12 WO 00123883 pCVUS9924 118 DesrlptLou Se dn flhgadesizd on the propery. Thi is used in conjuneion with the kOverwxitlaAs action code to set new flags on a property. Note that calling this method wil have no cffect on the property unless the kOverwiteFligs action code Is set.
void UUEAossorI:SetFlgs( ItemFlagtFlagS) Paraetars Name Type Description I The flas. desired on the property.
Flags Set1rope3 VVMS )escrption Sets the value ofthe specl--iproperty. This method allows the user to bypass thc proptly lockup inherent in UMEObjectIZ:ScPOpertY. Ife referece to the properly is available.
Signatre Rstmj UMSAceesborl:ScIPropctIyVRlue( UMEObjectI Objec. UMEPropcrtyl Property) Paramueters Name Type Description Crctrft> Object Property SOtLaw The error code for the call A reference to the objcct owning the propety A reference to the property Deseription Conrols whether the aceessor operates in naw or cooked mode. In raw mode. semantics are rot fired. la cooked mode. semantics are fired.
This meatod will do nothing ithe assessor is actve...i.e. in the midst of modifying a property.
He varycs al about us serow accessors. Whia you do so, you ire bypassing the mocbanits designed to maintain model integrity. The UMA Cookbook contains some examples oewheu you might want to dots. Irin doubt. doret do it.
Sigature boo! UMEAccssr:Setataw( bool On) Parstraetlr COMS ID No: SMBi-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ma 2004 15:17 Smoorenburg Rttorness +613 9712 0159 p.63 WO 00f23883 PCTIUS99124118 Name Type Description <m.P R The old state of the accesr; True equals aw. False equals cooked On I The desired state of the accessor: True equals raw, False equals cooked 1.1.18 UMEScalarAccessorTI Extends: UMEAccessorI Templated interface for scaler acoessors.
etValue Description ets a value into the acessor.
Signature void UMESealarAcessotlC :SValue( const T Value) Parameters Name Type Description Value I The value to set In the accessor Value Description Retrieves the value in the accessor.
Signature TUMEScalarAccessorTIC:Vtluc(void) const Parameters Name Type Description ann R it The value in the accessor 1.1.17 UMEVectorAccessorTI xtends: UMIAccessorl Templated interface for vector accessors. Vector accessors are any that contain a set of scalar values arrays, lists, hash sets). They do not support sets of nonscalar values hash dictionary).
Vector accessors support an internal iterator that provides access to their values.
34 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maaj 2004 15:17 Smoorenburg Attannecjs 2613 9712 0159 p.64 WO 012333 PCT/US99124l18 Decriptiom Remove al values from the accessor.
Signature void tjMVeCtorAcC5oTTIC>ClWaw void) Dsciptlion Determines If the specified value is in the accessor.
Signature boot UMEVectorAcccssorTIv: :COltins( const T& Value) consi Parunzateut Name Type Description 4Crefln> True ifthe aceasor contains the value Description Determines the number of items inlhe accessor.
Signature unsigned long UMSVectorAcceso <TfCI>;COUft( void) conit Parameters Name Type Descripion qetuM Ik The number or items in the teenor Get Art Vlue Description Advances the inteal iterator and tieves, the next value.
ligtatre boot U EVectoerAc saorT C<t>::Go NextVsue T Value) Paramters Nun. Type Description QCr WER True if there is another value, False ir no more value 0 The value Aostlte~ilir COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mat, 2004 15:18 Smoorertburg flttorne~s +613 9712 0159 Mam 2004 15:10 Smorenburg nttarneteys +1313 97123 0159 WO 012383 PCTJUS99t24 18 Description Reseti the internal beustor.
Signature void UMEVcworACessotTlcTh.Rflc Ibotr void) Descrption Add a value or values to the accesbor.
Signature Variant A: void UMEVectorAcctssofflctvaSCtValue( carnt T Value) Variant B: void UMEvedcorAcCC55OrF>SttiVlueC conal LWVTOrderedVectorTC Values) Parameters Name Type Description value I A single value to append to the aecessor Values I A set of values to append to the accsof .1.1 UMEObjectSemaftlcl Defines the interfaee for all object semantics. Object semantic events arc identified by a series of bit flags.
UMEObjcctSmnaticl defines the following event ids: Can Constant Abori Description kpontcemon N Fired immediately after the object is mracted by the user kMzkstruction Y Fired immednely beore the object ilt be destroyed kPriTypeCodeChano Y Fired Immedaely bfre subtype migration ftos1TYpCCodc Chluge Y Pied bsmediately afersubype migration kMauwpCahcb N Fird i dbtdey sfter th object isacred by a load from prsiset staore or by the truisacdon uaragcr..
Deription Invokes the semate.
Signabre RenL t UhEMObjeetScmtunt::FPtt( SernauticEventt Event, UMEObjecti Object, UMEObjecaSmantlcContext Reserved NULL) 36 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matti 004 15:10 Smooerenour-g Attorne!As +613 9712 0158 p.66 WO OO 83 PCTIUS99/24118 Porametm flame Event Object Re-ed
ULLQM
Type Description R Ime efr code for the call I The ainautic event that is being triggered I The object being affected Reserved fr fbure use Description Retrievcs the semantic events that the semantic handles. This is used for performance enhanremen. This method is oated only once, upon registration of the semantic with the metsmodel- The events handled by the semantic cannot be altered at rantine.
Slgnature SanantlcEvent_t UMEObjectScmnnti::ftrteresi( void) const Parmmetwer Nam* -CCeeWi> Type Description R The flags indicating the semantic events handled 1.1.19 UMEPropertySemanti l Defines the interface for all property semantics.' Property semantic events are identified by a series orbit flags.
UMEPropetySernanticl defines the following event ids: Constant kPodEdit MPzeDestractiou Can Abort
V
Descriptioi Fired just before a propry's value is changed Y Firedjut alter a pmpcu'ya value is changed Firedjust befre a propery is dcwoyed N For popeits Ilagd as prftet type in the metandel and tha have the kPmFcr h instance fag twned on. fired just before tlw value of the property is read.
N Property was Jun cltpped N The owning object is about to be destroyed kiPastClip kPrew=Dfestmaict COMS ID No: SMBI-00758217 Received by IP Australia; Time 14:34 Date 2004-05-20 Mab 2004 15:19 Smoorenburg Attorneyss +613 9712 0159 p.67 WO 00/23883 PCTUS9924115 Description invokces the semadte.
Signature Remtn tI-REPopetySemanticlFirn( SemanticEvent-t Event, JMEObjectI Object, 1IMEPrpetyl Property, UMEropertySecmauticContext Reserved NULL] Parameters Name <ctm> Event Object Prperty Reserved wAlIOUNIC Type Description R The ncrcode for the call I The semantic event that is being triggered I The object being affected I The property being affected Reserved for frner use DescriptIon Retrieves the aemaulic events that the seantic handles. This is used for perfornm nce enhancment. This method is called only once., upon egistraion of the scmantic with the metamodel. The events handled by the semantic cannot be altered at runtime.
Signature ScrnanticEventt UMEPropertySemautic:Interests( void const Parameters Name Type Description R The flags indicating the semantic events handled Qelnu 1.1.20 UMETxCommrnandl Transaction commands are used to specify a set of actions that are to take place at the end of the urent transaction.
As an example, the semantic mechbanism does not allow a property that is the subject of a semantic firing to be destroyed in the midst of the event. To do so would remove the property from memory before all semantics had an opportunity to completc. Attempts to destroy a property in this circumstance result in a destnruction command being queued with the transaction manager. After all semantics have fired, the property will be destroyed.
DO
Description Exenutes the command.
COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mam 2004 15:20 Smoorenbure Attornecys +613 9712 0159 p.68 WO 0023S3 PCTIUSS2418 Stguture bad UMETxCDontaudL:Do( void) Fararnete Name cremnP Type Description R Tnt if the commad executed successfully.
1.1.21 U METxMgr Intbxface used for managing transactions.
AdantgomrafV d Descriptin NM £Icommand into the transaction manager'S queue ror execution at the end or the transactiOn.
Thc connand musthe allocated an the heap and responsibility ror its destruction pastes to the trumizctiwunmauger.
Signature Rcsultj UMSTXMFI-.:AdOptCOlf2ad( UtMETxCotrttandl Command) Parameters Name Type Description IL The error code for the cull I Command object to he enqueued cm Command seligm Description Stun a trancsactin.
Variant A: RezMit UMExMphnBegkt UMET)IdI Id, booleati Notify fase.
UMEDauaI Data, boo AutoDelhsuet te Variant B: ItasiLt UME7xMgrlhBcgWn( VMMIdi I&d UMESubscriberl Subscriber) Parameter Name Id Type Description R 7hemre codelrbrtheall 0 Reeivcs the unacslton Id assigned to the new transaction I Indicates irsbscuben to the Iarmuction manager should be notified when this transaction closes.
DmewtiptIo Rtrieves the tranetion dnat attached to the specified transaction.
COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ham 2004 15:20 Smoorenbur 1 Attarnegs +613 9712 0159 P.69 WO 00/23853 PCT/S9924118 Data I Proguammer-denned AUteflh0Iut t Indicates irtbis Erans Subsrib I Aconnull value ca tranaction mann.e CurswnfTid Description Retrieves the Id of the current transaction.
Signature const UMETxldI UtETxMgl:-Cunrenaxld (void) Parameters Name Type Descriadton data:. store with the transaction.
moton will be undoable atI ills closed as a ne-limo wsbscripion to the creturn R Id of the current trunsacl Descripliwa Ends a traacdon and causes a comnit ofthe events within it.
Signature Kaulj UMElMgrI::End( UMEhzjdI Id) Paramters Namne Tve fesacrinin on -IF- T~ T <renzm R The error code forthe call Id I Identifies the uansaciion to b Ed1 Delcription Fails a "tasation and cases a rollback of the events within iL Sipatumr Realt UMEflIMgrL:PaU( UMErxId! Ed) Parantera Name Tfpe Dsription IT hb. error code ror the call Id I Identities the mas ctin to, b -GietTx~ala Dsseriplon Rmbine the tanaction data attached to the specified transaction.
Ic ended.
e failed.
COMS ID Na: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ham 2004 15:21 Smorernburg Attrneds +613 9712 0159 WO 00/23983 PCTIUS99/24 118 sigatre ,rzmtUMET*MgI:GctTzDtac(UMETdll Id, UMETXDAtI&Dats) ParuMctNU Name Type Description Cflurn R The error code for the call Id The transaction id Data Receives the trmnsavtiol data ~Gel ttrTJCL ail Descrption Retrieves a list ofthe outermost (user) tranctions.
Signature Rcinmj Urflxflgrl::OcltOutrTxLst( LWTOrdCcdVCVcNTor JMETXIdI L> Tansactid's) con Parmeters Name Type Description <rmrn; R The error code for ibc call Tranaciofs 0 The list of outer transactions Descripltio Reienve the transaction id for a named trasacion.
Signature Retunit UMET'xMgrI::OTxldC coast LWTString Name. UMETdi Id) cons: Parameters Narne Type Description crtwn> R The error code for the call Name I The manc of the transction Id 0 The id of the transaction GOt TNamn Decrption Ratrleves the name of a transaction.
SIgnature hCWmn UbMET)MgrI±±GexflmeC UMETxIdC 14 LWTSting NUne cons, ParAnsMWr 41 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Hatj 2004 15:21 Smoornbung nttornecds +613 9712 0159 p.71 WO 00fl3823 PCT/LS99nt4 RS Name Type Description <return' f The ar code for the call Id I The transaction id Name 0 The name of due nanaction peserladn Determines if he transaction manage? is curently loging.
Slgnature bo1lUMETMzTlIlstoggi4C void coast Parauters;l Name Type Description *eqlni R True if legging Description Detrnmines if the tranaction mancr is !n a good stat.
Signature bool UMTMsrI::I-sOk( void )coast Psrameten Nae Type Description <retu> True ifOk -Wk~cven Description Deunines Ifs tansaction is currently open.
Signature eal tJMETzMgrI:JlsTzp( void) const Parameters NAMI Type Description Qetu' R True ifa trmnadon is open.
Descriptiwi Reatieve the Id of the next tanation.
Signature UME7hxdl UMflxMgrk-Nenflcld( void) 42 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mas 2004 15:22 Smoorenburg Attornebs 20 a~i200 1522 morenurgAttrnegs+13 9712 0159 p.72 W OO02383 rCriuS"9a4118 NAM Type Description -qrfts> KL Id of the next ffosflUctiOtl DescrlptlOat ajuses the tunsacdiot znanga to suspend logging.
Signinit Resul t) UMETMrl--PSusc( void) Parameters Name Type Description 4CIet%> R The error code of the call Prrtiazasix Description Retrieves the id of the previouis trnsaction.
Signature UMMIldI UMEMhMSI::PCviousTxld( void) Parameters Name Type Description Crebuu> R Idof the previouS tmnsaction Description Causes fth VZanacUioU mnatager to resutme logging.
Signature Rcsult tiMET*Mvgrh:Resune( vaid) Paaetmny Warne Type Descripton Caftljrn P. The star code @1 the call seffa lam Description Specifies a user-readable namew for a transaction.
Signature Returnt UM[EThMgrI::.SetfxNac( UMFNIdI 3d, coest LWTSrrifl& Name) 43 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 2004 15:22 Smoorenburg Attornebs +613 9712 0159 p.73 WO 00/23883 PCTS9924138 Psrametfl' Nae 'Type Description <Cctum'> R he err code fo the call 3d I The id of the transaction NAme K The name PtM an the tnsctin DclsClptlofl Causes the tralsaction ianager i. redo to the specified transaction.
Signatur Resul UMETxMtZRedO( UMETIddI 3d) 3pargimters ussr Type Description <reflfl R The error code of the call id I Idenifies the transaction to be redont neserliption Causes the trtsactlon maalir flush all tansactions and return to its initial stale.
Signature Reult) UMETx3drIRC5ct( void) Parameters Name Type Description tetuE> R Thc error code or the call Description Causes dn unasaiction nurager to undo to the specified trsfctoO Rcsultt UMETMrI::Uado(UMTddI Id) Farameteri Nampe Type Descrlpion csum> fR Tha error code of the call 3d I Identifies the transaction to be undone 44 COMS I No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mard 2004 15:23 Smoor-enburtg nttornems +613 9712 0159 p.74 WO 0123883 PCT/1S99fl41 18 1.1.22 UMEWisItori VWli~ Ducrlption Invokes tke visitor to operate on the specified item.
Varint ReturaJt UMEVisitor:Visit( UMEObjeti *Otjcct) Variat 3: Returnt UMEVishorb:Visil( UMErropertyt 0 Property) Parametmfl Name Type Description Cetwfl It Object I Propety I UMEproportylterato The error code for the call The objet to visit ill property to visit 1.1.23 Used to iterate across the properties owned by a a object.
As. with all UMA iterators, it uses a 'Move then read" metaphor-you must increment befbre reading the next value.
Filter and sorting are supported ror this iterator.
Scum Description Returns theuur of properties tht will be iterated. Note. if a fitier is used, the iecrator will have to traverse the property list to detennic the Mactal cont.
Slignare long UMEUMEPropcftytevuofIl:.)ultC void cogs Parsamdan Nam Type Description R The nmmber ofitgs tatwill be iterated Reset -B-It Descrlpllua teinitalites dhe iterator.
igfle vid UMEliUPRopcrtylratori::Resci( boot Recalculate) COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maid 2004 15:23 Smoorenburg Rttorneds +613 9712 0159 WO 00123M PCTl1S99124118 Parameters Name Type DseriptOf Recalculate I lIfTe. the sorting and filtering (if any) will be reperfonned. If False, the old filtering and soning remain In effect SetFliter lDucriptona Sets the filter to be used on the irerator. Changing the filter onco iteration has begun will cause a reset to be performed on the lierator.
Signature void UhtBUMEPropcrtyiteltorlSZetFiltCr( UMEFilcrTICUMEPropnyI Filer) Parametrers Name Type Description Fiter I Te filter to be wed while iterating sefsorter Descripton Set the sorter tote used on the Iteratar. Qianging the ssrer once iteration has begun will cause a reset to be performed on the Itntor.
Signature void UMUMEPrOpeyItertorFI;SetSorter( UMESortcrTlUMEProperflY I Sorter) Parameters Maine Type Description Sorter I The Sorter to be used while iterating -YA F.
Deeriptia.
3* efflves the value at ie spenatt kerator pouition. If the Ierator is bfore the beginnifl of the cmuainer. the teak. ae uIqOuxee&
SI-
UMWropmtyl UMlUMBPropertyelmorl::Vat void) const Parsaeters Name Type Description rebtn> The curent value of the Iteraor onorafarC* 46 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Maaj 2004 15:24 Smoorenburg nttornejs +613 9712 0159 p.76 WO 0012388 PCTIUS9i4I 18 Incsrmeltf the cntot.
signature boo IUMEUMpperotyUteratorm::oper0 void) Paradeter Name Type Description crhum b a Due If the itemion succceded. False ifthere are no mre IA1.24 UMEFI1terTi This is the interface for a templated filter used by the various iterators in the IMA modules.
sa Descripton Tests the ienia see jilt should be included in the itaration.
Signatre boot UMEFiedniTC(TGstT Item) Parametert Name Type Description 4TUP R Tiue if the hem should be included, False if not etam I The item to be tsted 1.1.25 UMESorterTi This is the interface for a templated sorter used by the various iteratos in to UMA modules.
Sad Sorts the buffet of itcms Ino the desired order.
Sglaature boolUMESortdn<l>S Bufter, long Count) Paruuer COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 1at 2004 15:24 Smoorenburg Attornets +613 9712 0159 p.77 WO 00/23883 PCT/US992411 8 Name Type Description Bue I A bubr of ites to be sorted Count I The number of itens in the buffer 13.2B UMESIgnatureGeneratorl Signature geneators are conceptually similar to visitors, they encapsulate an algorithm for operating on an object. In their case, they extract a signature for the object. A sigriatunre is a string that uniquely identifies the object in the model.
Multiple signature generators can be registered with the metamodel to provide different algorithms for mtratching objects.
Signature generators must advertise the level of the values th6y generate. The level of a signature indicates the scope of its uniqueness. The levels are indicated by the constants in the following table. For each level, an example is provided indicating a signature for a database table.
Constant Description kUniveml The signature is unique cross timd and space. An example would be a suing represenmation ofata GUID.
CBBDCSI-93C .11 cf-8F20-00805F2CD064 kIfstalltion The signature is unique across time, but its uniqueness is limited to a particular repository of models. An example would be a string representation of a ModelMart 3.0 id.
123Z3123 cSession The signature is unique across models in memory, but is not unique once the current session ends. An example would be a strin representation of an UMAA localid.
298 kPersistewcUnit The signature is unique across a persistemnce unit in memory. An example would be a string concatenating the typecode, project name, model name, owner name, and table mame.
43.Projectl.OrcteModeLtdefler.Custoer kWarkspace The signature is unique across a workspace in memory. An example would be a string eoncatenatng typecode, owner name. mid table name.
43tdeflerCnstoner GetStanature Description Contsucts a signatre for the object ir the object type is not supported, an empty string will be returned.
49 COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Mas 2004 15:25 Smoorenburg Attornems +613 9712 0159 p.78 Wa 00/23883 PCT/US99a4i is LtGliguauue( UMiObjcdi Object. LWTStrInz Sizatluro vae umanrngMAMwrUuemor C onst Paameters Name Type Descripdan Object I The object for which a slgnatu' signr 0 The siglarfe WId Description Rebioveg the id.
Signature SLgnaseGe~aorfldUMESigataenanorl-:d( void) crat nrameters Name Typo Description ,Qb' R The id _SianaafLon,~ Description Returns a constant indicating the type of signature genmnred.
Signature long UMESignmnwrcncmraotSignatureLevel( void coast 'ammeters 1am1 Type Descripion VIP R The signature Icvl re is generated COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20

Claims (11)

  1. 2. The apparatus according to claim 1, further comprising a transaction manager coupled to the object/property interface for undoing an action that places the object/property model in an invalid state.
  2. 3. The apparatus according to claim 1, wherein the semantic registry of the meta model includes at least a predefined set of semantics.
  3. 4. The apparatus according to claim 1, wherein the semantic registry of the meta model includes at least one set of semantics provided by a developer. S. The apparatus according to claim 1, wherein the object/property factory registry of the meta model includes at least one object factory for creating an instance of an object and one property factory for creating an instance of a property.
  4. 6. The apparatus according to claim 1, wherein the object/property model includes a predefined set of at least-one of a plurality of objects and a plurality COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Ham 2004 14:54 Smoornburc nttornebs +613 9712 0159 p.27 WO 00/23883 PCT/US99124118 24 of properties.
  5. 7. The apparatus according to claim 1, wherein the object/property model includes instances of objects and properties based on an external definition of the meta model.
  6. 8. The apparatus according to claim 2, further comprising a log file coupled to the transaction manager object/property interface.
  7. 9. The apparatus according to claim 1, wherein the object/property interface limits access to the object/property model. A method for building a modeling tool, comprising: constructing an object/property model by defining a first set of classes; constructing a meta model by defining a second set of classes; associating a type code with the first and second set of classes; providing a predefined set of semantics to the meta model; identifying a plurality of discrete events, wherein at least one semantic of the set of semantics is invoked at each occurrence of the plurality of discrete events; and providing an object/property interface for limiting access to the object/property model.
  8. 11. The method according to claim lo, further comprising: COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matil 2004 14:54 Smoorenburg Attornems 20 a~ 00414:4 SooeriurgAttrneis+13 9712 0158 WO 00/23883 PCTU9924118 providing a transaction manager for undoing an action that places the object/property model in an invalid state.
  9. 12. The method according to claim 1C, wherein the object/property model includes a predefined set of at least one of a plurality of objects and a plurality of properties. .210 13. The method according to claim 10, wherein the object /property model includes instances of objects and properties based on an external definition of the meta model provided by the developer.
  10. 14. The method according to claim 10, wherein the meta model includes at least one set of semantics provided by the developer. An apparatus for building a modeling tool, compri sing: a first model including a registry and a data manager; an interface; a factory registry coupled to the first model and the interface; and a second model coupled to the interface; wherein the registry includes semantics,
  11. 16. A method for building a modeling tool, comprising: constructing a first model by defining a first Bet of classes; constructing a second model by defining a second set of classes; COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20 Matj 21004 14:55 Smooremburg Attorneiis +613 9712 0159 p.29 WO 00/23883 PCT/US9924118 26 associating a type code with the first and second set of classes; providing a predefined .set of semantics to the first model; identifying a plurality of discrete events, wherein at least one semantic of the set of semantics is invoked at each occurrence of the plurality of discrete events; and providing an interface for limiting access to the first 1C model. K> COMS ID No: SMBI-00758217 Received by IP Australia: Time 14:34 Date 2004-05-20
AU2004202148A 1998-10-16 2004-05-20 Apparatus and Method for Building Modeling Tools Abandoned AU2004202148A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2004202148A AU2004202148A1 (en) 1998-10-16 2004-05-20 Apparatus and Method for Building Modeling Tools
AU2008202027A AU2008202027A1 (en) 1998-10-16 2008-05-07 Apparatus and Method for Building Modeling Tools

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US60104682 1998-10-16
AU12071/00A AU1207100A (en) 1998-10-16 1999-10-15 Apparatus and method for building modeling tools
AU2004202148A AU2004202148A1 (en) 1998-10-16 2004-05-20 Apparatus and Method for Building Modeling Tools

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU12071/00A Division AU1207100A (en) 1998-10-16 1999-10-15 Apparatus and method for building modeling tools

Related Child Applications (1)

Application Number Title Priority Date Filing Date
AU2008202027A Division AU2008202027A1 (en) 1998-10-16 2008-05-07 Apparatus and Method for Building Modeling Tools

Publications (1)

Publication Number Publication Date
AU2004202148A1 true AU2004202148A1 (en) 2004-07-29

Family

ID=34317984

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2004202148A Abandoned AU2004202148A1 (en) 1998-10-16 2004-05-20 Apparatus and Method for Building Modeling Tools

Country Status (1)

Country Link
AU (1) AU2004202148A1 (en)

Similar Documents

Publication Publication Date Title
IL142571A (en) Apparatus and method for building modeling tools
JP5787963B2 (en) Computer platform programming interface
Forcier et al. Python web development with Django
US8577837B2 (en) Method and system for generic extraction of business object data
US20130318200A1 (en) Server evaluation of client-side script
US20070083378A1 (en) Secure application programming interface
EP2751675A1 (en) Describing native application programming interfaces of an operating system with metadata
Alchin Pro Django
US20070011266A1 (en) Automatic create, update and delete event publishing
Strengholt Data Management at scale
KR20060047998A (en) Method and system for embedding context information in a document
JP2009230758A (en) Archive stream based install
US7958089B2 (en) Processing of a generalized directed object graph for storage in a relational database
D’souza et al. Blockchain and AI in pharmaceutical supply chain
JP4660483B2 (en) Identity system for use in computing environments
Pham et al. Multithreaded programming with Windows NT
Gallesio STk reference manual
AU2004202148A1 (en) Apparatus and Method for Building Modeling Tools
Dorfman et al. Data Management Solutions Using SAS Hash Table Operations: A Business Intelligence Case Study
Bogan Formal specification of a simple operating system
WO2013039800A1 (en) Simulation of static members and parameterized constructors on an interface-based api
Schwartz et al. Intermediate Perl: Beyond The Basics of Learning Perl
AU2008202027A1 (en) Apparatus and Method for Building Modeling Tools
Findeisen The EARA model for Metaview
Krogh et al. SQL Tables

Legal Events

Date Code Title Description
MK5 Application lapsed section 142(2)(e) - patent request and compl. specification not accepted