Method and System for Rapidly Developing Sensor-Enabled Software Applications
First Claim
1. A component-based software toolset for rapidly developing sensor-enabled software applications, said component-based software tool-set embodied in a computer-readable medium and comprising:
- program code to instantiate data source components operative to obtain sensor data, data series components operative to collect sensor data from data source components, data field components to control the collection of sensor data by data series components, and sensor system components operative to contain a related collection of data source, data series, and data field components;
program code enabling a user to add data series components as desired to a sensor system component and link each added data series component to a data source component within the sensor system component, wherein each added data series component collects sensor data from its linked data source component by generating a data series table in system memory and automatically populating rows in the data series table with sensor data from the linked data source component; and
program code enabling a user to add data field components as desired to a sensor system component, wherein each added data field component links to a data series component within the sensor system component and controls the collection of sensor data from its linked data series component by mapping sub-data within the sensor data to a particular column in the data series table according to one or more user-identified properties.
3 Assignments
0 Petitions
Accused Products
Abstract
The teachings herein disclose methods and apparatus that provide software components (objects) as building blocks for rapidly developing sensor-enabled software applications. In at least one embodiment, a component-based software toolset provides data source components for obtaining sensor data, data series components for automatically collecting sensor data incoming from data source components, data field components for controlling that collection, and data destination components for automatically receiving data from the data series components. By providing methods and properties within these and other components in the toolset, the programmer builds sophisticated, hierarchical data flow processing with little or no manual programming. The toolset may further include group components for merging data from multiple data series components, and for linking different data series components, and the data source/destination component definitions may include network socket-enabled components for LAN, WAN data collection, for example.
-
Citations
77 Claims
-
1. A component-based software toolset for rapidly developing sensor-enabled software applications, said component-based software tool-set embodied in a computer-readable medium and comprising:
-
program code to instantiate data source components operative to obtain sensor data, data series components operative to collect sensor data from data source components, data field components to control the collection of sensor data by data series components, and sensor system components operative to contain a related collection of data source, data series, and data field components; program code enabling a user to add data series components as desired to a sensor system component and link each added data series component to a data source component within the sensor system component, wherein each added data series component collects sensor data from its linked data source component by generating a data series table in system memory and automatically populating rows in the data series table with sensor data from the linked data source component; and program code enabling a user to add data field components as desired to a sensor system component, wherein each added data field component links to a data series component within the sensor system component and controls the collection of sensor data from its linked data series component by mapping sub-data within the sensor data to a particular column in the data series table according to one or more user-identified properties. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A component-based software toolset for rapid development of sensor-enabled software applications, said toolset embodied in a computer-readable medium and comprising:
-
a sensor system component addable to a software application being developed and acting as a container for a related collection of software components for obtaining, storing, and processing sensor data; a data sources collection component addable to a parent sensor system component and operative to allow a programmer to add individual data source components as desired to the parent sensor system component, each said data source component acting as a source of sensor data; a data series collection component addable to a parent sensor system component and operative to allow the programmer to add individual data series components as desired to the parent sensor system component, each said data series component linkable by the programmer to one data source component within the parent sensor system component and operative to collect sensor data from the linked data source component into an in-memory data series table; a data fields collection component addable to a parent data series component and operative to allow the programmer to add individual data field components as desired to the parent series component, each said data field component operative to define a data field in the data series table of the parent data series component; and a data destinations collection component addable to a parent sensor system component and operative to allow the programmer to add individual data destination components as desired to the parent sensor system component, each said data destination component linkable by the programmer to any number of data series components within the parent sensor system component and operative to receive the sensor data collected by the linked data series components. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62)
-
-
63. A method of facilitating the rapid development of sensor-enabled software applications comprising providing software component class definitions for a plurality of sensor-related software components, including:
-
a data source component linkable to a specified source of sensor data and operative to obtain incoming sensor data from the specified source, such that a programmer adds a data source component for each source of sensor data of interest; a data series component linkable to a specified data source component and operative to generate an in-memory data series table and to automatically collect incoming sensor data from the linked data source component in its data series table, such that the programmer adds as many data series components as desired for collecting the incoming sensor data from a given data source component; a data field component operative to define a data field in the data series table of an associated data series component according to programmer-selected properties, and to thereby control automatic population of that data field by the associated data series component, such that, for each given data series component, the programmer adds as many data field components as there are desired data fields for the data series table of that given data series component; and a data destination component linkable to one or more specified data series components and operative to receive table data from the data series tables of the linked data series components, such that the programmer adds as many data destination components as desired, and links each data destination components to as many data series components as desired. - View Dependent Claims (64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77)
-
Specification