WO2010105133A1 - System and method for non-overwriting extensible mapping - Google Patents

System and method for non-overwriting extensible mapping Download PDF

Info

Publication number
WO2010105133A1
WO2010105133A1 PCT/US2010/027101 US2010027101W WO2010105133A1 WO 2010105133 A1 WO2010105133 A1 WO 2010105133A1 US 2010027101 W US2010027101 W US 2010027101W WO 2010105133 A1 WO2010105133 A1 WO 2010105133A1
Authority
WO
WIPO (PCT)
Prior art keywords
result
processing system
data processing
data
input object
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.)
Ceased
Application number
PCT/US2010/027101
Other languages
French (fr)
Inventor
John Staehle Whelan
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.)
Siemens Industry Software Inc
Original Assignee
Siemens Product Lifecycle Management Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Product Lifecycle Management Software Inc filed Critical Siemens Product Lifecycle Management Software Inc
Publication of WO2010105133A1 publication Critical patent/WO2010105133A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion

Definitions

  • the present disclosure is directed, in general, to systems and methods for data conversion.
  • Various embodiments include a method for data mapping, a data processing system comprising a processor and accessible memory that is configured to perform the steps of a similar method, and a tangible computer-readable medium encoded with computer executable instructions that, when executed, cause a data processing system to perform the steps of a similar method.
  • the method includes loading an input object in a data processing system, the input object including a plurality of elements.
  • the method includes loading a mapping control file and processing the input object and the mapping control file to produce a result set including a plurality of result documents.
  • the method includes combining multiple ones of the plurality of result documents according to inheritance data defined in the mapping control file to produce a combined result.
  • the method includes storing the combined result in the data processing system
  • Some embodiments include further method steps, such as receiving a change to at least one result document of the result set. propagating the change to other result documents of the result set according to the inheritance data, recombining multiple ones of the plurality of result sets, by the daia processing system, according to the inheritance data to produce a revised combined result, and storing the revised combined result in the data processing system.
  • the input object is an XML document.
  • the result set includes a result document each mapping defined in the mapping control file with a criterion matching that of an element of the input object.
  • the combined result is a transformation of the input object into a second data format.
  • the mapping control file defines parent- child inheritance relationships between multiple ones of the plurality of result documents.
  • controller means any device, system or part thereof thai controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments.
  • FIG. 10 Figure I depicts a data processing system in accordance with disclosed embodiments
  • Figure 2 illustrates the mapping of elements into factors in accordance with disclosed embodiments
  • FIG. 4 shows a combined factor corresponding to the factor result set of Figure 3. in accordance with disclosed embodiments
  • FIG. 5 illustrates a multiple-inheritance graph that can be produced in accordance with disclosed embodiments
  • Figure 6 shows a single inheritance graph corresponding to the multiple inheritance graph of Figure 5, in accordance with disclosed embodiments.
  • Various embodiments disclosed herein allow for custom XSL mappings modify the results of existing mappings without modification to existing mappings. This allows for data mappings to be extended and reused while still maintaining knowledge of the source of each individual change.
  • the techniques described herein enable re-use of existing mappings in multiple sub-cases without requiring copies to be created; thus ensuring that all mappings that use a common base mapping stay up- to-date and synchronized.
  • mappings between different systems and applications.
  • software providers provide mappings for out-of-the-box (OOTB) classes referenced in their products, but these mappings do not incorporate user-specific extensions that may have been added to the user ' s systems.
  • the user is required to clone the OOTB mappings and modify them to suit the user-specific mapping needs.
  • OOTB mapping updates are available (new feature, bug fix, etc.). the modifications must be manually adapted to the customer- specific mappings.
  • each subclass mapping must contain the complete set of mappings. If a change occurs in how a base class is to be mapped to a destination, in some systems, each subclass mapping needs to be manually updated with the change. Additionally, this approach does not scale well to have different developers work on mappings due to possible communication gaps and concurrent access to files.
  • the disclosed embodiments include improved processes for updating such mappings.
  • the disclosed embodiments can improve any general -purpose schema- mapping software by simplifying and automating solutions to complex mapping problems.
  • FIG. 1 depicts a block diagram of a data processing system in which an embodiment can be implemented when configured to perform the mapping, combining, and other functions described.
  • the data processing system depicted includes a processor 102 connected to a level two cache/bridge 104, which is connected in ium to a local system bus 106.
  • Local system bus 106 may be, for example, a peripheral component interconnect (PCl) architecture bus.
  • main memory 108 Also connected to local system bus in the depicted example are a main memory 108 and a graphics adapter 1 10.
  • the graphics adapter I IO may be connected to display 1 1 1.
  • Peripherals such as local area network (LAN) / Wide Area Network / Wireless (e.g. WiFi) adapter 1 12, may also be connected to local system bus 106.
  • Expansion bus interface 1 14 connects local system bus 106 to input/output (I/O) bus 1 16.
  • I/O bus 1 16 is connected to keyboard/mouse adapter 1 18.
  • Disk controller 120 can be connected to a storage 126, which can be any suitable machine usable or machine readable storage medium, including but not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs). magnetic tape storage, and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs), and other known optical, electrical, or magnetic storage devices.
  • ROMs read only memories
  • EEPROMs
  • Audio adapter 124 Also connected to I/O bus 1 16 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds.
  • Key board/mouse adapter 1 18 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, etc.
  • a data processing system in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface.
  • the operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application.
  • a cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.
  • LAN/ WAN/Wireless adapter 1 12 can be connected to a network 130 (not a part of data processing system 100), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet.
  • Data processing system 100 can communicate over network 130 with server system 140. which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.
  • Disclosed embodiments include a Mapper Engine that supports factor inheritance.
  • the Mapper Engine can model parent-child relationships between Factors and can merge output of different factors based on these parent-child relationships.
  • factors and factoring processes as used herein can correspond to those processes and factors as described in United States Patent Application 1 1/975.527, filed October 19, 2007. which is hereby incorporated by reference in its entirety.
  • the Mapper Engine can support an arbitrary number of levels of inheritance of factors, and can support multiple elements of the same element type within a factor.
  • the Mapping Engine first loads the input data, in the first data format, to be mapped lo a second data format.
  • the input data has a plurality of input data objects.
  • the system then loads Factor definitions, which can be part of a mapping control file.
  • the Mapping Engine then breaks the problem down by determining which output data objects should be created from the input data. In each pass, the system identifies at least one output object to be created from a subset of the total input data objects.
  • the system applies a Factor scope to determine which input data lo process. For each type of input object(s) that has no references to other objects, mapping the system applies a Factor scope that will gather all the incoming data needed to create the output data.
  • the Factor definitions, in the mapping control file defines a subset of data that must be mapped.
  • the mapping system uses the factor definitions to first scope a subset of data and then to map it, as below. As pan of the factor definitions in the mapping control file, relevant portions of the data can be given unique tokens to allow the any cross references to be resolved.
  • the mapping system applies a Factor mapping to turn that sub-set of incoming data into the output objects, optionally using a schema that defines the output objects.
  • the mapping system maps the correspondence between ⁇ the incoming object and its output object.
  • the mapping system applies a set of Factors that will gather all the incoming data needed to create the output data. The mapping system repeats the factoring and mapping steps until all data is mapped.
  • mapping system resolves all cross references between each output data object. This process allows complex mappings to be broken down into simpler pieces, just as large numbers can be factored, and then reassembled in the final output process. Finally, having defined all mapping factors and resolved all cross references between the output data objects, the mapping system creates the output data, including the output data objects, according to the second data formal and any required schema.
  • TcFactors allow multiple TcFactors to be created for each input root object via multiple factors corresponding to the match criteria of the element. For a given input root object, each matching factor will result in the generation of a TcFactor.
  • the result set of TcFactors that are generated from a given root element are related via a directed graph of inheritance where the starting point of the graph is specifically identified. As a post-processing step in the Mapping Engine, the result set of TcFactors can be consolidated down to a single TcFactor.
  • Figure 2 illustrates the mapping of elements into factors in accordance with a disclosed embodiment.
  • the Mapper Engine 205 allows for multiple factors 215/220/225 to match a given input element 2K ) , and also allows for a combined TcFactor 235 to be generated for each factor matching a given root-level element.
  • Mapper Engine 205 uses mapping control file 240 to map the input element 210 to a result set 230 that can contain one or more result documents, such as one or more abstract TcFactors 215/220 and one or more concrete TcFactors 225, in accordance with schema 250, which defines the output structure.
  • Mapper Engine 205 can combine the result set 230 into a combined TcFactor 235.
  • the Mapper Engine 205 uses a mapping control file 240 that allows the engine to specify inheritance in factors, before combining the results.
  • the map control file in some embodiments, contains several transforms such as XSL templates that meet the criteria (match) a given input. Instead of picking the best match, as does conventional XSL. all of the matching transforms are invoked, thus causing each transform to generate a resultant document (the output data object). This is followed by a combination step which uses inheritance, as defined in the mapping control file, to merge together the results into a single result.
  • the merging/combining process basically puts it all together, and in the case where two results are different for a given attribute, decides which result values should be used.
  • the mapping control file 240 includes attributes used to support inheritance in the TcFaclors.
  • the mapping control file 240 contains the input criteria for each resultant TcFactor, the transformations, such as XML transformations, for producing each resulting TcFactor, and the inheritance graph for each transform resultant TcFactor, which defines how to merge results.
  • TcFactor.nodeType attribute specifies the role of this factor in a set of inheritances. Supported values are:
  • TcFactor is used by another TcFactor which inherits, and may override the values contained in this TcFactor.
  • TcFactor elements that are specified as 'abstract' are not starting points for creating result TcFactor elements.
  • parentName If specified, this attribute specifies the type of the parent TcFaclor for the current element. The value of the parentName attribute in the current TcFactor is substituted for the current TcFactor element factorld attribute's name in order to identify the parent TcFactor element.
  • the factorld attribute values are in the form of lfactor type
  • a TcFactor with a parentName of TopFactor7' and a factorld of 'BottomFactor7_IiemIdValue2' would have a parent with a factorld of TopFactor7JtemIdValue2'.
  • Figure 3 shows an exemplar.- factor result set.
  • Figure 4 shows a combined factor corresponding to the factor result set of Figure 3.
  • the factor result set includes factor 205 associated with library element 310; factor 315, which inherits from factor 305, associated with library elements 320/325; and factor 330, which inherits from parent factor 315, associated with library elements 335/340/345.
  • each factor includes a parentName designating its parent factor, if any, that indicates how the combining is performed.
  • Figure 4 shows a combined factor 430 thai corresponds to factor 330 in Figure 3.
  • clement 435 includes its own value for "X” (from clement 335), its parent value for "Y “ (from element 320), and its grandparent value for S Z" (from element 310).
  • Element 440 includes its own value for "Y” and “Z” (from element 340), and its parent value for ''X " (from element 325).
  • Element 445 includes its own values corresponding to element 345, since there was no other " ; Library3" element in the result set of Figure 3.
  • an element of a child factor retains any existing value in the combined factor, and any empty values are replaced by the corresponding value of the parent factor, recursively.
  • Mapper Engine In addition to inheritance, the Mapper Engine also consolidates foreign references to XML elements. Each element (even abstract ones) contain a key attribute such as ⁇ XSL:key>, and other elements may contain attributes that reference these key attributes. In order to retain referential integrity, the Mapper Engine implements simple substitution on key values; all foreign key values are resolved from abstract element Key values to the key value of the combined element.
  • the key value of combined element is the same value as specified in the concrete element. Note also that because inheritance is additive in some embodiments, all abstract TcFactor subelements will have a corresponding sub-element in the corresponding concrete TcFactor.
  • the combiner code need to know each attribute which acts as a foreign reference to an element. It uses this information in order to redirect foreign references from abstract elements to result elements.
  • the combiner uses the attribute ' rcfKcyAttributcs' to keep track of attributes that represent foreign references. The code works both for single reference and multiple reference values.
  • the element identification attributes and foreign reference attributes can be obtained in different ways. In some embodiments, these attributes can be stored in and read from the mapping control file. In some other embodiments, the Mapping Engine can retrieve the information from schema. In some olher embodiments, the Mapping Engine supports configuration settings to allow a user or other application to specify the attributes.
  • the Mapping Engine can aulo-generate element identification attributes, for example by generating a hash of the input object, and setting that value to a defined attribute before the Mapping Engine splits apart the input XML document into factors.
  • multiple inheritance can simplify the logical model for mapping.
  • the Mapper Engine can support composition. For example, consider an item "Item'' for which there are three different groups that wish to specify mappings. Those three groups are the First Team. Second Team, and Third Team.. Additionally, assume that the Item has three attributes of interest, which are firstAHr, secondAttr, and thirdAttr. In this example, each of the development teams independently develops a mapping.
  • Figure 5 illustrates a multiple-inheritance graph that can be produced in accordance with disclosed embodiments
  • mappings can be developed independently, and the composition of a mapping can be dynamically constructed. Supporting multiple inheritance requires the parentName attribute that supports multiple entries.
  • each multiple inheritance graph can be logically represented in a comparable single inheritance graph.
  • the multiple inheritance graph of Figure 5 can be represented in the single inheritance graph of Figure 6.
  • One benefit of multiple inheritance is the ability to support isolation of mappings; this benefit produces advantages in producing mappings independently and in dynamically composing mappings.
  • multiple inheritance at design time is implemented at run-time as nested inheritance. This allows the inheritance to be determined by the designer of the composite mapping (505), instead of being determined by the creators or the other mappings (515, 525. 535). Without this ability, the makers of (at least two out of three) the parent mappings would need to identify the parent mapping (via the parentName). Accroding to disclosed embodiments, the composite mapping can dynamically assign applicable mappings (and order of mappings) from which they will inherit.
  • Child mappings could be specified that inherit mappings via inheritance of A and B as either
  • Figure 7 depicts a flowchart of a process in accordance with disclosed embodiments.
  • the data processing system loads an input object, for example an extensible markup language (XML) document defining a set of elements as a factor (step 705).
  • Loading can include retrieving from memory or other storage, receiving from another computer, or even receiving a user input.
  • XML extensible markup language
  • mapping control file The data processing system loads a mapping control file (step 710).
  • the data processing system combines multiple ones of the plurality of result documents in the result set, according to the inheritance data defined in the mapping control file, to produce at least one combined element as a combined result (step 720).
  • the data processing system stores the combined result and optionally displays it to a user (step 725).
  • the combined result is a transformation of the input object into the second data formal . , with the appropriate attributes and values passed through the inheritance rules defined in the mapping control file.
  • the data processing system thereafter can optionally receive a change to the result set or the combined result (step 730).
  • the data processing system propagates the change to result set and/or combined result in accordance with the inheritance data, and stores the result set/combined result (step 735).
  • the inheritance data specifies how the changes are inherited, so that the propagation does not overwrite data that should be preserved.
  • the data processing system optionally recombines the result set according to the inheritance data, and stores and/or displays the final result (step 740).
  • machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), and user- recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs).
  • ROMs read only memories
  • EEPROMs electrically programmable read only memories
  • user- recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for data mapping, and corresponding computer readable medium and data processing system. The method includes loading an input object in a data processing system, the input object including a plurality of elements. The method includes loading a mapping control file and processing the input object and the mapping control file to produce a result set including a plurality of result documents. The method includes combining multiple ones of the plurality of result documents according to inheritance data defined in the mapping control file to produce a combined result. The method includes storing the combined result in the data processing system.

Description

SYSTEM AND Mu πion FOR NON-OVEKWRΠΪNO EXTENSIBLE MΛI'PINO
CROSS-REFERENCE TO OTHER APPLICATION
(0001) This application claims priority from United States Provisional Patent Application 61/159,590, filed March 12. 2009, which is hereby incorporated by reference.
TECHNICAL FIELD
(0002) The present disclosure is directed, in general, to systems and methods for data conversion.
BACKGROUND OF THE DISCLOSURE
|0003] It is often necessary or advantageous to convert data between disparate systems or applications.
SUMMARY OF THE DISCLOSURE
|0004| Various embodiments include a method for data mapping, a data processing system comprising a processor and accessible memory that is configured to perform the steps of a similar method, and a tangible computer-readable medium encoded with computer executable instructions that, when executed, cause a data processing system to perform the steps of a similar method. The method includes loading an input object in a data processing system, the input object including a plurality of elements. The method includes loading a mapping control file and processing the input object and the mapping control file to produce a result set including a plurality of result documents. The method includes combining multiple ones of the plurality of result documents according to inheritance data defined in the mapping control file to produce a combined result. The method includes storing the combined result in the data processing system
[0005| Some embodiments include further method steps, such as receiving a change to at least one result document of the result set. propagating the change to other result documents of the result set according to the inheritance data, recombining multiple ones of the plurality of result sets, by the daia processing system, according to the inheritance data to produce a revised combined result, and storing the revised combined result in the data processing system.
[0006| In some embodiments, the input object is an XML document. In some embodiments, the result set includes a result document each mapping defined in the mapping control file with a criterion matching that of an element of the input object. In some embodiments, the combined result is a transformation of the input object into a second data format. In some embodiments, the mapping control file defines parent- child inheritance relationships between multiple ones of the plurality of result documents. Some embodiments include a further process of generating an element identification attribute for at least one of the plurality of attributes.
|0007| The foregoing has outlined rather broadly the features and technical advantages of the present disclosure so that those skilled in the art may better understand the detailed description that follows. Additional features and advantages of the disclosure will be described hereinafter that form the subject of the claims. Those skilled in the art will appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Those skilled in the art will also realize that such equivalent constructions do not depart from the spirit and scope of the disclosure in its broadest form.
|0008| Before undertaking lhe DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words or phrases used throughout this patent document: the terms "include" and "comprise," as well as derivatives thereof, mean inclusion without limitation: the term "or" is inclusive, meaning and/or: the phrases "associated with'" and "associated therewith." as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with. have, have a property of. or the like, and the term "controller" means any device, system or part thereof thai controls at least one operation, whether such a device is implemented in hardware, firmware, software or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, and those of ordinary skill in the art will understand that such definitions apply in many, if not most, instances to prior as well as future uses of such defined words and phrases. While some terms may include a wide variety of embodiments, the appended claims may expressly limit these terms to specific embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:
(0010) Figure I depicts a data processing system in accordance with disclosed embodiments;
[0011| Figure 2 illustrates the mapping of elements into factors in accordance with disclosed embodiments;
(00121 Figure 3 shows an exemplary factor result set in accordance with disclosed embodiments;
(0013) Figure 4 shows a combined factor corresponding to the factor result set of Figure 3. in accordance with disclosed embodiments;
|OOI4| Figure 5 illustrates a multiple-inheritance graph that can be produced in accordance with disclosed embodiments;
|0015| Figure 6 shows a single inheritance graph corresponding to the multiple inheritance graph of Figure 5, in accordance with disclosed embodiments; and
|OO16| Figure 7 depicts a process in accordance with disclosed embodiments.
DETAILED DESCRIPTION
|0017| FIGURES 1 through 7, discussed below, and the various embodimenis used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged device. The numerous innovative teachings of the present application will be described with reference to exemplary non-limiting embodiments.
[0018] Various embodiments disclosed herein allow for custom XSL mappings modify the results of existing mappings without modification to existing mappings. This allows for data mappings to be extended and reused while still maintaining knowledge of the source of each individual change. The techniques described herein enable re-use of existing mappings in multiple sub-cases without requiring copies to be created; thus ensuring that all mappings that use a common base mapping stay up- to-date and synchronized.
|0019| Many users construct data mappings between different systems and applications. In some cases, software providers provide mappings for out-of-the-box (OOTB) classes referenced in their products, but these mappings do not incorporate user-specific extensions that may have been added to the user's systems. In some systems, the user is required to clone the OOTB mappings and modify them to suit the user-specific mapping needs. When OOTB mapping updates are available (new feature, bug fix, etc.). the modifications must be manually adapted to the customer- specific mappings.
|0020| For example, when a general mapping of a product contains multiple subclasses, each subclass mapping must contain the complete set of mappings. If a change occurs in how a base class is to be mapped to a destination, in some systems, each subclass mapping needs to be manually updated with the change. Additionally, this approach does not scale well to have different developers work on mappings due to possible communication gaps and concurrent access to files.
(00211 The disclosed embodiments include improved processes for updating such mappings. The disclosed embodiments can improve any general -purpose schema- mapping software by simplifying and automating solutions to complex mapping problems.
|0022| Figure I depicts a block diagram of a data processing system in which an embodiment can be implemented when configured to perform the mapping, combining, and other functions described. The data processing system depicted includes a processor 102 connected to a level two cache/bridge 104, which is connected in ium to a local system bus 106. Local system bus 106 may be, for example, a peripheral component interconnect (PCl) architecture bus. Also connected to local system bus in the depicted example are a main memory 108 and a graphics adapter 1 10. The graphics adapter I IO may be connected to display 1 1 1.
|0023| Other peripherals, such as local area network (LAN) / Wide Area Network / Wireless (e.g. WiFi) adapter 1 12, may also be connected to local system bus 106. Expansion bus interface 1 14 connects local system bus 106 to input/output (I/O) bus 1 16. I/O bus 1 16 is connected to keyboard/mouse adapter 1 18. disk controller 120. and I/O adapter 122. Disk controller 120 can be connected to a storage 126, which can be any suitable machine usable or machine readable storage medium, including but not limited to nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs). magnetic tape storage, and user-recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs), and other known optical, electrical, or magnetic storage devices.
|0024| Also connected to I/O bus 1 16 in the example shown is audio adapter 124, to which speakers (not shown) may be connected for playing sounds. Key board/mouse adapter 1 18 provides a connection for a pointing device (not shown), such as a mouse, trackball, trackpointer, etc.
|0025| Those of ordinary skill in the art will appreciate that the hardware depicted in Figure I may van' for particular implementations. For example, other peripheral devices, such as an optical disk drive and the like, also may be used in addition or in place of the hardware depicted. The depicted example is provided for the purpose of explanation only and is not meant to imply architectural limitations with respect to the present disclosure. |0026| A data processing system in accordance with an embodiment of the present disclosure includes an operating system employing a graphical user interface. The operating system permits multiple display windows to be presented in the graphical user interface simultaneously, with each display window providing an interface to a different application or to a different instance of the same application. A cursor in the graphical user interface may be manipulated by a user through the pointing device. The position of the cursor may be changed and/or an event, such as clicking a mouse button, generated to actuate a desired response.
|0027| One of various commercial operating systems, such as a version of Microsoft Windows™, a product of Microsoft Corporation located in Redmond, Wash, may be employed if suitably modified. The operating system is modified or created in accordance with the present disclosure as described.
|0028| LAN/ WAN/Wireless adapter 1 12 can be connected to a network 130 (not a part of data processing system 100), which can be any public or private data processing system network or combination of networks, as known to those of skill in the art, including the Internet. Data processing system 100 can communicate over network 130 with server system 140. which is also not part of data processing system 100, but can be implemented, for example, as a separate data processing system 100.
[00291 Disclosed embodiments include a Mapper Engine that supports factor inheritance. The Mapper Engine can model parent-child relationships between Factors and can merge output of different factors based on these parent-child relationships. In various embodiments, the can support XML Schema aware transformations, allowing Factors to also operate on subtypes of the types it is processing. In some embodiments, factors and factoring processes as used herein can correspond to those processes and factors as described in United States Patent Application 1 1/975.527, filed October 19, 2007. which is hereby incorporated by reference in its entirety.
|0030| Because the map will ultimately be a large complex transform, it is desirable to "break it up" into different parts (factors) by the Mapper Engine. Each factor is used in part of the mapping process. {00311 In various embodiments, described in more delail below, the Mapping Engine can support an arbitrary number of levels of inheritance of factors, and can support multiple elements of the same element type within a factor.
|0032| In one mapping process, the Mapping Engine first loads the input data, in the first data format, to be mapped lo a second data format. The input data has a plurality of input data objects. The system then loads Factor definitions, which can be part of a mapping control file. The Mapping Engine then breaks the problem down by determining which output data objects should be created from the input data. In each pass, the system identifies at least one output object to be created from a subset of the total input data objects.
[0033| Next, the system applies a Factor scope to determine which input data lo process. For each type of input object(s) that has no references to other objects, mapping the system applies a Factor scope that will gather all the incoming data needed to create the output data. The Factor definitions, in the mapping control file, among other things defines a subset of data that must be mapped. The mapping system uses the factor definitions to first scope a subset of data and then to map it, as below. As pan of the factor definitions in the mapping control file, relevant portions of the data can be given unique tokens to allow the any cross references to be resolved.
|0034| Next, for each Factor, the mapping system applies a Factor mapping to turn that sub-set of incoming data into the output objects, optionally using a schema that defines the output objects. In cases where a given object is directly translated to an object in the outgoing stream, the mapping system maps the correspondence between ■ the incoming object and its output object. For output data objects that references only those objects that have already been output from above, the mapping system applies a set of Factors that will gather all the incoming data needed to create the output data. The mapping system repeats the factoring and mapping steps until all data is mapped.
|0035| Next, the mapping system resolves all cross references between each output data object. This process allows complex mappings to be broken down into simpler pieces, just as large numbers can be factored, and then reassembled in the final output process. Finally, having defined all mapping factors and resolved all cross references between the output data objects, the mapping system creates the output data, including the output data objects, according to the second data formal and any required schema.
|Ω036| Various embodiments allow multiple TcFactors to be created for each input root object via multiple factors corresponding to the match criteria of the element. For a given input root object, each matching factor will result in the generation of a TcFactor. The result set of TcFactors that are generated from a given root element are related via a directed graph of inheritance where the starting point of the graph is specifically identified. As a post-processing step in the Mapping Engine, the result set of TcFactors can be consolidated down to a single TcFactor.
|0037| Figure 2 illustrates the mapping of elements into factors in accordance with a disclosed embodiment.
[0038] The Mapper Engine 205 allows for multiple factors 215/220/225 to match a given input element 2K), and also allows for a combined TcFactor 235 to be generated for each factor matching a given root-level element. Mapper Engine 205 uses mapping control file 240 to map the input element 210 to a result set 230 that can contain one or more result documents, such as one or more abstract TcFactors 215/220 and one or more concrete TcFactors 225, in accordance with schema 250, which defines the output structure. Mapper Engine 205 can combine the result set 230 into a combined TcFactor 235.
(0039J The Mapper Engine 205 uses a mapping control file 240 that allows the engine to specify inheritance in factors, before combining the results. The map control file, in some embodiments,, contains several transforms such as XSL templates that meet the criteria (match) a given input. Instead of picking the best match, as does conventional XSL. all of the matching transforms are invoked, thus causing each transform to generate a resultant document (the output data object). This is followed by a combination step which uses inheritance, as defined in the mapping control file, to merge together the results into a single result.
|0040| The merging/combining process basically puts it all together, and in the case where two results are different for a given attribute, decides which result values should be used. |00411 The mapping control file 240 includes attributes used to support inheritance in the TcFaclors. The mapping control file 240 contains the input criteria for each resultant TcFactor, the transformations, such as XML transformations, for producing each resulting TcFactor, and the inheritance graph for each transform resultant TcFactor, which defines how to merge results.
[0042| The TcFactor.nodeType attribute specifies the role of this factor in a set of inheritances. Supported values are:
|0043) • [unset]: The TcFaclor does not participate any factor inheritance. This setting allows for backwards compatibility.
|0044| * "concrete": A 'concrete' TcFactor has a one-to-one mapping
[0045] • "abstract": The TcFactor is used by another TcFactor which inherits, and may override the values contained in this TcFactor. TcFactor elements that are specified as 'abstract' are not starting points for creating result TcFactor elements.
|0046| TcFactor. parentName: If specified, this attribute specifies the type of the parent TcFaclor for the current element. The value of the parentName attribute in the current TcFactor is substituted for the current TcFactor element factorld attribute's name in order to identify the parent TcFactor element.
|0047| Note that in some embodiments, the factorld attribute values are in the form of lfactor type|_| factor ID]. A TcFactor with a parentName of TopFactor7' and a factorld of 'BottomFactor7_IiemIdValue2' would have a parent with a factorld of TopFactor7JtemIdValue2'.
|0048| The inheritance process of the Mapper Engine is additive in the selling of values. Figure 3 shows an exemplar.- factor result set. Figure 4 shows a combined factor corresponding to the factor result set of Figure 3. The factor result set includes factor 205 associated with library element 310; factor 315, which inherits from factor 305, associated with library elements 320/325; and factor 330, which inherits from parent factor 315, associated with library elements 335/340/345. Not that each factor includes a parentName designating its parent factor, if any, that indicates how the combining is performed. (0049| Figure 4 shows a combined factor 430 thai corresponds to factor 330 in Figure 3. As can be seen, clement 435 includes its own value for "X" (from clement 335), its parent value for "Y" (from element 320), and its grandparent value for S Z" (from element 310). Element 440 includes its own value for "Y" and "Z" (from element 340), and its parent value for ''X" (from element 325). Element 445 includes its own values corresponding to element 345, since there was no other ";Library3" element in the result set of Figure 3.
[0050] In each case, in a combined factor, an element of a child factor retains any existing value in the combined factor, and any empty values are replaced by the corresponding value of the parent factor, recursively.
|00511 In addition to inheritance, the Mapper Engine also consolidates foreign references to XML elements. Each element (even abstract ones) contain a key attribute such as <XSL:key>, and other elements may contain attributes that reference these key attributes. In order to retain referential integrity, the Mapper Engine implements simple substitution on key values; all foreign key values are resolved from abstract element Key values to the key value of the combined element.
|00S2| Note that, in some embodiments, the key value of combined element is the same value as specified in the concrete element. Note also that because inheritance is additive in some embodiments, all abstract TcFactor subelements will have a corresponding sub-element in the corresponding concrete TcFactor.
|0053| In order to support inheritance in factor sub-elements, the following information is needed regarding sub-elements:
|0054| Element Identification Attribute: For each type of element, there must be an attribute the uniquely identifies the source object that was used to create Additionally, each element must contain this attribute. The existence of this attribute allows the Mapper Engine to manage TcFactors containing multiple sub-elements of the same type. The combiner process uses the attribute 'key Attributes' to keep track of the Element Identification Attribute.
|005S| Foreign Reference Attributes: The combiner code need to know each attribute which acts as a foreign reference to an element. It uses this information in order to redirect foreign references from abstract elements to result elements. In some embodiments, the combiner uses the attribute ' rcfKcyAttributcs' to keep track of attributes that represent foreign references. The code works both for single reference and multiple reference values.
|0056| In various embodiments, the element identification attributes and foreign reference attributes can be obtained in different ways. In some embodiments, these attributes can be stored in and read from the mapping control file. In some other embodiments, the Mapping Engine can retrieve the information from schema. In some olher embodiments, the Mapping Engine supports configuration settings to allow a user or other application to specify the attributes.
|0057| In some embodiments, the Mapping Engine can aulo-generate element identification attributes, for example by generating a hash of the input object, and setting that value to a defined attribute before the Mapping Engine splits apart the input XML document into factors.
|0058| In some embodiments, and optionally, multiple inheritance can simplify the logical model for mapping. Through multiple inheritance, the Mapper Engine can support composition. For example, consider an item "Item'' for which there are three different groups that wish to specify mappings. Those three groups are the First Team. Second Team, and Third Team.. Additionally, assume that the Item has three attributes of interest, which are firstAHr, secondAttr, and thirdAttr. In this example, each of the development teams independently develops a mapping. Figure 5 illustrates a multiple-inheritance graph that can be produced in accordance with disclosed embodiments
|0059| In Figure 5, the specific mappings can be developed independently, and the composition of a mapping can be dynamically constructed. Supporting multiple inheritance requires the parentName attribute that supports multiple entries.
|0060| While multiple inheritance provides support for additional physical topologies, it does not provide additional logical topologies. What this means is that each multiple inheritance graph can be logically represented in a comparable single inheritance graph. For example, the multiple inheritance graph of Figure 5 can be represented in the single inheritance graph of Figure 6. |0061 | One benefit of multiple inheritance is the ability to support isolation of mappings; this benefit produces advantages in producing mappings independently and in dynamically composing mappings.
|0062| In some embodiments, multiple inheritance at design time is implemented at run-time as nested inheritance. This allows the inheritance to be determined by the designer of the composite mapping (505), instead of being determined by the creators or the other mappings (515, 525. 535). Without this ability, the makers of (at least two out of three) the parent mappings would need to identify the parent mapping (via the parentName). Accroding to disclosed embodiments, the composite mapping can dynamically assign applicable mappings (and order of mappings) from which they will inherit.
[0063] As an example, assume that there were two existing mappings (call them A and B) for an element containing 3 attributes (call them X, Y, and Z), and that
A={X—"T\ Y-*r?2"} B=(Y-1T', X— "4"}
[0064| Child mappings could be specified that inherit mappings via inheritance of A and B as either
(X-T- Y→"2", Z-→ "4"} or {X— 'M", Y-*"3:\ Z— "4"} depending on the order specified in the parentName value the child mapping.
[0065| Figure 7 depicts a flowchart of a process in accordance with disclosed embodiments.
|0066| The data processing system loads an input object, for example an extensible markup language (XML) document defining a set of elements as a factor (step 705). Loading can include retrieving from memory or other storage, receiving from another computer, or even receiving a user input.
|0067| The data processing system loads a mapping control file (step 710). |0068| The data processing system processes the mapping control file and input object to produce a result set including a plurality of result documents, one for each mapping defined in the mapping control file with criteria matching that of an element of the input object (step 715).
|0069| The data processing system combines multiple ones of the plurality of result documents in the result set, according to the inheritance data defined in the mapping control file, to produce at least one combined element as a combined result (step 720).
|0070| The data processing system stores the combined result and optionally displays it to a user (step 725). The combined result is a transformation of the input object into the second data formal., with the appropriate attributes and values passed through the inheritance rules defined in the mapping control file.
|0071| The data processing system thereafter can optionally receive a change to the result set or the combined result (step 730).
|0072| The data processing system propagates the change to result set and/or combined result in accordance with the inheritance data, and stores the result set/combined result (step 735). Note that the inheritance data specifies how the changes are inherited, so that the propagation does not overwrite data that should be preserved.
|0073| The data processing system optionally recombines the result set according to the inheritance data, and stores and/or displays the final result (step 740).
|0074| Those skilled in the art will recognize that, for simplicity and clarity, the full structure and operation of all data processing systems suitable for use with the present disclosure is not being depicted or described herein. Instead, only so much of a data processing system as is unique to the present disclosure or necessary for an understanding of the present disclosure is depicted and described. The remainder of the construction and operation of data processing system 100 may conform to any of the various current implementations and practices known in the art.
|0075| it is important to note that while the disclosure includes a description in the context of a fully functional system, those skilled in the art will appreciate that at least portions of the mechanism of the present disclosure are capable of being distributed in the form of a instructions contained within a machine-usable, computer-usable, or computer-readable medium in any of a variety of forms, and that the present disclosure applies equally regardless of the particular type of instruction or signal bearing medium or storage medium utilized to actually earn' out the distribution. Examples of machine usable/readable or computer usable/readable mediums include: nonvolatile, hard-coded type mediums such as read only memories (ROMs) or erasable, electrically programmable read only memories (EEPROMs), and user- recordable type mediums such as floppy disks, hard disk drives and compact disk read only memories (CD-ROMs) or digital versatile disks (DVDs).
|0076| Although an exemplary embodiment of lhe present disclosure has been described in detail, those skilled in the art will understand that various changes, substitutions, variations, and improvements disclosed herein may be made without departing from the spirit and scope of the disclosure in its broadest form.
[0077] None of the description in the present application should be read as implying that any particular element, step, or function is an essential element which must be included in the claim scope: the scope of patented subject matter is defined only by the allowed claims. Moreover, none of these claims are intended to invoke paragraph six of 35 USC §1 12 unless the exact words "means for" are followed by a participle.

Claims

WHAT IS CLAIMED IS:
1. A method for data mapping, comprising: loading an input object in a data processing system, the input object including a plurality of elements; loading a mapping control file in the data processing system: processing the input object and the mapping control HIe to produce a result set including a plurality of result documents: combining multiple ones of the plurality of result documents, by the data processing system, according to inheritance data defined in the mapping control file to produce a combined result: and storing the combined result in the data processing system.
2. The method of claim I , further comprising: receiving a change to at least one result document of the result set: propagating the change to other result documents of the result set according to the inheritance data: recombining multiple ones of the plurality of result sets, by the data processing system, according to the inheritance data to produce a revised combined result; and storing the revised combined result in the data processing system.
3. The method of claim I . wherein the input object is an XML document.
4. The method of claim 1, wherein the result set includes a result document each mapping defined in the mapping control file with a criterion matching that of an element of the input object.
5. The method of claim I . wherein the combined result is a transformation of the input object into a second data format.
6. The method of claim I , wherein the mapping control file defines parent-child inheritance relationships between multiple ones of lhe plurality of result documents.
7. The method of claim 1 , further comprising generating an element identification attribute for at least one of the plurality of attributes.
8. A data processing system comprising a processor and accessible memory, the data processing system configured to perform the steps of: loading an input object, the input object including a plurality of elements; loading a mapping control file; processing the input object and the mapping control file to produce a result set including a plurality of result documents: combining multiple ones of the plurality of result documents according to inheritance data defined in the mapping control file to produce a combined result; and storing the combined result.
9. The data processing system of claim 8, the data processing system further configured to perform the steps of: receiving a change to at least one result document of the result set; propagating the change to other result documents of the result set according to the inheritance data: rccombining multiple ones of the plurality of result sets, by the data processing system, according to the inheritance data to produce a revised combined result: and storing the revised combined result in the data processing system.
10. The data processing system of claim 8, wherein the input object is an XML document.
1 1. The data processing system of claim 8. wherein the result set includes a result document each mapping defined in the mapping control file with a criterion matching that of an element of the input object.
12. The data processing system of claim 8, wherein the combined result is a transformation of the input object into a second data format.
13. The data processing system of claim 8. wherein the mapping control file defines parent-child inheritance relationships between multiple ones of the plurality of result documents.
14. The data processing system of claim 8. the data processing system further configured to perform the steps of generating an element identification attribute for at least one of the plurality of attributes.
15. A tangible computer-readable medium encoded with computer executable instructions that, when executed, cause a data processing system to perform the steps of: loading an input object in a data processing system, the input object including a plurality of elements: loading a mapping control file in the data processing system; processing the input object and the mapping control file to produce a result set including a plurality of result documents; combining multiple ones of the plurality of result documents, by the data processing system, according to inheritance data defined in the mapping control file to produce a combined result; and storing the combined result in the data processing system.
16. The computer-readable medium of claim 15, encoded with further instructions that, when executed, cause a data processing system to perform the steps of: receiving a change to at least one result document of the result set; propagating the change to other result documents of the result set according to the inheritance data; recoiTibining multiple ones of the plurality of result sets, by the data processing system, according to the inheritance data to produce a revised combined result; and storing the revised combined result in the data processing system.
17. Tlic compuler-readablc medium of claim 15, wherein the input object is an XML document.
18. The computer-readable medium of claim 15, wherein the result set includes a result document each mapping defined in the mapping control file with a criterion matching that of an element of the input object.
19. The computer-readable medium of claim 15. wherein the combined result is a transformation of the input object into a second data format.
20. The computer-readable medium of claim 15, wherein the mapping control file defines parent-child inheritance relationships between multiple ones of the plurality of result documents.
PCT/US2010/027101 2009-03-12 2010-03-12 System and method for non-overwriting extensible mapping Ceased WO2010105133A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15959009P 2009-03-12 2009-03-12
US61/159,590 2009-03-12
US12/549,800 US8176063B2 (en) 2009-03-12 2009-08-28 System and method for non-overwriting extensible mapping
US12/549,800 2009-08-28

Publications (1)

Publication Number Publication Date
WO2010105133A1 true WO2010105133A1 (en) 2010-09-16

Family

ID=42109738

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/027101 Ceased WO2010105133A1 (en) 2009-03-12 2010-03-12 System and method for non-overwriting extensible mapping

Country Status (2)

Country Link
US (1) US8176063B2 (en)
WO (1) WO2010105133A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2693391A1 (en) * 2012-08-02 2014-02-05 Amadeus s.a.s. Dynamic and hierarchical generic data mapping for traveler profile publication

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140039943A1 (en) * 2012-08-02 2014-02-06 Amadeus S.A.S. Dynamic and hierarchical generic data mapping for traveler profile publication
CN105068776A (en) * 2015-08-06 2015-11-18 深圳市同城快跑科技有限公司 Customer display WiFi adapter

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001022257A2 (en) * 1999-09-22 2001-03-29 Siemens Corporate Research, Inc. Automatic generation of card-based presentation documents from multimedia data
EP1519266A2 (en) * 2003-08-29 2005-03-30 Microsoft Corporation Mapping architecture for arbitrary data models

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241624A (en) * 1991-10-03 1993-08-31 International Business Machines Corporation Method for determining a user selected group of data objects for the propagation of attribute values
US5808611A (en) * 1993-09-23 1998-09-15 International Business Machines Corporation Positioning for multiple icons in an object-oriented interface
US6871204B2 (en) * 2000-09-07 2005-03-22 Oracle International Corporation Apparatus and method for mapping relational data and metadata to XML
AU2002334721B2 (en) * 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
JP4100968B2 (en) * 2002-06-06 2008-06-11 株式会社日立製作所 Data mapping management device
US7689942B2 (en) * 2007-08-25 2010-03-30 International Business Machines Corporation Simultaneous power and timing optimization in integrated circuits by performing discrete actions on circuit components
US20090106282A1 (en) * 2007-10-19 2009-04-23 Siemens Product Lifecycle Management Software Inc. System and method for interformat data conversion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001022257A2 (en) * 1999-09-22 2001-03-29 Siemens Corporate Research, Inc. Automatic generation of card-based presentation documents from multimedia data
EP1519266A2 (en) * 2003-08-29 2005-03-30 Microsoft Corporation Mapping architecture for arbitrary data models

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BOSSUNG S ET AL: "Automated data mapping specification via schema heuristics and user interaction", AUTOMATED SOFTWARE ENGINEERING, 2004. PROCEEDINGS. 19TH INTERNATIONAL CONFERENCE ON LINZ, AUSTRIA SEPT. 20-24, 2004, PISCATAWAY, NJ, USA,IEEE LNKD- DOI:10.1109/ASE.2004.1342738, 20 September 2004 (2004-09-20), pages 208 - 217, XP010730440, ISBN: 978-0-7695-2131-2 *
TAHER NASER ET AL: "Reengineering XML into object-oriented database", INFORMATION REUSE AND INTEGRATION, 2008. IRI 2008. IEEE INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 13 July 2008 (2008-07-13), pages 1 - 6, XP031294196, ISBN: 978-1-4244-2659-1 *
WUSTNER E ET AL: "Converting business documents:a classification of problems and solutions using XML/XSLT", ADVANCED ISSUES OF E-COMMERCE AND WEB-BASED INFORMATION SYSTEMS, 2002. (WECWIS 2002). PROCEEDINGS. FOURTH IEEE INTERNATIONAL WORKSHOP ON 26-28 JUNE 2002, PISCATAWAY, NJ, USA,IEEE, 26 June 2002 (2002-06-26), pages 54 - 61, XP010595208, ISBN: 978-0-7695-1567-0 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2693391A1 (en) * 2012-08-02 2014-02-05 Amadeus s.a.s. Dynamic and hierarchical generic data mapping for traveler profile publication

Also Published As

Publication number Publication date
US8176063B2 (en) 2012-05-08
US20100235370A1 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
US11418409B2 (en) System-on-chip (SoC) assembly, configurable IP generation and IP integration utilizing distributed computer systems
US10558642B2 (en) Mechanism for deprecating object oriented data
US7676478B2 (en) Data warehousing systems and methods having reusable user transforms
US11100059B2 (en) Construction of database schema models for database systems and rest APIs
US8694557B2 (en) Extensibility of metaobjects
KR100986415B1 (en) Application of the data-binding mechanism to perform command binding
JP5192634B2 (en) Declaration order report parameterization
KR20200144577A (en) Custom interactions with visualizations
McKay et al. Using the generic synteny browser (GBrowse_syn)
CN103488674B (en) Computing system and execution control method of computing system
JP2010033373A (en) Software configuration management method and system
US20120110545A1 (en) Abstracting transformation for model driven architecture
US20130060924A1 (en) Granular client inventory management with conflict resolution
CN102053987B (en) For showing the unified interface with Update Table array
US10628128B2 (en) Discovery and modeling of deployment actions for multiple deployment engine providers
US8688752B2 (en) Method and system for deploying a model-based application to an application server
JP2011100447A (en) Entity morphing in metamodel-based tool
US20210117391A1 (en) External data repository file integration using a virtual file system
US20110179397A1 (en) Systems and methods for metamodel transformation
JP5555550B2 (en) Data conversion method, apparatus and program
US8176063B2 (en) System and method for non-overwriting extensible mapping
JP2007532997A (en) Method and apparatus for constructing representations of objects and entities
US20200257660A1 (en) Object model generation
Schuler et al. Rule-based generation of mobile user interfaces
Predoaia et al. Towards processing yaml documents with model management languages

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10709142

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10709142

Country of ref document: EP

Kind code of ref document: A1