Hierarchical encapsulation of instantiated objects in a multimedia authoring system
First Claim
1. An application development system comprising:
- (a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element object in the first class;
(b) a second class of Modifier objects from which one or more Modifiers can be instantiated, the second class defining a second set of characteristics inherent to each Modifier object in the second class;
(c) an instantiation mechanism that enables a first Element and a second Element to be instantiated from the first class of Element objects, and further enables a first Modifier to be instantiated from the second class of Modifier objects;
(d) a first hierarchical linking mechanism that enables an author to link the first Element as a parent to the first Modifier, the first Element attaining the second set of characteristics while the first Element and the first Modifier remain linked; and
(e) a second hierarchical linking mechanism that enables an author to link the first Element as a parent to the second Element, the first Element providing an environmental frame of reference for the second Element and the first Modifier.
5 Assignments
0 Petitions
Accused Products
Abstract
An application development system, optimized for authoring multimedia titles, enables its users to create selectively reusable object containers merely by defining links among instantiated objects. Employing a technique known as Hierarchical Encapsulation, the system automatically isolates the external dependencies of the object containers created by its users, thereby facilitating reusability of object containers and the objects they contain in other container environments. Authors create two basic types of objects: Elements, which are the key actors within an application, and Modifiers, which modify an Element'"'"'s characteristics. The object containers (Elements and Behaviors--i.e., Modifier containers) created by authors spawn hierarchies of objects, including the Structural Hierarchy of Elements within Elements, and the Behavioral Hierarchy, within an Element, of Behaviors (and other Modifiers) within Behaviors. The system utilizes an Element'"'"'s dual hierarchies to make that Element an environmental frame of reference to the objects it contains. Through techniques known as Hierarchical Message Broadcasting, Hierarchical Variable Scoping and Hierarchical Relative Positioning, objects automatically receive messages sent to their object container and access data known to their object container. An Element'"'"'s position is even determined relative to the position of its parent Element container. The system is highly extensible through a Component API in which Modifiers and Services that support them can be added and integrated seamlessly into the system. The system'"'"'s architecture is substantially platform-independent, automatically allowing most author'"'"'s titles to run on multiple platforms. In addition, the entire authoring environment can be ported relatively easily to a variety of platforms due to the isolation a platform-dependent layer within the system.
375 Citations
48 Claims
-
1. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element object in the first class; (b) a second class of Modifier objects from which one or more Modifiers can be instantiated, the second class defining a second set of characteristics inherent to each Modifier object in the second class; (c) an instantiation mechanism that enables a first Element and a second Element to be instantiated from the first class of Element objects, and further enables a first Modifier to be instantiated from the second class of Modifier objects; (d) a first hierarchical linking mechanism that enables an author to link the first Element as a parent to the first Modifier, the first Element attaining the second set of characteristics while the first Element and the first Modifier remain linked; and (e) a second hierarchical linking mechanism that enables an author to link the first Element as a parent to the second Element, the first Element providing an environmental frame of reference for the second Element and the first Modifier.
-
-
2. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element in the first class; (b) a second class of Modifier objects from which one or more Modifiers can be instantiated, the second class defining a second set of characteristics inherent to each Modifier in the second class; (c) a third class of Element objects from which one or more Elements can be instantiated, the third class defining a third set of characteristics inherent to each Element in the third class; (d) an instantiation mechanism that enables a first Element to be instantiated from the first class, and further enables a second Element to be instantiated from the third class, and further enables a first Modifier to be instantiated from the second class; (e) a first hierarchical linking mechanism that enables the first Element to be linked to the first Modifier, the first Element providing an environmental frame of reference for the first Modifier, and attaining the second set of characteristics, while the first Element and first Modifier remain linked; and (f) a second hierarchical linking mechanism that enables the first Element to be linked to the second Element, the first Element providing an environmental frame of reference for the second Element while the first and second Elements remain linked, whereby the system enables the creation of an object hierarchy. - View Dependent Claims (3, 4)
-
-
5. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element in the first class; (b) a second class of Modifier objects from which one or more Modifiers can be instantiated, the second class defining a second set of characteristics inherent to each Modifier in the second class; (c) an instantiation mechanism that enables a first Element to be instantiated from the first class, and further enables a first Modifier to be instantiated from the second class; and (d) a hierarchical linking mechanism that enables the first Element to be linked to the first Modifier, the first Element attaining the second set of characteristics while the first Element and first Modifier remain linked, whereby the system enables a form of object-based authoring through the modification of the behavior of an object without modifying the system'"'"'s underlying class hierarchy. - View Dependent Claims (6, 7, 8, 9, 10, 11)
-
-
12. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element in the first class; (b) a second class of Modifier objects from which one or more Modifiers can be instantiated, the second class defining a second set of characteristics inherent to each Modifier in the second class; (c) an instantiation mechanism that enables a first Element to be instantiated from the first class, and further enables a first Modifier to be instantiated from the second class; and (d) a hierarchical linking mechanism that enables the first Element to be linked to the first Modifier, the first Element providing an environmental frame of reference for the first Modifier while the first Element and first Modifier remain linked, whereby the system enables the behavior of an Element to be modified. - View Dependent Claims (13, 14, 15, 16, 20)
-
-
17. An application development system comprising:
-
(a) a first class of Behavior objects from which one or more Behaviors can be instantiated, the first class defining a first set of characteristics inherent to each Behavior in the first class; (b) a second class of Modifier objects from which one or more Modifiers can be instantiated, the second class defining a second set of characteristics inherent to each Modifier in the second class; (c) an instantiation mechanism that enables a first Behavior to be instantiated from the first class, and further enables a first Modifier to be instantiated from the second class; and (d) a hierarchical linking mechanism that enables the first Behavior to be linked to the first Modifier, the first Behavior providing an environmental frame of reference for the first Modifier while the first Behavior and first Modifier remain linked, whereby the system enables a behavioral hierarchy of Modifiers to be created. - View Dependent Claims (18, 19)
-
-
21. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element in the first class; (b) a second class of Modifier objects from which one or more Modifiers can be instantiated, the second class defining a second set of characteristics inherent to each Modifier in the second class; (c) a third class of Behavior objects from which one or more Behaviors can be instantiated, the third class defining a third set of characteristics inherent to each Behavior in the third class; (d) a fourth class of Modifier objects from which one or more Modifiers can be instantiated, the fourth class defining a fourth set of characteristics inherent to each Modifier in the fourth class; (e) an instantiation mechanism that enables a first Element to be instantiated from the first class, and further enables a first Modifier to be instantiated from the second class, and further enables a first Behavior to be instantiated from the third class, and further enables a second Modifier to be instantiated from the fourth class; and (f) a hierarchical linking mechanism that enables; (1) linking of the first Element to the first Modifier and the first Behavior; and (2) linking of the first Behavior to the second Modifier, wherein the first Behavior attains the fourth set of characteristics while the first Behavior and second Modifier remain linked, and the first Element attains the second, third and fourth sets of characteristics, while the first Element, first Behavior and first and second Modifiers remain linked, whereby the first, second, third and fourth sets of characteristics define the first Element'"'"'s personality.
-
-
22. An application development system comprising:
-
(a) a plurality of object classes from which one or more objects can be instantiated, each class defining a set of characteristics inherent to each object in that class; (b) an instantiation mechanism that enables a first object having a first set of characteristics to be instantiated from the plurality of object classes, and further enables a second object having a second set of characteristics to be instantiated from the plurality of object classes, and further enables a third object having a third set of characteristics to be instantiated from the plurality of object classes, and further enables a fourth object having a fourth set of characteristics to be instantiated from the plurality of object classes; and (c) a hierarchical linking mechanism that enables; (i) creation of a first object container by linking the first object to the second object, wherein the first object provides an environmental frame of reference for the second object while the first and second objects remain linked; (ii) creation of a second object container by linking the second object to the third object, wherein the second object provides an environmental frame of reference for the third object while the second and third objects remain linked; and (iii) replacement of the second object with the fourth object by breaking the links between the second object and the first and third objects, and establishing corresponding links between the fourth object and the first and third objects, such that the first object provides an environmental frame of reference for the fourth object, which in turn provides an environmental frame of reference for the third object, while the first, third and fourth objects remain linked, whereby the system enables selective reusability of an object container and the objects it contains. - View Dependent Claims (23, 24, 25, 26)
-
-
27. An application development system comprising:
-
(a) a plurality of object classes from which one or more objects can be instantiated, each class defining a set of characteristics inherent to each object in that class; and (b) an instantiation mechanism that enables a first object having a first set of characteristics to be instantiated from the plurality of object classes, and further enables a second object having a second set of characteristics to be instantiated from the plurality of object classes, and further enables a third object having a third set of characteristics to be instantiated from the plurality of object classes; and (c) a hierarchical linking mechanism that enables creation of; (i) a first object container by linking the first object to the second object, wherein the first object provides an environmental frame of reference for the second object while the first and second objects remain linked; and (ii) a second object container, replacing the first object with the third object, by breaking the link between the second object and the first object, and establishing a corresponding link between the second object and the third object, such that the third object provides an environmental frame of reference for the second object while the objects remain linked, whereby the system enables selection of a new object container for an object. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. An application development system comprising:
-
(a) a plurality of object classes from which one or more objects can be instantiated, each class defining a set of characteristics inherent to each object in that class; (b) an instantiation mechanism that enables a first object, a second object and a third object to be instantiated from the plurality of object classes; and (c) a hierarchical linking mechanism that enables creation of; (i) a first object container, by linking the first object to the second object, wherein the first object provides an environmental frame of reference for the second object while the first and second objects remain linked; and (ii) a first object hierarchy within the first object container, by linking the second object to the third object, thereby creating a second object container wherein the second object provides an environmental frame of reference for the third object while the second and third objects remain linked; and (d) a Hierarchical Message Broadcasting mechanism that broadcasts a message sent to the first object container to the second and third objects included within the first object hierarchy, whereby the system enables the broadcasting of messages within an object hierarchy. - View Dependent Claims (37, 38, 39)
-
-
40. An application development system comprising:
-
(a) a plurality of object classes from which one or more objects can be instantiated, each class defining a set of characteristics inherent to each object in that class; (b) an instantiatiOn mechanism that enables a first object and a second object to be instantiated from the plurality of object classes; (c) a hierarchical linking mechanism that enables creation of an object container by linking the first object to the second object, wherein the first object provides an environmental frame of reference for the second object while the first and second objects remain linked; and (d) an object configuration and messaging mechanism that enables configuration of the second object to send a message to a runtime object container that contains the second object when the message is sent at runtime, whereby the system enables the relative targeting of message destinations.
-
-
41. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element in the first class; (b) a second class of Modifier objects from which one or more Modifiers can be instantiated, the second class defining a second set of characteristics inherent to each Modifier in the second class; (c) an instantiation mechanism that enables a first Element to be instantiated from the first class, and further enables a first Modifier to be instantiated from the second class; (d) a hierarchical linking mechanism that enables the first Element to be linked to the first Modifier, the first Element attaining the second set of characteristics while the first Element and the first Modifier remain linked; and (e) a component API that enables; (i) creation of a third class of Modifier objects, the third class defining a third set of characteristics inherent to each Modifier in the third class; and (ii) integration of the third class of Modifiers into the system such that the instantiation mechanism can be used to instantiate a second Modifier from the third class, and the hierarchical linking mechanism can be used to link the first Element to the second Modifier, wherein the first Element attains the third set of characteristics while the first Element and second Modifier remain linked, whereby the system'"'"'s component API enables the functionality of the system to be extended. - View Dependent Claims (42, 43)
-
-
44. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element in the first class; (b) an instantiation mechanism that enables a first Element to be instantiated from the first class; and (c) a media linking mechanism that enables; (i) linking of the first Element to a first media item having a first media data type, such that the first Element will take on the appearance of the first media item during runtime while the first Element and first media item are linked; (ii) breaking of the link between the first Element and the first media item; and (iii) linking of the first Element to a second media item having a second media data type, such that the first Element will take on the appearance of the second media item during runtime while the first Element and second media item are linked, whereby the system enables an Element to be morphed among different media data types. - View Dependent Claims (45)
-
-
46. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element in the first class; (b) a second class of Element objects from which one or more Elements can be instantiated, the second class defining a second set of characteristics inherent to each Element in the second class; (c) a third class of Variable Modifier objects from which one or more Variables can be instantiated, the third class defining a third set of characteristics inherent to each Variable in the third class, the third set of characteristics including the ability to store data on behalf of an Element; (d) an instantiation mechanism that enables a first Element to be instantiated from the first class, and further enables a second Element to be instantiated from the second class, and further enables a first Variable to be instantiated from the third class; (e) an alias mechanism that enables creation of an alias of the first Variable having a first value, from which aliased copies of the first Variable can be made; and (f) a hierarchical linking mechanism that enables the first Element to be linked to a first aliased copy of the first Variable, and to link the second Element to a second aliased copy of the first Variable, such that the first aliased copy of the first Variable stores the first value on behalf of the first Element, and the second aliased copy of the first Variable stores the first value on behalf of the second Element; (g) wherein the alias mechanism causes any change at runtime to the first value stored by the first aliased copy of the first Variable to be reflected dynamically in the second aliased copy of the first Variable, such that the first and second aliased copies of the first Variable store the same value at any give time during runtime, whereby the system provides dynamically aliased Variables.
-
-
47. An application development system comprising:
-
(a) a first class of Element objects from which one or more Elements can be instantiated, the first class defining a first set of characteristics inherent to each Element in the first class; (b) an instantiation mechanism that enables a first Element to be instantiated from the first class; (c) a media linking mechanism that enables the first Element be linked to a first media item having a cel-based animation data format, such that the Element will take on the appearance of the cels of the first media item at a specified animation rate during runtime; and (d) an object configuration and animation range selection mechanism that enables the first Element to be configured to play a specified range of cels of the first media item during runtime upon the occurrence of a specified condition, whereby the system enables dynamic changes to a portion of an animation that is played during runtime upon the occurrence of a specified condition.
-
-
48. An application development system comprising:
-
(a) a plurality of object classes from which one or more objects can be instantiated, each class defining a set of characteristics inherent to each object in that class; (b) an instantiation mechanism that enables a first object, a second object, a third object, a fourth object and a fifth object to be instantiated from the plurality of object classes; and (c) a hierarchical linking mechanism that enables creation of; (i) a first object container in a first application, by linking the first object to the second object, wherein the first object provides an environmental frame of reference for the second object while the first and second objects remain linked; (ii) a first object hierarchy within the first object container, by linking the second object to the third object, thereby creating a second object container wherein the second object provides an environmental frame of reference for the third object while the second and third objects remain linked; and (iii) a third object container in a second application, by linking the fourth object to the fifth object, wherein the fourth object provides an environmental frame of reference for the fifth object while the fourth and fifth objects remain linked; and (c) an object library mechanism that enables copying of; (i) the second object container from the first application into a first object library upon breaking the link between the first and second objects; and (ii) the second object container from the first object library into the second application, and linking of the fourth object using the hierarchical linking mechanism, wherein the fourth object provides an environmental frame of reference for the second object container while the second, third and fourth objects remain linked, whereby the system enables selective reusability of object containers across applications.
-
Specification