System and method for automating generation of an automated sensor network
First Claim
1. A system for automatically generating an application software unit, comprising:
- a processor;
a component repository, the component repository including one or more software components associated with functions of the application software unit;
an application framework including a structure definition element and a configurable parameter storage element, the structure definition element communicatively connecting the one or more software components, and the configurable parameter storage element storing configurable parameter information specifying values of attributes for the software components associated with the application software unit; and
an application composer, operating on the processor, that uses the configurable parameter information in the application framework to extract one or more of the software components from the component repository and to configure the one or more extracted software components, the application composer generating the application software unit from the configured software components, wherein the application composer extracts and configures the one or more software components from the component repository automatically, without requiring a user to specify which software components to extract or configure.
2 Assignments
0 Petitions
Accused Products
Abstract
An application software generator automatically generates an application software unit. The application software generator includes an application composer that combines components extracted from a component repository with an application framework to generate the application software unit. Each component in the component repository includes a component shell, a component interface and a component core. The application framework includes configurable parameters that determine how the application software unit is generated and operates. The configurable parameters can be entered by a user using a graphical user interface. The user can be assisted using a wizard format. The application framework also provides connectivity between components so that they can pass messages to one another. The connectivity can be, for example, by a message bus or event registry and event dispatch. Components themselves can be automatically generated using the application software generator. Uses of the application software generator include creation of sensor/actuator networks and test script generation.
25 Citations
42 Claims
-
1. A system for automatically generating an application software unit, comprising:
- a processor;
a component repository, the component repository including one or more software components associated with functions of the application software unit; an application framework including a structure definition element and a configurable parameter storage element, the structure definition element communicatively connecting the one or more software components, and the configurable parameter storage element storing configurable parameter information specifying values of attributes for the software components associated with the application software unit; and an application composer, operating on the processor, that uses the configurable parameter information in the application framework to extract one or more of the software components from the component repository and to configure the one or more extracted software components, the application composer generating the application software unit from the configured software components, wherein the application composer extracts and configures the one or more software components from the component repository automatically, without requiring a user to specify which software components to extract or configure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- a processor;
-
13. A method for automatically generating an application software unit, comprising:
-
receiving values of at least one configurable parameter specifying attributes for one or more software components stored in a component repository, the one or more software components associated with the application software unit; storing the at least one configurable parameter in a configurable parameter storage element included within an application framework, the application framework further including a structure definition element communicatively connecting the one or more software components; extracting one or more of the software components from the component repository using information associated with the configurable parameter; configuring the one or more extracted software components using the information associated with the configurable parameter, wherein the one or more software components are extracted and configured automatically, without reciuiring a user to specify which software components to extract or configure; and generating the application software unit from the configured software components. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A system for automatically generating an application software unit, comprising:
-
means for receiving values of at least one configurable parameter specifying attributes for one or more software components stored in a component repository, the one or more software components associated with the application software unit; means for storing the at least one configurable parameter in a configurable parameter storage element included within an application framework, the application framework further including a structure definition element communicatively connecting the one or more software components; means for extracting one or more of the software components from the component repository using information associated with the configurable parameter; means for configuring the one or more extracted software components using the information associated with the configurable parameter, wherein the one or more software components are extracted and configured automatically, without requiring a user to specify which software components to extract or configure; and means for generating the application software unit from the configured software components. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A system for automatically generating executable application software for a network of sensors or actuators, said executable application software comprising at least one of an executable software unit resident on embedded sensor or actuator nodes, an executable software unit resident on gateways which collect data from or control the operation of a plurality of said sensor nodes, and an executable software unit resident on a server that collects data from or controls the operation of a plurality of said gateways, said system comprising:
-
a plurality of software components, each of which performs at least one logically related functions, each said software component consisting of a core that performs the function or functions of the component, an interface that allows the component to interact with other components, and a shell that contains descriptive or quantitative information regarding the component; a component repository that stores said plurality of software components; an application framework that defines the structure of the application software and which provides an infrastructure for said software components to interact with each other; and a graphical user interface for inputting parameters specifying attributes of said network of sensors or actuators;
whereinsaid system for automatically generating said executable software units chooses and configures one or more components from the component repository automatically and does not require input from a user to specify which components are to be chosen and further comprises; means for obtaining user input of the parameters specifying attributes of said executable application software for said network of sensors or actuators using said graphical interface; automatic means for choosing a second plurality of said software components based on the parameters of the application software; means for retrieving said second plurality of software components from said component repository; means for removing said shell that contains descriptive or quantitative information regarding the component from each of said second plurality of software components; and means for combining the second plurality of software components with said application framework to produce one more of said executable software units. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
-
Specification