Application-independent language module for language-independent applications
First Claim
1. A communications method comprising:
- receiving an identification of a concept that is generic to a plurality of languages and of a language that the concept is to be expressed in from an application needing to communicate the identified concept in the identified language;
in response, a language module accessing a stored concept object which corresponds to the identified concept, said concept object being common to the plurality of languages, representing the identified concept in a language-independent manner, and pointing to all stored language-specific concept definition objects that correspond to the identified concept;
further in response, the language module accessing the stored concept definition object that is pointed-to for the identified language by the accessed concept object, each stored concept definition object that is pointed to by the accessed concept object defining the identified concept for an individual language of the plurality of languages and identifying components of the individual language that express the identified concept in the individual language;
the language module generating an expression of the identified concept in the identified language from stored information including the pointed-to language-specific concept definition object for the identified language and the language components identified by the pointed-to concept definition object; and
providing the generated expression to the application for communicating the expression.
19 Assignments
0 Petitions
Accused Products
Abstract
An application-independent language module for language-independent applications responds to a request from an application identifying a concept that is generic to a plurality of languages and the language that the concept is to be expressed in, by generating and returning an expression of the identified concept in the identified language for the application to communicate. The language module is implemented in object-oriented programming form and includes instances of the following foundation class objects that are provided by an infrastructure for language module development: a concept object for defining the generic concepts in a language-independent manner and pointing to concept definitions each defining the corresponding concept in a different language, a concept definition object for defining the concepts in language-dependent manner and pointing to parsers each for expressing a part of an expression of the concept in the language of the concept definition and associating any variables that are involved in the concept with parsers, and a parser object for expressing parts of the concept expressions and values of any associated variables in the languages of the concept definitions. Variables are defined at the concept level. Also included are foundation classes for languages, variables, and data types. The development infrastructure further includes an application program interface (API) for creating, modifying, and deleting class instances in a database compilable into the language module repository, and a database of media fragments for forming communicable versions of the concepts.
55 Citations
34 Claims
-
1. A communications method comprising:
-
receiving an identification of a concept that is generic to a plurality of languages and of a language that the concept is to be expressed in from an application needing to communicate the identified concept in the identified language;
in response, a language module accessing a stored concept object which corresponds to the identified concept, said concept object being common to the plurality of languages, representing the identified concept in a language-independent manner, and pointing to all stored language-specific concept definition objects that correspond to the identified concept;
further in response, the language module accessing the stored concept definition object that is pointed-to for the identified language by the accessed concept object, each stored concept definition object that is pointed to by the accessed concept object defining the identified concept for an individual language of the plurality of languages and identifying components of the individual language that express the identified concept in the individual language;
the language module generating an expression of the identified concept in the identified language from stored information including the pointed-to language-specific concept definition object for the identified language and the language components identified by the pointed-to concept definition object; and
providing the generated expression to the application for communicating the expression. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 22, 23, 33, 34)
the application is independent of languages including the identified language; and
the language module is independent of applications including said application.
-
-
3. The method of claim 1 wherein:
the provided expression identifies stored media fragments and their order that form a communicable version of the concept.
-
4. The method of claim 3 further comprising:
-
the application obtaining the media fragments from a database of stored media fragments; and
the application communicating the obtained media fragments in the identified order.
-
-
5. The method of claim 1 wherein:
the stored information includes concept objects and concept definition objects of a plurality of concepts, including the identified concept, each concept definition object corresponding to an individual language.
-
6. The method of claim 1 wherein:
the stored information includes concept objects and concept definition objects of a plurality of concepts, including the identified concept, each concept object being common to a plurality of languages, including the identified language.
-
7. The method of claim 1 wherein:
all grammar and syntax of the concept in the identified language is defined by the corresponding concept definition object and the language components pointed to by the corresponding concept definition object.
-
8. The method of claim 1 wherein:
-
receiving an identification of a concept includes receiving a value of a variable;
accessing the stored concept definition comprises accessing the pointed-to concept definition, which maps the variable to a corresponding one of the identified language components;
generating includes composing an expression of the variable'"'"'s corresponding language component including the value of the variable, in the identified language; and
the communicating includes communicating the expression of the variable'"'"'s corresponding language component including the expression of the value of the variable.
-
-
9. The method of claim 5 wherein:
-
the concept definition object identifies the language components by identifying at least one parser that corresponds to the language components and is included in the stored information; and
the language module uses the identified at least one parser to express the language components in the identified language.
-
-
10. The method of claim 1 wherein:
-
the expression of the concept in the identified language comprises a plurality of the language components; and
the language components are each expressed in the identified language by a corresponding parser included in the stored information.
-
-
11. The method of claim 8 wherein:
-
the variable has a corresponding parser included in the stored information; and
the value of the variable is expressed in the identified language by the corresponding parser.
-
-
12. The method of claim 1 wherein:
-
receiving is preceded by the step of the application identifying to the language module the concept that is generic to the plurality of languages and the language that the concept is to be expressed in, in response to needing to communicate the identified concept in the identified language; and
providing is succeeded by the steps of in response to the providing, the application receiving from the language module the expression of the identified concept in the identified language, and in response, the application communicating the received expression of the concept, so that the application is independent of languages including the identified language.
-
-
13. The method of claim 12 wherein:
-
the received expression identifies media fragments and their order that form a communicable version of the concept; and
communicating comprises the application obtaining the media fragments identified by the received expression from a database of media fragments, and the application communicating the obtained media fragments in the identified order.
-
-
14. The method of claim 12 wherein:
all grammar and syntax of the concept in the identified language is defined by the language module.
-
15. The method of claim 12 wherein:
-
identifying includes the application specifying a value of a variable;
receiving includes receiving an expression of the value of the variable in the identified language; and
communicating includes communicating the received expression of the value of the variable.
-
-
22. An apparatus for carrying out the method of one of the claims 12-15.
-
23. A computer-readable medium containing instructions which, when executed in a computer, cause the computer to perform the method of one of the claims 12-15.
-
33. An apparatus for carrying out the method of one of the claims 1-6, 7-11, and 22-26.
-
34. A computer-readable medium containing instructions which, when executed in a computer, cause the computer to perform the method of one of the claims 1-6, 7-11, and 22-26.
-
16. A language module that enables applications to communicate concepts in language-independent manner, comprising:
-
storage means storing a plurality of concept definitions each defining a concept that is generic to a plurality of languages in a language-dependent manner and pointing to parsers each for expressing a portion of an expression of the concept in the language of the concept definition and further associating any variables that are involved in the concept with the parsers, and a plurality of concept objects each common to the plurality of languages, representing a different corresponding generic concept in a language-independent manner, and identifying all of the stored concept definitions that define the corresponding concept for different languages;
a plurality of said parsers for expressing portions of the expressions of the concepts in the languages of the corresponding concept definitions and for expressing values of any variables associated with the parsers in the languages of the corresponding concept definitions;
means for receiving identification of any one of the concepts and of a language that the identified concept is to be expressed in and also receiving values of any variables involved in the identified concept, and in response returning an expression of the identified concept in the identified language; and
means cooperative with the receiving means and the storage means, responsive to the received identifications for accessing a stored concept object that corresponds to the identified concept, for accessing the stored concept definition identified by the accessed concept object and that corresponds to the identified language, and responsive to the accessed concept definition for using the parsers pointed to by the accessed concept definition to express the portions of the expression of the identified concept in the identified language, including expressing any values of any said variables in the identified language by using any said parsers associated with any said variables. - View Dependent Claims (17, 18, 19, 20)
all grammar and syntax of each said concept in each said language is defined by contents of the storage means.
-
-
18. The language module of claim 16 wherein:
-
the storage means further stores a plurality of variable objects each defining one of the variables as corresponding to a particular data type;
a plurality of data type objects each defining a particular type of data; and
at least one language objects each defining an individual language.
-
-
19. The language module of claim 16 in combination with a database of media fragments, wherein:
the returned expression identifies the media fragments and their order forming a communicable version of the identified concept in the identified language.
-
20. The method of claim 19 wherein:
the language module is independent of applications including said application.
-
21. A language module that enables applications to communicate concepts in language-independent manner, comprising:
-
storage means storing a plurality of concept definitions each defining a concept that is generic to a plurality of languages in a language-dependent manner and pointing to parsers each for expressing a portion of an expression of the concept in the language of the concept definition and further associating any variables that are involved in the concept with the parsers, a plurality of concept objects each representing a different one of the concepts in a language-independent manner and identifying the concept definitions of the represented concept for different languages, and a plurality of said parsers for expressing portions of the expressions of the concepts in the languages of the corresponding concept definitions and for expressing values of any variables associated with the parsers in the languages of the corresponding concept definitions;
means for receiving identification of any one of the concepts and of a language that the concept is to be expressed in and also receiving values of any variables involved in the concept, and in response returning an expression of the identified concept in the identified language; and
means cooperative with the receiving means and the storage means, responsive to the received identification of the concept and the language for accessing the concept object that corresponds to the identified concept, determining therefrom the concept definition that corresponds to the identified concept and language, accessing the determined concept definition, and responsive to the accessed concept definition for using the parsers pointed to by the accessed concept definition to express the portions of the expression of the identified concept in the identified language, including expressing any values of any said variables in the identified language by using any said parsers associated with any said variables.
-
-
24. A communications method comprising:
-
receiving an identification of a concept that is generic to a plurality of contexts and of a context that the identified concept is to be expressed within, from an application needing to communicate the identified concept within the identified context;
in response, a language module accessing a stored concept object which corresponds to the identified concept, said concept object being common to the plurality of contexts, representing the identified concept in a context-independent manner, and pointing to all stored context-specific concept definition objects that correspond to the identified concept;
further in response, the language module accessing the stored concept definition object that is pointed to for the identified context by the accessed concept object, each stored concept definition object that is pointed to by the accessed concept object defining the identified concept for an individual context of the plurality of contexts and identifying components of language that express the identified concept in the individual context;
the language module generating an expression of the identified concept for the identified context from stored information including the pointed-to context-specific concept definition object for the identified context and the language components identified by the pointed-to concept definition object; and
providing the generated expression to the application for communicating the expression. - View Dependent Claims (25, 26, 27, 28)
the stored information includes a plurality of concept objects each representing a different one of the concepts in a context-independent manner and identifying all of the concept definition objects of the corresponding concept for different contexts; and
accessing the identified stored concept object comprises in response to the identifications of the concept and the context, accessing the concept object that corresponds to the identified concept and determining therefrom the concept definition that corresponds to the identified concept and context.
-
-
26. The method of claim 24 wherein:
the context comprises at least one of a language of expression and a medium of expression.
-
27. The method of claim 24 wherein:
-
the application is independent of contexts including the identified context; and
the language module is independent of applications including said application.
-
-
28. The method of claim 24 wherein:
-
the concept definition object identifies the language components by identifying at least one parser that corresponds to the language components and is included in the stored information; and
the language module uses the identified at least one parser to express the corresponding language components within the identified context.
-
-
29. A language module that enables applications to communicate concepts in context-independent manner, comprising:
-
storage means storing a plurality of concept definition objects each defining a concept that is generic to a plurality of contexts in a context-dependent manner and identifying components of language that express the generic concept in the corresponding context, and a plurality of concept objects each common to the plurality of contexts, representing a different corresponding concept in a context-independent manner, and identifying all of the stored concept definition objects that define the corresponding concept for different contexts;
means for receiving identification of any one of the concepts and of a context that the identified concept is to be expressed in, from an application needing to communicate the identified concept within the identified context, and in response providing an expression of the identified concept for the identified context to the application for communicating the expression; and
means cooperative with the receiving means and the storage means, responsive to the received identifications for accessing the stored concept object which corresponds to the identified concept, for accessing the stored concept definition object identified by the accessed stored concept object and that corresponds to the identified context, and responsive to the accessed concept definition object for generating an expression of the identified concept for the identified context from stored information including the pointed-to context-specific concept definition object for the identified context and the language components identified by said concept definition object. - View Dependent Claims (30, 31, 32)
the stored information includes a plurality of concept objects each representing a different one of the concepts in a context-independent manner and identifying all of the stored concept definition objects of the corresponding concept for different contexts; and
the accessing means respond to the received identification of the concept and the context by accessing the concept object that corresponds to the identified concept and determining therefrom the concept definition object that corresponds to the identified concept and context.
-
-
31. The language module of claim 29 wherein:
the context comprises at least one of a language of expression and a medium of expression.
-
32. The language module of claim 29 wherein:
-
the storage means further store a plurality of parsers for expressing corresponding language components;
the concept definition object identifies the language components by identifying at least one parser corresponding to the language components; and
the language module uses the identified at least one parser to express the corresponding language components within the identified context.
-
Specification