WO2006056213A2 - Information model of structures and processes, method of creating and changing such model, method of virtual machine operation - Google Patents

Information model of structures and processes, method of creating and changing such model, method of virtual machine operation Download PDF

Info

Publication number
WO2006056213A2
WO2006056213A2 PCT/EA2005/000005 EA2005000005W WO2006056213A2 WO 2006056213 A2 WO2006056213 A2 WO 2006056213A2 EA 2005000005 W EA2005000005 W EA 2005000005W WO 2006056213 A2 WO2006056213 A2 WO 2006056213A2
Authority
WO
WIPO (PCT)
Prior art keywords
tuple
tuples
term
model
context
Prior art date
Application number
PCT/EA2005/000005
Other languages
French (fr)
Inventor
Oleg Anatolyevich Gribkov
Nikita Alexeevich Vinokurov
Artem Victorovich Voroztcov
Original Assignee
Oleg Anatolyevich Gribkov
Nikita Alexeevich Vinokurov
Artem Victorovich Voroztcov
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 Oleg Anatolyevich Gribkov, Nikita Alexeevich Vinokurov, Artem Victorovich Voroztcov filed Critical Oleg Anatolyevich Gribkov
Publication of WO2006056213A2 publication Critical patent/WO2006056213A2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data

Definitions

  • This invention generally relates to the field of information systems, meta- modeling, data processing and data warehousing. This invention can be applied to processing of structured and semistructured data and building information systems equipped with automatic data consistency support.
  • Real world objects are generally described as entities linked by relations (see entity relation models). Entities and relations may have different types and properties. Besides describing static structures there is a demand in systems for building information models of dynamic structures and processes.
  • OOA object-oriented approach
  • First step is dividing data into data sets. Each set is associated with an Object.
  • functionality is assign to each object, and relations between objects are set.
  • the main idea is to decompose data and functionality into set of objects, where each object comprise part of data and functionality related to the data. Functionality an object implements (is responsible for) is divided into methods (or functions, or messages to which that the object can react to).
  • Encapsulation hiding internal structure and internal functionality of objects, and providing public access only to the restricted set of methods and data fields
  • inheritance usage of information and functionality encapsulated in one object by its child-objects
  • multiple inheritance ability of an object inherit from set of objects
  • polymorphism ability to encapsulate different functionality and data into objects of one type
  • OOA support There are many resources of OOA support: first of all, these are programming languages (Smalltalk, C ++, Objective-C, CLOS, Python, Java, Ruby, OCaml) in which the concept of the object is taken out on a syntactical level.
  • Object-Oriented (or post- relational) DB exist too (Oracle, PostgreSQL, Cache) which have high-level descriptions of entity information structures, and provide support of programming objects behavior.
  • the behavior of objects can be described in the form of functions — an executable code for the DB Virtual machine, or for the processor.
  • high-level OOA support systems including various OOA-languages source code analyzers and refactoring support facilities — a standard set of OOA-model large-scale modification.
  • XML Extensible Markup Language
  • XML data model XML data model
  • the main advantage of XML is the standard way of representing information in the form of hierarchy of elements with different attributes. It is possible to describe any complex data in XML model, for example, table or weighted graph. But in XML model there is no means of describing elements semantics and information interpretation.
  • XML is standard hierarchical data model that is used by IT- engineers for exporting/importing data.
  • Another advantage of XML is textual format of XML-documents. It makes possible simple viewing and editing tree structure of the XML-documents and attributes of its elements.
  • XML-documents can't contain description of the used model, and it is impossible to interpret attributes and elements values without DTD specification and corresponding program interpreting the XML-documents of that particular type.
  • two independent bank systems developers have used XML for message passing between theii systems components and have decided to unite the systems.
  • Specifications of XML-languages for messages in two banks may be greatly different, even if the contents of the messages have close semantics.
  • XSL provides the ability to map elements from one XML-language to elements of another XML-language according to defined template.
  • XSL - XSL-T XSL-Transformations
  • XPointer which allow identifying an; fragment in XML documents
  • XPath which allow addressing parts of XM! document.
  • XSLT is the production programming language: XSLT virtual machine tries t find matches to translation templates in the document and apply corresponding translatio rules while it is possible.
  • the translations rules give new elements with new attributes which can be calculated from attributes and elements of source document according t complex expressions (functions). These expressions are described not in XML-language.
  • XSLT is interesting in that it has XML-syntax, i.e. the XSLT-document is th XML-document too, and it describes how to process XML-documents modification b means of production rules, and language of these rules is in fact production programmin language.
  • XSLT has following disadvantages: it uses external languages and consequently, using XSLT programming language we cannot detect all th transformation logic of XSLT-documents and transform it (for example, logic, embedde * in expressions language).
  • RDF and related technologies are also known; they are CWM, WAM, PVM - th solutions representing structure in the form of disordered set of tuples of length 3 [6, 7].
  • RDF and OWL represent the information as pool of statements - triplet (tuples of length 3) of the form "Subject - Predicate - Object”.
  • RDF model is the dat model, where all information is represented as set of tuples of length 3.
  • Standard RD] semantics includes the interpretation of base concepts and their interactions, such a "type”, “class”, “subclass”, “attribute ", “list”, “attribute co-domain”, “attribute defmitiona domain”, etc. This way of representation allows describing both data, and metadata.
  • OWl provides additional language elements used for model description. There are severa toolkits for operating information in RDF-model [10, 11, 12, 13, 14, 15, 16, 17, 18].
  • RDF-model does not impose any restrictions on statements co-existence, and allow antinomies.
  • RDF model can contain statements, which describe an element as class of itself.
  • RDF-model does not allow to effectively describing the processes and information changes. It is also impossible to efficiently describe context-dependent Onthologies, structures with version support, and translation algorithms.
  • DBMS data base management systems
  • a statement added to statement base is checked for logical compatibility with statements existing in the base is accepted as a prototype of method of information model building.
  • the set of rules is used for checking logical compatibility.
  • This way of operation is realized in some DBMS with inference rules support (statement is added only it is inferred from existing statements) [19, 20, 21, 22, 23].
  • the known DBMS are based on the models different from tuple data model.
  • the other disadvantage is that logical rules are described in data model (format) different from tuple data model (tuple-format). This brings to that logic and data processing algorithms are not transparent (are not represented in the same way as data and require additional tools).
  • PVM Trie mode of operation of Parallel Virtual Machine [24] representing sequence of operations performance with such primitives as: message, communication channel, process, group of processes is accepted.
  • PVM gives the possibility of transparently realizing of the communications with other PVM copies driven on other processors and computers, using for this purpose the mechanism of messaging between PVM, united in a group.
  • PVM function is the construction of the distributed computing systems and network exchange devices and providing of knowledge of message exchanging elements location.
  • the strong aspect of the given computer is the group communication abstraction.
  • the PVM weak aspect is the enough low messages level - the incoming messages in PVM do not subject to processing relative to their structure and consistency with messages available in a base. Therefore, the developers of PVM programs should take efforts on support of data structures receipt- transfer between PVM, driven on different processors.
  • CWM Closed World Machine
  • the problem solved by the invention is the problem of rapid development of adaptive information and modeling systems which
  • each tuple has terms which act as Subject, Relation, Object, according to the invention, in that each tuple consists of at least, four terms, and four terms of tuple act as (Context, Subject, Relation, Object) or (Context,' Subject, Attribute, Value), where all terms, except Value terms, act as Subject in a tuple, and all terms acting as Subjects and Objects in tuples where a term, which is interpreted as instance of class is acting as Relation, are organized in a hierarchy by that Relation.
  • each state is a subset of tuples
  • the step to be applied to the state are defined by relation between the term denoted the state and the term denoted the step.
  • transformation of tuples consists of analysis of each received tuple according to internal virtual machine rules and making decision:
  • Fig. 1 The representation of RDF format statement in the form of the graph.
  • Fig. 2 The representation of quadruplet in the form of the graph.
  • Fig. 3 The objects hierarchy according to their relations.
  • Fig. 4 The representation of possibility of relation determination between objects.
  • Fig. 6 The Virtual Machine assembly.
  • Fig. 7. The Virtual Machine message handler assembly.
  • Fig. 8. The example: business processes in an organization.
  • Fig. 9 The example: the description of changes in information model of organisation.
  • the information processing represented in the form of statements, is done by the Virtual Machine.
  • the Virtual Machine consists of Statement Buffer 1, connected by bidirectional link with Event Manager 2.
  • the second Statement Buffer 1 output is connected with Event Comparator 3.
  • the central block of the virtual machine is Rule Manager 4, providing control of message threads.
  • Rule Cache 5 in the Virtual Machine consisting of several parallel blocks connected with Rule Multiplexor 6, switching rules through Rule Loader 7 in Rule Manager 4 entry.
  • the computer also contains Condition Queue 8, Variable Grid 9, Condition Comparator 10 and Result Manager 11.
  • the Tuple pool consists of incoming messages stack (Queiy Stack) 12, queues of outgoing messages (Result Queue) 13, message handler (Rule Engine) 14 and memory (Archive) 15.
  • Function blocks are connected with each other by directed links with the help of which the messages in the form of tuples are transmitted from one block to another.
  • the message cannot be transmitted by one block to another while the last stays in the blocked state.
  • Incoming messages get in incoming message stack.
  • the stack is connected with message handler.
  • the message handler is connected with outgoing messages queue and with tuple pool 15.
  • the quadruplet data model is the way of structures and processes information representation as tuple set consisting of four terminal objects (terms).
  • a tuple (C, A, B, D) which terms are interpreted as (Context, Subject, Relation, Object) can be considered as the statement: "A object is in relation B with D object in C context”.
  • the tuple (C, E, P, «value») which terms are interpreted as (Context, Subject, Attribute, Value) can be considered as the statement: "In context C the attribute P of object E gets «value»".
  • the graphical quadruplet representation is shown in Fig.2.
  • the quadruplet model is similar to natural language model:
  • the basic axiom set includes definition of each term in hierarchy of the "Instance- of ' relation except for a term “None”, the description of the terms interpreted as relations: "Domain”, “Range”, “Has-Property”, “Includes”, and the description of a term “C”, used as a context.
  • Contexts can be used multilanguage support. We will show, that statements in model can contain description of the same knowledge domain in different languages. We will use contexts "ru” and "en”, describe in these contexts translations to Russian and English language of object names (property "name").
  • the context also allows describing logic and complex functions.
  • the necessity of the fifth term in the statement can arise, when there is a necessity to track, for example, the time of quadruplet creation or to support the versionity of the described model.
  • the term which can be designated as Time or the Version is added to each tuple (sentence) in quintuple models.
  • the information presented in a tuple of five terms can be presented as three tuples of four terms. Under the similar scheme one tuple of 6 terms is represented in the form of three tuples of five terms. What tuple model (what length) is more effective, depends on average dimension of relations, which are used in model. If in a description each Context contains more than 3 quadruplets (that is each term used as Context can meet in statements in the Context place for more than 3 times) then it is reasonable to use quadruplet model and to set for each context "version" attribute, otherwise it is necessary to use tuples of size 5 (quintuple). The situation when there are a lot of contexts, each containing less than three statements, is uncommon. For this reason transition to quintuple model from quadruplet model is not effective from the point of view of the tuple base size.
  • the additional term can play role of namespace. That allows storing the independent descriptions of various knowledge domains in one base. If any taxonomy is defined over knowledge domains, then it is possible to use its taxonomy items as the first several terms in the tuple.
  • the kbowledge can be classified by 3 properties: corporation department (IT, Engineering, Human resources), the project, documentation section (structure of the project, bug tracking, support). First three terms can be values of these properties:
  • the message handler 2 determines, what changes will be made in a tuple pool 15 as a result of new messages arrival to Input Query Stack 12, and what messages will be initialized and sent to Query Stack 12 for the further processing and what messages will be directed to Result Queue 13 of outgoing messages.
  • the pool of tuples represents a storage of the tuple set.
  • the pool consists of memory -15 for tuples storage and temporary linear address space for storage of call results.
  • the pool supports three operations: addition (SET), deletion (UNSET) and tuple query (GET). Each of these three operations has attached tuple.
  • First two operations use a tuple attached to a message, for its addition to a pool or its removal from a pool accordingly, and the third operation interprets transmitted tuple as a mask and sends all the tuples containing in a pool and matching the mask to the temporary linear address space of tuple pool. For the period of each operation execution, the pool is blocked.
  • a subset of tuples in the pool represents the logical rules description.
  • Queiy Stack 12 and Result Queue 13 are represented by tuple lists (an ordered tuples set).
  • Query Stack 12 and Result Queue 13 support two operations: addition of a tuple (PUT) and extraction of a tuple (GET). Each tuple is added to the beginning of the list. And each tuple is extracted (withdrawn) from the end of Result Queue 13, and from the beginning of Query Stack 12.
  • Query Stack 12 and Result Queue 13 have the fixed maximum list size; on its reaching they are blocked for addition operations.
  • the Message Handler controls execution of rules stored. in Tuple Pool for each input tuple.
  • the messages goes to Statement Buffer 1.
  • the Statement Buffer 1 can be blocked by the signals from Event Manager 2, if the message handler at the present moment it is busy with processing messages. From Statement Buffer messages go to Comparator.
  • Event Manager 2 defines the sequence of Rule Cache 5 units usage, and the moment of system start also gives a signal to rules loader (Rule Loader) 7 to load all rules from the tuple pool 15 into cache units 5.
  • Rule Loader rules loader
  • the rule manager (Rule Manager) 4 controls message paths and locks the conditions queue (Condition Queue) 8 or the rules loader (Rule Loader) 7 and defines where messages from Tuple Pool 15 should go.
  • the block Variable Grid 9 stores the values of variables participating in a current processed rule.
  • quadruplet model the logic described in the form of rules interpreted by the message handler and is stored alongside with the declarative information. These rales are represented by set of tuples in Tuple Pool 15 and the Rule Loader 7 loads them into caches of rules Rules Cache 1, Rules Cache 2, ...of Message Handler.
  • the Virtual Machine simply adds all input tuples to the Tuple Pool 15. In order to activate Rule 1, the following tuple should be sent to the Virtual Machine input:
  • Term "Activate” is used as Predicate for activation of different rules.
  • rule deactivation the following tuple should be sent to Virtual Machine input:
  • the software [27] is created on the basis of the invention, and can be used for:
  • the invention provides the way of the information presentation, allowing creating adaptive information systems with the possibility of adaptation to dynamic changes in real world objects and processes. Besides, the invention allows integrating the data of different ' computer applications.
  • the invention provides the way of building information system which have:
  • 4SuiteTM an open-source platform for XML -and RDF processing, http://4suite.org.
  • Notation 3 an alternative RDF syntax, http://www.w3.org/DesignIssues/Notation3.html.

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)

Description

INFORMATION MODEL OF STRUCTURES AND PROCESSES,
METHOD OF CREATING AND CHANGING SUCH MODEL5
METHOD OF VIRTUAL MACHINE OPERATION
TECHNICAL FIELD
This invention generally relates to the field of information systems, meta- modeling, data processing and data warehousing. This invention can be applied to processing of structured and semistructured data and building information systems equipped with automatic data consistency support.
BACKGROUND ART
Building information models of real world objects and processes is extensively used in business and science for analyzing information and automating processes.
Real world objects are generally described as entities linked by relations (see entity relation models). Entities and relations may have different types and properties. Besides describing static structures there is a demand in systems for building information models of dynamic structures and processes.
Known ways of representing real world objects and processes in the form of information models are considered as state-of-art.
The object-oriented approach (OOA) to building information models is the way to represent all data as a set of objects, relations between objects and objects behavior (methods). First step is dividing data into data sets. Each set is associated with an Object. Then functionality is assign to each object, and relations between objects are set. The main idea is to decompose data and functionality into set of objects, where each object comprise part of data and functionality related to the data. Functionality an object implements (is responsible for) is divided into methods (or functions, or messages to which that the object can react to).
Encapsulation (hiding internal structure and internal functionality of objects, and providing public access only to the restricted set of methods and data fields), inheritance (usage of information and functionality encapsulated in one object by its child-objects), multiple inheritance (ability of an object inherit from set of objects), polymorphism (ability to encapsulate different functionality and data into objects of one type) are generally accepted advantages of OOA.
There are many resources of OOA support: first of all, these are programming languages (Smalltalk, C ++, Objective-C, CLOS, Python, Java, Ruby, OCaml) in which the concept of the object is taken out on a syntactical level. Object-Oriented (or post- relational) DB exist too (Oracle, PostgreSQL, Cache) which have high-level descriptions of entity information structures, and provide support of programming objects behavior. The behavior of objects can be described in the form of functions — an executable code for the DB Virtual machine, or for the processor. There are also high-level OOA support systems including various OOA-languages source code analyzers and refactoring support facilities — a standard set of OOA-model large-scale modification.
OOA was promoted to provide and simplify the development and modification of software products of large scale and complexity. However, the main OOA features, positioned as advantages, appeared to be the sources of problems, especially in large projects. The problems are:
• Absence of true polymorphism - there is no guarantees that the overloaded function can save parent class semantics and save integrity of parent class functionality as a whole. While overloading method inherited from parent class developer can easily break the integrity of inherited methods.
• Inheritance is possible only in monotonous way - it is possible to change inherited methods and add new methods, but there is no possibility to remove methods from class. It brings to that number of objects in OO model much greater than number of real world objects. Active usage of multiple inheritances brings to methods collisions and increasing errors factor.
Changes in real world objects and processes are mapped in o changes in OO models, and in simple case these are changes in functions logic without changes in object hierarchy, functionality and relations. But in worst case these are global changes in object model, including adding and deleting new classes of objects, changes in objects relations and objects functionality. In this case the advantages of OOA are shaded by great refactoring cost. Code refactoring is expensive operation, and DB structures refactoring is rather more expensive.
Known Extensible Markup Language (XML, XML data model) [1] can be used for building information models. The main advantage of XML is the standard way of representing information in the form of hierarchy of elements with different attributes. It is possible to describe any complex data in XML model, for example, table or weighted graph. But in XML model there is no means of describing elements semantics and information interpretation. XML is standard hierarchical data model that is used by IT- engineers for exporting/importing data. Another advantage of XML is textual format of XML-documents. It makes possible simple viewing and editing tree structure of the XML-documents and attributes of its elements. XML-documents can't contain description of the used model, and it is impossible to interpret attributes and elements values without DTD specification and corresponding program interpreting the XML-documents of that particular type. Let's assume that two independent bank systems developers have used XML for message passing between theii systems components and have decided to unite the systems. Specifications of XML-languages for messages in two banks may be greatly different, even if the contents of the messages have close semantics. There are two solutions of the stated problem:
1. Standardization of XML-documents specifications for different knowledge domains [2, 3] (both banks should use standards if there exists any for the given domain). But there can't be standards for all knowledge domains.
2. Translation of XML-documents of one bank to XML-model of the second bank (one bank should make total refactoring of its document system). But this is expensive way.
The second solution gave rise to a new XML-language, allowing describing the ways of translation of one XML-document to another - extensible Stylesheet Language [4.] XSL provides the ability to map elements from one XML-language to elements of another XML-language according to defined template. There is popular modification of XSL - XSL-T (XSL-Transformations) format [5]. There are additional specifications describing this mapping, such as XPointer (which allow identifying an; fragment in XML documents) and XPath (which allow addressing parts of XM! document). These specifications operate with internal units of XML-document. We ma; say that XSLT is the production programming language: XSLT virtual machine tries t find matches to translation templates in the document and apply corresponding translatio rules while it is possible. The translations rules give new elements with new attributes which can be calculated from attributes and elements of source document according t complex expressions (functions). These expressions are described not in XML-language.
XSLT is interesting in that it has XML-syntax, i.e. the XSLT-document is th XML-document too, and it describes how to process XML-documents modification b means of production rules, and language of these rules is in fact production programmin language.
At the same time XSLT has following disadvantages: it uses external languages and consequently, using XSLT programming language we cannot detect all th transformation logic of XSLT-documents and transform it (for example, logic, embedde* in expressions language).
RDF and related technologies are also known; they are CWM, WAM, PVM - th solutions representing structure in the form of disordered set of tuples of length 3 [6, 7].
Resource Description Framework (RDF) [8] and based on it ontology constructioi language Ontology Web Language (OWL) [9] are selected as information mode prototype. RDF and OWL represent the information as pool of statements - triplet (tuples of length 3) of the form "Subject - Predicate - Object". RDF model is the dat model, where all information is represented as set of tuples of length 3. Standard RD] semantics includes the interpretation of base concepts and their interactions, such a "type", "class", "subclass", "attribute ", "list", "attribute co-domain", "attribute defmitiona domain", etc. This way of representation allows describing both data, and metadata. OWl provides additional language elements used for model description. There are severa toolkits for operating information in RDF-model [10, 11, 12, 13, 14, 15, 16, 17, 18].
The prototype, however, has no logical restrictions on contents of statement se (triples set). In other words a statement can be added to a set without any checking it logical compatibility with existing statements. RDF-model does not impose any restrictions on statements co-existence, and allow antinomies. For example, in RDF model can contain statements, which describe an element as class of itself.
RDF-model does not allow to effectively describing the processes and information changes. It is also impossible to efficiently describe context-dependent Onthologies, structures with version support, and translation algorithms.
The mode of DBMS (data base management systems) operation where a statement added to statement base is checked for logical compatibility with statements existing in the base is accepted as a prototype of method of information model building. The set of rules is used for checking logical compatibility. This way of operation is realized in some DBMS with inference rules support (statement is added only it is inferred from existing statements) [19, 20, 21, 22, 23]. But the known DBMS are based on the models different from tuple data model. The other disadvantage is that logical rules are described in data model (format) different from tuple data model (tuple-format). This brings to that logic and data processing algorithms are not transparent (are not represented in the same way as data and require additional tools).
As an analogue of way of Virtual Machine operation, Trie mode of operation of Parallel Virtual Machine [24] representing sequence of operations performance with such primitives as: message, communication channel, process, group of processes is accepted. PVM gives the possibility of transparently realizing of the communications with other PVM copies driven on other processors and computers, using for this purpose the mechanism of messaging between PVM, united in a group. PVM function is the construction of the distributed computing systems and network exchange devices and providing of knowledge of message exchanging elements location. The strong aspect of the given computer is the group communication abstraction. The PVM weak aspect is the enough low messages level - the incoming messages in PVM do not subject to processing relative to their structure and consistency with messages available in a base. Therefore, the developers of PVM programs should take efforts on support of data structures receipt- transfer between PVM, driven on different processors.
As the prototype of Virtual Machine operation mode, the Closed World Machine (CWM) Virtual Machine mode of operation consisting in one set of RDF-triplets output from the another one is accepted by the way described in the initial set in the form of output logical rules set. CWM distinctive feature is output rules record also in the form of triplets. CWM allows applying some set of functions in processing rules, which can be expanded by the own CWM rework. Disadvantage of the given computer is monotonicity of output rules, complexity of rules record in the form of triplets (special syntax 25 has been offered for output rules record in CWM).
The problem solved by the invention is the problem of rapid development of adaptive information and modeling systems which
• provide one common environment for adaptive modeling of real world objects and process and logic of data processing,
• provide tool for building information models of business processes and developing working business information systems,
• have automatic data consistency support,
• allow "on fly" modification of information models and business processes. DISCLOSURE OF INVENTION
The stated problem is solved by that, in known information model of structures and processes represented by unordered set of tuples, where each tuple has terms which act as Subject, Relation, Object, according to the invention, in that each tuple consists of at least, four terms, and four terms of tuple act as (Context, Subject, Relation, Object) or (Context,' Subject, Attribute, Value), where all terms, except Value terms, act as Subject in a tuple, and all terms acting as Subjects and Objects in tuples where a term, which is interpreted as instance of class is acting as Relation, are organized in a hierarchy by that Relation.
The stated problem is solved by that, according to the invention, additional fourth term Context is entered, and the model is represented in the form of quadruple set as (Context, Subject, Relation, Object), at that all Contexts, Subjects, Objects, Relations are described as Subjects, and the Context represents the quadruple set with identical value of the Context terms. Tlie stated problem is solved by that, according to the invention, a term may be complex object like text, video, sound, graphical object, executable code, any information object or its identifier.
The stated problem is solved by that, according to the invention, tuple contents fifth term acting as Version, and all terms acting as Version also act as Subjects in tuple.
The stated problem is solved by that, in known way of creating of information model of structures and processes where model is represented as a set of statements, and each new statement is added to the set only if it is compatible with all statements existing in the set, according to the invention, that four terms in a tuple act as Context, Subject, Relation, and Object, and there are following restrictions on the tuple to be added:
- all terms of this tuple are acting as Subjects in tuples of the model.
- term acting as Relation at this tuple is already described in the model as Relation that is directed from instances of the class of the term, acting as Subject, to instances of the class of the term, acting as Object at this tuple.
The stated problem is solved by that, according to the invention, in that foui elements in a tuple act as Context, Subject, Attribute, Value, and there is the following restriction on the tuple to be added:
- the term of this tuple acting as Attribute is already described in model as attribute assigned to instances of the class of the term acting as Subject at this tuple.
The stated problem is solved by that, according to the invention, changes in information model are described as a sequence of states and
- each state is a subset of tuples and
- the states are denoted with a term acting as Context at all tuples representing a state.
The stated problem is solved by that, according to the invention chang in information are describeas a sequence of steps of changing and — the steps of changing are subsets of tuples and
— the steps are denoted with a term acting as Context at all tuples representing a step,
— the step to be applied to the state are defined by relation between the term denoted the state and the term denoted the step.
The stated problem is solved by that, according to the invention in the known method of virtual machine operation including tuples delivery in computer input, transformation of tuples consists of analysis of each received tuple according to internal virtual machine rules and making decision:
— add received tuple to the storage;
— reject it;
— delete existing tuples from the storage;
— create new tuples in storage;
— send tuples to the input of the virtual machine; or •
— send tuples to the output of the virtual machine.
The stated problem is solved by that, according to the invention, a subset of tuples is interpreted as virtual machine logic of operation and tuples appeared at the input of the virtual machine and recognized as belonging to logic tuple set, change virtual machine operation..
BRIEF DESCRIPTION OF DRAWINGS
The invention is explained by the following figures.
Fig. 1. The representation of RDF format statement in the form of the graph.
Fig. 2. The representation of quadruplet in the form of the graph.
Fig. 3. The objects hierarchy according to their relations.
Fig. 4. The representation of possibility of relation determination between objects.
Fig. 5. The representation of object characteristic determination possibility
Fig. 6. The Virtual Machine assembly.
Fig. 7. The Virtual Machine message handler assembly. Fig. 8. The example: business processes in an organization.
Fig. 9. The example: the description of changes in information model of organisation.
The information processing, represented in the form of statements, is done by the Virtual Machine.
The Virtual Machine consists of Statement Buffer 1, connected by bidirectional link with Event Manager 2. The second Statement Buffer 1 output is connected with Event Comparator 3. The central block of the virtual machine is Rule Manager 4, providing control of message threads. There is Rule Cache 5 in the Virtual Machine, consisting of several parallel blocks connected with Rule Multiplexor 6, switching rules through Rule Loader 7 in Rule Manager 4 entry. The computer also contains Condition Queue 8, Variable Grid 9, Condition Comparator 10 and Result Manager 11.
The Tuple pool consists of incoming messages stack (Queiy Stack) 12, queues of outgoing messages (Result Queue) 13, message handler (Rule Engine) 14 and memory (Archive) 15.
Function blocks are connected with each other by directed links with the help of which the messages in the form of tuples are transmitted from one block to another. The message cannot be transmitted by one block to another while the last stays in the blocked state. Incoming messages get in incoming message stack. The stack is connected with message handler. The message handler is connected with outgoing messages queue and with tuple pool 15.
BEST MODE FOR CARRYING OUT THE INVENTION
The quadruplet data model is the way of structures and processes information representation as tuple set consisting of four terminal objects (terms). A tuple (C, A, B, D) which terms are interpreted as (Context, Subject, Relation, Object) can be considered as the statement: "A object is in relation B with D object in C context". The tuple (C, E, P, «value») . which terms are interpreted as (Context, Subject, Attribute, Value) can be considered as the statement: "In context C the attribute P of object E gets «value»". The graphical quadruplet representation is shown in Fig.2.
The quadruplet model is similar to natural language model:
Figure imgf000011_0001
In the proposed quadruplet model implementation there is special term "Instance- of ', which acts as of the Relation and is interpreted as "instance of.
A tuple
Figure imgf000011_0002
is interpreted as "Term a is instance of Class a in context C ". The term "Class a" is named as a class of a term (object) "a", and the term "a" is called instance of "Class a". The special term "None" is top of the hierarchy "class-> instance of class".
AU terms organized in the form of hierarchy by the relation "Instance-of and a term can be used in tuple only if is described as instance of term "None" or any other already instantiated term.
Figure imgf000011_0003
In order to add «C-a-R-b» tuple, interpreted as "Context-Subject-Relation-Object", it is necessary that "a" and "b" classes of terms have been described as classes where it is possible to install ratio R between their objects. For this purpose the auxiliary terms "Domain" and "Range" are used. Namely, for adding the tuple
Figure imgf000012_0001
In order to add "C - a - P - «prop value»" tuple, that attribute "P" should be described as attribute of terms, which were instantained from class of "a". This done by special relation "Has-property": attribute "P" and parent term (in the relation to "Instance-of) of the subject "a" should be linked by relation "Has-property". For example,, adding the following tuple:
Figure imgf000012_0002
If term play role of Context, it should be described in appropriate way. For example, by means of term "Includes" Relation between new Context and existing one can be established. Term "None" can play role of Context. If we want use term "C" as Context, we should add the following two tuples to the tuple set:
Figure imgf000012_0003
Figure imgf000013_0001
The Relation "Includes" is interpreted as "all statements in subject context are true in object context". Thw tuple "None - C - Includes - None" is interpreted as statement "Context C includes context None".
Let's consider part of information model of an organization engaged in publishing. Level of abstraction 0. A basic axioms
The basic axiom set includes definition of each term in hierarchy of the "Instance- of ' relation except for a term "None", the description of the terms interpreted as relations: "Domain", "Range", "Has-Property", "Includes", and the description of a term "C", used as a context.
Figure imgf000013_0002
Figure imgf000014_0001
Level of abstraction 1. The metamodel. Let's infer the concepts of Position, Process and Person
Figure imgf000014_0002
Figure imgf000015_0001
Level of abstraction 2. The model Let's describe the staff:
Context Subject Relation Context
Smith J. Instance-Of Person
C John T. Instance-Of Person
G Veller A. Instance-Of Person
Let's describe positions:
Figure imgf000015_0002
Let's describe salaries:
Figure imgf000015_0003
Let's describe existing processes:
Figure imgf000015_0004
Figure imgf000016_0001
Level of abstraction 3. A concrete definition of model Let's show components of process of make-up
Figure imgf000017_0001
The persons, positions and processes are shown in graphic presentations of Figs. 8 and Fig..9 of processes sequence in an example of the organization staff in an example of the organization.
Let's assume, that there were certain changes in the organization. We shall display all the added quadruples in a context «C+1», and all deleted quadruples in«C_i», for what case:
Let's describe terms «C+χ» and«C-1» as Contexts:
Figure imgf000017_0002
Let's enter the terms representing the change relations in structure relative to an initial state - "Add" - the added statements, "Subtract" - deleted:
Figure imgf000017_0003
Figure imgf000018_0001
Changes record will look like this:
Figure imgf000018_0002
Contexts can be used multilanguage support. We will show, that statements in model can contain description of the same knowledge domain in different languages. We will use contexts "ru" and "en", describe in these contexts translations to Russian and English language of object names (property "name").
Figure imgf000018_0003
That gives a possibility in "En" context to receive from the system descriptions of the following kind:
Figure imgf000018_0004
For "Ru" context selection system will give descriptions of the following kind:
Figure imgf000018_0005
The context also allows describing logic and complex functions.
Let's describe the function if (condition, true-branch, false-branch) in which the result of condition calculation is a scalar, and optional branches true-branch and false- branch may complex functions calls.
Lets indicate that the term "if belongs to the class of operators:
Figure imgf000019_0001
Using "op-param" parameters of operator are described:
C op-param domain operator
C op-param range par am
Let's indicate that terms "condition", "true-branch" and "false-branch" are the instances' of "param" class of parameters:
Figure imgf000019_0002
Let's indicate that operators have "op-type" attribute:
Figure imgf000019_0003
Lets describe attributes of the term "param":
Figure imgf000019_0004
The return type ("op-type") of operator "if is "setr
Figure imgf000019_0005
The Relation "op-param" describes parameters of operator "if:
Figure imgf000019_0006
Term class "boolean" contains instances "true" and "false":
Figure imgf000020_0001
Value "true" of "param-mandatory" attribute specifies that "condition" is a mandatory parameter:
Figure imgf000020_0002
Value "false" of "param-multiple" attribute tells that "condition" is used one time:
Figure imgf000020_0003
Value "boolean" of "param-type" attribute specifies that "condition" returns a term of "boolean" class:
Figure imgf000020_0004
Let's describe "true-branch" operand:
Figure imgf000020_0005
Let's describe "false-branch" operand:
Figure imgf000020_0006
Let's describe function "Sum" which returns the sum of its arguments. Only scalars can serve as arguments of this function:
Figure imgf000020_0007
Figure imgf000021_0001
Let's describe function "prop-value" which returns the value of the specifie< object specified attribute:
Figure imgf000021_0002
Let's describe function "equal" which returns a term "true" in a case of equalit of the two arguments and "false" in a case of their inequality:
Figure imgf000021_0003
Figure imgf000022_0001
Now we shall describe complex expression which checks the sum of Z object "X" and "Y" attributes and in case of equality of this sum to 100 should return the term "true", and otherwise - "false".
WITH exp-if Instance-Of expression
Figure imgf000022_0002
Figure imgf000023_0001
to the input of the virtual machine will return «false» value with the described functions usage.
The necessity of the fifth term in the statement can arise, when there is a necessity to track, for example, the time of quadruplet creation or to support the versionity of the described model. Thus, the term which can be designated as Time or the Version is added to each tuple (sentence) in quintuple models. For example, the verbal statement
"In the version vl .2 of organization description Sidorov is a manager of a sales department" will be transformed to the following tuple:
Figure imgf000023_0002
This information can be written and in quadruplet models. For this purpose it is necessary to use operation of "Include" and attribute "version" of contexts inclusion:
Figure imgf000023_0003
Thus, the information presented in a tuple of five terms can be presented as three tuples of four terms. Under the similar scheme one tuple of 6 terms is represented in the form of three tuples of five terms. What tuple model (what length) is more effective, depends on average dimension of relations, which are used in model. If in a description each Context contains more than 3 quadruplets (that is each term used as Context can meet in statements in the Context place for more than 3 times) then it is reasonable to use quadruplet model and to set for each context "version" attribute, otherwise it is necessary to use tuples of size 5 (quintuple). The situation when there are a lot of contexts, each containing less than three statements, is uncommon. For this reason transition to quintuple model from quadruplet model is not effective from the point of view of the tuple base size.
Besides roles of Version or Time the additional term can play role of namespace. That allows storing the independent descriptions of various knowledge domains in one base. If any taxonomy is defined over knowledge domains, then it is possible to use its taxonomy items as the first several terms in the tuple. For example, the kbowledge can be classified by 3 properties: corporation department (IT, Engineering, Human resources), the project, documentation section (structure of the project, bug tracking, support). First three terms can be values of these properties:
Figure imgf000024_0001
There is research work on effective tuple data models implementation, and there is some mathematical models showing that quadruples model is optimal one [26].
Virtual machine description. The message handler 2 determines, what changes will be made in a tuple pool 15 as a result of new messages arrival to Input Query Stack 12, and what messages will be initialized and sent to Query Stack 12 for the further processing and what messages will be directed to Result Queue 13 of outgoing messages.
The pool of tuples represents a storage of the tuple set. The pool consists of memory -15 for tuples storage and temporary linear address space for storage of call results. The pool supports three operations: addition (SET), deletion (UNSET) and tuple query (GET). Each of these three operations has attached tuple. First two operations use a tuple attached to a message, for its addition to a pool or its removal from a pool accordingly, and the third operation interprets transmitted tuple as a mask and sends all the tuples containing in a pool and matching the mask to the temporary linear address space of tuple pool. For the period of each operation execution, the pool is blocked. A subset of tuples in the pool represents the logical rules description.
Queiy Stack 12 and Result Queue 13 are represented by tuple lists (an ordered tuples set). Query Stack 12 and Result Queue 13 support two operations: addition of a tuple (PUT) and extraction of a tuple (GET). Each tuple is added to the beginning of the list. And each tuple is extracted (withdrawn) from the end of Result Queue 13, and from the beginning of Query Stack 12. Query Stack 12 and Result Queue 13 have the fixed maximum list size; on its reaching they are blocked for addition operations.
The Message Handler controls execution of rules stored. in Tuple Pool for each input tuple.
The messages goes to Statement Buffer 1. The Statement Buffer 1 can be blocked by the signals from Event Manager 2, if the message handler at the present moment it is busy with processing messages. From Statement Buffer messages go to Comparator.
Event Manager 2 defines the sequence of Rule Cache 5 units usage, and the moment of system start also gives a signal to rules loader (Rule Loader) 7 to load all rules from the tuple pool 15 into cache units 5.
The rule manager (Rule Manager) 4 controls message paths and locks the conditions queue (Condition Queue) 8 or the rules loader (Rule Loader) 7 and defines where messages from Tuple Pool 15 should go.
The block Variable Grid 9 stores the values of variables participating in a current processed rule.
In quadruplet model, the logic described in the form of rules interpreted by the message handler and is stored alongside with the declarative information. These rales are represented by set of tuples in Tuple Pool 15 and the Rule Loader 7 loads them into caches of rules Rules Cache 1, Rules Cache 2, ...of Message Handler.
Let's examine an example of rules description in quadruplet model. We shall take a rule of modeling which is described in a natural language as follows: In any statement which has entered in an entry the last two terms - the Relation and the Object should be interchanged and this statement should be sent to an output.
Let's write this rule in more formal way:
Figure imgf000026_0001
To describe this rule in quadruplet model, the replacement of context technique is required. Four main statements of this rule description will look as:
Figure imgf000026_0002
They mean, that if the last three quadruplet terms in input tuple are B, C, D then the last three terms of output tuple will be B, D, C. The term "in_clausel" by means of term "input-clause" is described as input tuple (a term identifying input tuple), and "out_clausel" - by means of Relation term "output-clause" is described as output tuple (a term identifying output tuple). Besides, it is necessary to specify values of input and output tuples contexts. For this purpose the special term "clause-context" is used:
Figure imgf000026_0003
It is necessary to specify also, that A, B, C and D are variables (symbols). For this the 1 term "var" is used:
Figure imgf000027_0001
The complete rule description, excluding metamodel and intermediate terms instantiating, looks as following:
Figure imgf000027_0002
entering the Virtual Machine input will bring to the addition following tuple to the Tuple Pool:
Figure imgf000028_0001
In case of no rule is activated, the Virtual Machine simply adds all input tuples to the Tuple Pool 15. In order to activate Rule 1, the following tuple should be sent to the Virtual Machine input:
Figure imgf000028_0002
Term "Activate" is used as Predicate for activation of different rules. For rule deactivation the following tuple should be sent to Virtual Machine input:
Figure imgf000028_0003
Thus, sending tuples to the Virtual Machine input one can change the logic of its operation.
INDUSTRIAL APPLICABILITY
The software [27] is created on the basis of the invention, and can be used for:
- building adaptive models of business processes;
- creating the corporate knowledge bases;
- organizing workflow;
- creating the expert system;
The invention provides the way of the information presentation, allowing creating adaptive information systems with the possibility of adaptation to dynamic changes in real world objects and processes. Besides, the invention allows integrating the data of different ' computer applications.
The invention provides the way of building information system which have:
• intelligent data consistency support,
• tools for complex data processing (implementing complex algorithms of data processing), .
• ability "on the fly" change information models,
• mechanism of logical contradictions resolving, • multilanguage support,
• ability to define rules for automatic data processing and controlling information consistency
• organize multiprocessor calculations in the distributed environment.
The sources of the information taken into consideration at examination:
1. Extensible Markup Language (XML), www.w3.org/xml.
2. http://www.oasis.com.
3. World Wide Web Consortium, http://www.w3c.org
4. http://www.w3.org/Style/XSL/.
5. Language for transforming XML documents into other XML documents, http://www.w3.org/TR/xslt.
6. CWM - general-purpose data processor for the semantic web http://www.w3.org/2000/10/swap/doc/cwm.html.
7. Sharman, H. C. G. and Winterbottom N. "The Universal Triple Machine: A Reduced Instruction Set Repository Manager", Proc. Of BNCOD.-6, pp. 188-213, 1988.
8. Resource Description Framework, http://www.w3.org/RDF — prototype.
9. Web Ontology Language, http://www.w3.org/TR/owl-features/ — prototype.
10. Sesame - open source RDF database with support for RDF Schema inferencing and querying, http://openrdf.org.
11-. The Kowari Metastore™ - open source, massively scalable, transaction-safe, purpose-built database for the storage and retrieval of metadata, http://kowari.org/.
12. Bracchi et al., Binary Logical Associations in Data Modelling, Modelling in Data Base Management Systems G.M. Nijssen, (ed); North Holland Publishing CompThing: pp. 125-147, 1976.
13. Frost R. A. ASDAS - a simple database management system, Proc. Of the 6-th ACM Euro. Reg. Conf. IPC, Bus Press, pp. 234-240, 1981.
14. Frost R.A. Binary-Relational Storage Structures, The Computer Journal 25(3): 358-367, 1982.
15. King et al., TriStarp - An Investigation into the Implementation and Exploitation of Binary Relational Storage Structures, Proc. δ.sup.th BNCOD (British National Conference On Data Bases), pp. 64-84, 1990.
16. A Semantic Web Framework for Java, http://jena.sourceforge.net.
17. 4Suite™: an open-source platform for XML -and RDF processing, http://4suite.org.
18. Julio C. Arpirez et al., WebODE: a Scalable Workbench for Ontological Engineering, 2001.
19. Han et al. Logic Base: A Deductive Database System Prototype, ACM, 1994.
20. Storey et al. Database Design with Common Sense Business Reasoning and Learning (http://portal.acm.org/citation.cfm?id=278245.278246) in ACM Transactions on Database Systems (TODS) archive, Volume 22, Issue 4, pp. 471-512, 1997.
21. Harrison John, Active Rules in Deductive Databases, 11-93, ACM.
22. Mengchi Liu , Gillian Dobbie, Tok Wang Ling, A logical foundation for deductive object-oriented databases, ACM Transactions on Database Systems (TODS), v.27 n.l, pρ. 117-151, 2002.
23. Grant John, Minker Jack, The Impact of Logic Programming on Databases, 3- 92, ACM.
24. A Framework for Parallel Distributed Computing, V. S. Sunderam, Concurrency: Practice and Experience, 2, 4, pp 315-339, December, 1990.
25. Notation 3 - an alternative RDF syntax, http://www.w3.org/DesignIssues/Notation3.html.
26. http ://orgway . org/twiki/bin/view/Home/TupleModel
27. http://orgway.org
28. Systems and methods for storing data, USA Patent No 6,735,593, Int. Cl. G06G 007/48, publ. 11/04/2004.
29. Protege - open source ontology editor and knowledge-based framework, http ://protege. Stanford, edu/. 30. Adaptive technologies for information integration and dynamic business rules management, http ://cerebra. com/.

Claims

The CLAIMS
1. The information model of structures and processes represented by unordered set of tuples, where each tuple has terms which act as Subject, Relation, Object, distinguishing in that each tuple consists of at least, four terms, and four terms of tuple act as (Context, Subject, Relation, Object) or (Context, Subject, Attribute, Value), where all terms, except Value terms, act as Subject in a tuple, and all terms acting as Subjects and Objects in tuples where a term, which is interpreted as instance of class is acting as Relation, are organized in a hierarchy by that Relation.
2. Information model of claim I where in additional fourth term Context is entered, and the model is represented in the form of quadruple set as (Context, Subject, Relation, Object), at that all Contexts, Subjects, Objects, Relations are described as Subjects, and the Context represents the quadruple set with identical value of the Context terms.
3. Information model of claim l,w h e r e i n a term is complex object like text, video, sound, graphical object, executable code, any information object or its identifier.
4. Information model of claim 1, w h e r e i n tuple contains fifth term acting as Version, and all terms acting as Version also act as Subject in a tuple.
5. The way of creating of information model of structures and processes where model is represented as a set of statements, and each new statement is added to the set only if it is compatible with all statements existing in the set, distinguishing in that the statements are tuples consisting at least of four terms.
6. The way of creating of information model of Claim 5, distinguishing in that four terms in a tuple act as Context, Subject, Relation, and Object, and there are following restrictions on the tuple to be added:
- all terms of this tuple are acting as Subjects in tuples of the model.
- term acting as Relation at this tuple is already described in the model as Relation that is directed from instances of the class of the term, acting as Subject, to instances of the class of the term, acting as Object at this tuple.
7. The way of creating of information model of claim 5, distinguishing in that four elements in a tuple act as Context, Subject, Attribute, Value, and there is the following restriction on the tuple to be added:
- the term of this tuple acting as Attribute is already described in model as Attribute assigned to instances of the class of the term acting as Subject at this tuple.
8. The way of creating and changing of information model according to claim 5, where in changes in information model are described as a sequence of states and
- each state is a subset of tuples and
- the states are denoted with a term acting as Context at all tuples representing a state.
9. The way of creating and changing of information model according to claim 8, where in changes in information model are described as a sequence of steps of changing and
- the steps of changing are subsets of tuples and
- the steps are denoted with a term acting as Context at all tuples representing a step,
- the step to be applied to the state are defined by relation between the term denotes the state and the term denotes the step.
10. The method of virtual machine operation including tuples delivery in computer input, transformation of tuples according to logical inference rules distinguishing in that consists of analysis of each received tuple according to internal virtual machine rules and making decision:
- add received tuple to the storage,
- reject it,
- delete existing tuples from the storage,
- create new tuples in storage, - send tuples to the input of the virtual machine, or
- send tuples to the output of the virtual machine.
11. The method of virtual machine operation of claim 10, w h e r e i n
- a subset of tuples is interpreted as virtual machine logic of operation and -tuples appeared at the input of the virtual machine and recognized as belonging to logic tuple set change virtual machine operation.
PCT/EA2005/000005 2004-11-23 2005-11-03 Information model of structures and processes, method of creating and changing such model, method of virtual machine operation WO2006056213A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EA200401420A EA200401420A1 (en) 2004-11-23 2004-11-23 METHOD OF BUILDING THE INFORMATION MODEL OF THE SYSTEM
EA200401420 2004-11-23

Publications (1)

Publication Number Publication Date
WO2006056213A2 true WO2006056213A2 (en) 2006-06-01

Family

ID=35616730

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EA2005/000005 WO2006056213A2 (en) 2004-11-23 2005-11-03 Information model of structures and processes, method of creating and changing such model, method of virtual machine operation

Country Status (2)

Country Link
EA (1) EA200401420A1 (en)
WO (1) WO2006056213A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013185076A3 (en) * 2012-06-08 2014-01-30 24/7 Customer, Inc. Business rules manager
CN114117064A (en) * 2021-11-09 2022-03-01 西南交通大学 Knowledge dynamic evolution method based on multi-time granularity and application
CN114465911A (en) * 2022-02-10 2022-05-10 成都阿普奇科技股份有限公司 Internet of things sensing equipment resource unified description method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013185076A3 (en) * 2012-06-08 2014-01-30 24/7 Customer, Inc. Business rules manager
US9330117B2 (en) 2012-06-08 2016-05-03 24/7 Customer, Inc. Business rules manager
US9710495B2 (en) 2012-06-08 2017-07-18 24/7 Customer, Inc. Business rules manager
CN114117064A (en) * 2021-11-09 2022-03-01 西南交通大学 Knowledge dynamic evolution method based on multi-time granularity and application
CN114465911A (en) * 2022-02-10 2022-05-10 成都阿普奇科技股份有限公司 Internet of things sensing equipment resource unified description method

Also Published As

Publication number Publication date
EA200401420A1 (en) 2005-06-30

Similar Documents

Publication Publication Date Title
Morgenstern Active databases as a paradigm for enhanced computing environments
US6704743B1 (en) Selective inheritance of object parameters in object-oriented computer environment
US7873611B2 (en) Boolean literal and parameter handling in object relational mapping
US7996416B2 (en) Parameter type prediction in object relational mapping
Dietrich et al. Rule-based agents for the semantic web
US20060089941A1 (en) Data source objects for producing collections of data items
US7702647B2 (en) Method and structure for unstructured domain-independent object-oriented information middleware
WO2006056213A2 (en) Information model of structures and processes, method of creating and changing such model, method of virtual machine operation
Calmet et al. KOMET—A system for the integration of heterogeneous information sources
Motschnig-Pitrik A Generic Framework for the Modeling of Contexts and its Applications
Kayed et al. Using BWW model to evaluate building ontologies in CGs formalism
Ribeiro et al. Interoperability between saas and data layers: Enhancing the midas middleware
Ismailova et al. Semantic management of domain modification in a virtual environment for modeling vulnerable information subjects
Mehare et al. The Python Programming Language
Shan et al. A Semantics-preserving Approach for Extracting RDF Knowledge from Object-oriented Databases
Bodenreider An object-oriented model for representing semantic locality in the UMLS
Ledvinka et al. Formalizing object-ontological mapping using F-logic
Gröner et al. Metamodelling and ontologies (∗)
Körner et al. Improving Natural Language Specifications with Ontologies.
Fernandes et al. Extending a deductive object-oriented database system with spatial data handling facilities
Jordan et al. A feature model of actor, agent, and object programming languages
Liu et al. A framework for feeding Linked Data to Complex Event Processing engines
EP4266205A1 (en) Logical pointers supporting reuse of text translations
Zäschke et al. Adaptive model-driven information systems development for object databases
Anderson Issues of data scalability in open hypermedia systems

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05802282

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 5802282

Country of ref document: EP