摘要:
Various technologies and techniques are disclosed that provide a framework for developing and deploying distributed robotic applications. The framework allows a robotic application to be distributed across robotic services. Communications with a robotic service are performed via a URI. An operation is performed on a data element exposed through the robotic service. The system facilitates asynchronous operations of a robotics application across services. A development environment allows the user to create a robotics project that uses the distributed framework. A visualization/simulation environment allows for communication with virtual devices and real world devices for simulating the operation of asynchronous robotic applications.
摘要:
Various technologies and techniques are disclosed that provide a framework for developing and deploying distributed robotic applications. The framework allows a robotic application to be distributed across robotic services. Communications with a robotic service are performed via a URI. An operation is performed on a data element exposed through the robotic service. The system facilitates asynchronous operations of a robotics application across services. A development environment allows the user to create a robotics project that uses the distributed framework. A visualization/simulation environment allows for communication with virtual devices and real world devices for simulating the operation of asynchronous robotic applications.
摘要:
An extensible object model enables extending the standard methods and/or properties of an extensible object for an application through an extension object proffered at run time by an extension package Information about the extension package is registered in a database when the package is installed, and the database is used to resolve references to the extended methods and/or properties upon execution of the application. In one aspect of the invention, the extension object is cached when first referenced and subsequent references to the extension while the application is executing are resolved to the cache.
摘要:
A single object functions as a centralized monitoring point for events fired in a hierarchical object model. Objects within the hierarchy register with the event monitoring object when they are created. These objects then route their events to the event monitoring object. A listening object also registers with the event monitoring object to receive notification upon the occurrence of certain events within the hierarchy. A property of the event monitoring object corresponding to a particular class of object is parameterized with an identifier that designates the events to be sourced to the listening object The event monitoring object couples the listening object to a filter object that sources only events designated by the parameterized property. The event monitoring creates the filter objects as needed. A filter object can report events to more than one listening object if the listening objects register to be notified of the same events.
摘要:
Dynamically configuring an application program at run-time via one or more extension objects. The invention software implements a framework with one or more extension objects providing functionality to an application program and an application manager for integrating the functionality with the application program during execution of the application program. The framework of the invention also formulates and routes application messages between extensible objects of one application program and extensible objects of other application programs implementing a similar, dynamically extensible application program framework. On receipt of messages or notifications, the framework of the receiving application program facilitates the discovery of the intended recipient extension object and routes the message accordingly.
摘要:
Systems and methods employing authenticated connections to a central server to establish and authenticate a peer-to-peer connection between peer devices. The invention circumvents the potential vulnerability of clear-text transmission of secrets through a series of encrypted data transfers. A secret key is encrypted and then transmitted from one peer device to another using authenticated connections to the server. The secret key is then used to transmit encrypted data over a peer connection between the peer devices for the purpose of authenticating the peer devices on each end of the connection.
摘要:
A computing workflow system has a workflow process definition contained in a workflow table as script functions. The workflow table is part of an extended database schema operating with an extended store, a workflow engine and a script engine. The novel workflow system includes a server database having a data table and an associated workflow table. A workflow extended store is communicatively coupled to the server database. A workflow engine is also communicatively coupled to the server database and to the workflow extended store. Further, a script engine is communicatively coupled to the workflow engine. The workflow table includes workflow rules and associated code to be executed by the workflow engine. Each row of the workflow table represents a workflow step. Script functions are defined in the workflow table to evaluate the condition and execute the action of each workflow step. The rules and associated code in the workflow table is both declarative and procedural. The workflow engine compares the data change information from the extended store procedure with the workflow definition in the workflow table and determines the appropriate step that needs to be executed. Then it checks execution permissions on that step. If execute permission is granted, the workflow engine evaluates the workflow step condition against the workflow table and, if true, it executes the step action. Upon completing the step action, the workflow engine commits all the changes made to the current item or to other items in the database.
摘要:
An extensible object model enables extending the standard methods and/or properties of an extensible object for an application through an extension object proffered at run time by an extension package Information about the extension package is registered in a database when the package is installed, and the database is used to resolve references to the extended methods and/or properties upon execution of the application. In one aspect of the invention, the extension object is cached when first referenced and subsequent references to the extension while the application is executing are resolved to the cache.