Device interoperability framework and method for building interoperability applications for interoperable team of devices
System, device, method, and computer program and computer program products for providing communicating between devices having similar or dissimilar characteristics and facilitating seamless interoperability between them. Computer program software and methods of and systems and devices for sharing of content, applications, resources and control across similar and dissimilar permanently or intermittently connected electronic devices. Devices, systems, appliances, and the like communicating and/or interoperating within the framework provided. An interoperability framework, such as a DartFramework, is the portion of an interoperability source provided for use by programmers in building interoperability applications which encapsulate access to features of the interoperability platform, such as a DartPlatform, eliminating the need for the programmer to have to understand and implement many of the desired interoperability features of the platform.
1 . A method for specifying an object oriented interoperability framework having a set of object oriented class definitions, and implementation code thereof to be used as part of the source specifications of an event driven software application package, the method comprising:
(i) specifying using an object oriented language as a base event processing class that contains at least the following data and code members:
(a) a process member that takes as a parameter a reference or copy of an instance of an event data structure; and
(b) an ordered list member of references to or instances of other event processing objects which have the same base class; and
(ii) implementing the members and methods of the class specification in source code.
2 . The method of claim 1 , wherein the software application package is designed and implemented to carry out an intended purpose (intent) on one or more connected or intermittently connected devices.
3 . The method of claim 2 , wherein the software application package conforms to the DartFormat.
4 . The method of claim 1 , wherein the base class is the Dart Gizmo class.
5 . The method of claim 1 , where there is also a rendition class that inherits from the base class which serves as the root of a tree of inheriting instances of the base class where the parameter of the process member is optionally an empty or NULL reference.
6 . The method of claim 5 , where the rendition class is used to signify the beginning entry point for execution of a separately executable image that is to be embodied in the output package or packages to be generated from the source code that makes use of the object oriented interoperability framework.
7 . The method of claim 5 , where a master rendition class is specified as part of the framework wherein the base class is the Dart Gizmo class which inherits from the rendition class that contains a list of references to or instances of rendition objects.
8 . The method of claim 7 , where the execution of a specified method of the master rendition class results in the filling in of its list of renditions that serve as the starting point for independently executable images that are to be included in the output package or output packages that result from the processing of the source code with makes use of the framework.
9 . The method of claim 5 , wherein the rendition class is a Dart Rendition class which inherits from the Gizmo base class.
10 . The method of claim 7 , wherein the master rendition class is a Dart MasterRendition class which inherits from the Dart Rendition class.
11 . The method of claim 2 , wherein there are object oriented class definitions and/or implementation code are for performing one or more of the following functions or operations:
(i) rendering, and/or managing and/or editing of any one or more of video, audio, pictures, images, animations, text, symbols, graphics or any other media type, code, content or data representable as a sequence of digital numbers;
(ii) intelligently limiting or ordering access to data, resources, and/or code, to one or more of database records, fields of records, sound, video, audio, text from different processing units;
(ii) container classes for collecting, ordering, editing, managing and controlling access to object instances or structures; and
(iv) user interface elements and the processing thereof including any one or more of the following: menus, buttons, selection boxes, text boxes, radio buttons, checkboxes, dropdown selection boxes, tables, windows or any other user input or device output used to interact with a user or software running on an external processor.
12 . A computer program product for use in conjunction with a computer system or information appliance, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
a program module that directs the computer system or information appliance to function in a specified manner to specify an object oriented interoperability framework having a set of object oriented class definitions and implementation code thereof to be used as part of the source specifications of an event driven software application package, the program module including instructions for:
(i) specifying using an object oriented language as a base event processing class that contains at least the following data and code members:
(a) a process member that takes as a parameter a reference or copy of an instance of an event data structure; and
(b) an ordered list member of references to or instances of other event processing objects which have the same base class; and
(ii) implementing the members and methods of the class specification in source code.
13 . A computer program product as in claim 12 , wherein the application package is designed and implemented to carry out an intended purpose (intent) on one or more connected or intermittently connected devices.
14 . A computer program product as in claim 12 , wherein there are object oriented class definitions and/or implementation code for performing one or more of the following functions or operations:
(i) rendering, and/or managing and/or editing of any one or more of video, audio, pictures, images, animations, text, symbols, graphics or any other media type, code, content or data representable as a sequence of digital numbers;
(ii) intelligently limiting or ordering access to data, resources, and/or code, to one or more of database records, fields of records, sound, video, audio, text from different processing units;
(ii) container classes for collecting, ordering, editing, managing and controlling access to object instances or structures; and
(iv) user interface elements and the processing thereof including any one or more of the following: menus, buttons, selection boxes, text boxes, radio buttons, checkboxes, dropdown selection boxes, tables, windows or any other user input or device output used to interact with a user or software running on an external processor.
15 . An apparatus for specifying an object oriented interoperability framework having a set of object oriented class definitions, and implementation code thereof to be used as part of the source specifications of an event driven software application package, the apparatus comprising:
a processor logic and a memory coupled with the processor logic;
means, accessible by the processor, specifying using an object oriented language as a base event processing class that contains at least the following data and code members:
(a) a process member that takes as a parameter a reference or copy of an instance of an event data structure; and
(b) an ordered list member of references to or instances of other event processing objects which have the same base class; and
means for implementing the members and methods of the class specification in source code.
16 . An apparatus as in claim 15 , wherein the means specifying using an object oriented language as a base event processing class comprises a computer program or a computer program product.
17 . An apparatus as in claim 15 , wherein the means for implementing the members and methods of the class specification in source code comprises a computer program or a computer program product.