EP1535148A1

System and method for automating generation of an automated sensor network

Abstract

This record has no abstract on file.

Term

Term ended

Projected expiry passed 3 July 2023, 3.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

52 claims: 52 independent, 0 dependent

  1. 1
    Claims of equivalent WO 2004006093 A1 WHAT IS CLAIMED IS:1. A system for automatically generating an application software unit, comprising: a component repository, the component repository comprising one or more components;an application framework that stores parameter information regarding how the application software unit is to be built and operate;and an application composer that uses information in the application framework to extract one or more components from the component registry and configure the one or more components according to the information in the application framework to generate the application software unit.
  2. 2
    The system recited in claim 1, further comprising a graphical user interface that allows a user to enter the parameter information that is stored in the application framework.
  3. 3
    The system recited in claim 2, wherein the graphical user interface comprises a wizard format to guide a user in entering the parameter information.
  4. 4
    The system recited in claim 1, wherein each component in the component repository comprises:a shell comprising information regarding the component;a core providing functionality for the component;and an interface for allowing the component to interact with other components.
  5. 5
    The system recited in claim 4, wherein the information in the shell comprises performance metric information related to execution of the component.
  6. 6
    The system recited in claim 4, wherein the information in the shell comprises descriptive information describing the component.
  7. 7
    The system recited in claim 1, wherein the application framework comprises:a configurable parameter storage element to store configurable parameters that determine how the application software unit is built and how it operates;a structure definition element that allows the components to co-exist and cooperate.
  8. 8
    The system recited in claim 7, wherein the structure definition element comprises a message bus to which each component is connected that allows each component to pass a message to any other component.
  9. 9
    The system recited in claim 7, wherein the structure definition element comprises:an event registry into which each component registers those events that it will generate and those events whose occurrence the component desires notification of;and an event dispatcher that sends notification of an event to each component that registered in the event registry to be notified of the event.
  10. 10
    The system recited in claim 1, wherein the application software unit is generated in conformance with user-entered constraints.
  11. 11
    The system recited in claim 1, wherein the application software unit is combined with one or more of a pre-existing operating system, a pre-existing library and a hardware driver to automatically generate a system software unit.
  12. 12
    The system recited in claim 1, wherein one or more of the components stored in the component registry are generated automatically using a componentizer.
  13. 13
    The system recited in claim 12, wherein the componentizer comprises:a graphical user interface that a user uses to input information about a component to be generated;an interface generator to generate a component interface in conformance with the user- entered information;a shell generator to generate a component shell in conformance with the user-entered information;a pre-generated component core;and a component composer to combine the component core, component interface and component shell into a finished component.
  14. 14
    The system recited in claim 1, wherein the application software unit generated is a test script.
  15. 15
    The system recited in claim 1, wherein the application software generated is used in a network of actuators and/or sensors.
  16. 16
    A method for automatically generating an application software unit, comprising the steps of:receiving values of one or more configurable parameters;extracting one or more components from a component repository in accordance with the received values;and combining the components with an application framework to generate the application software unit.
  17. 17
    The method recited in claim 16, further comprising the step of receiving the values of the one or more configurable parameters from a user using a graphical user interface.
  18. 18
    The method recited in claim 17, further comprising the step of providing a wizard format to assist the user in selecting the parameter values.
  19. 19
    The method recited in claim 16, further comprising the step of generating each component stored in the component repository.
  20. 20
    The method recited in claim 19, further comprising the step of creating at least one component in the component repository using a componentizer.
  21. 21
    The method recited in claim 20, further comprising the steps of:receiving input information about a component to be generated;generating a component interface in conformance with the user-entered information;generating a component shell in conformance with the user-entered information;combining a pre-generated component core with the component interface and the component shell to create a finished component;and storing the finished component in the component repository.
  22. 22
    The method recited in claim 16, further comprising the steps of:removing a component shell containing information about the component from each component to form stripped components;and storing the removed component shell, wherein the step of combining the components combines the stripped components.
  23. 23
    The method recited in claim 22, further comprising the steps of:retrieving the stored shells;and extracting the information.
  24. 24
    The method recited in claim 23, further comprising the step of generating the application software unit in accordance with the extracted information.
  25. 25
    The method recited in claim 16, further comprising the step of generating the application software unit in accordance with user-entered constraints.
  26. 26
    The method recited in claim 25, wherein the user-entered constraints include performance constraints.
  27. 27
    The method recited in claim 16, further comprising the step of combining the generated application software unit with one or more of a pre-existing operating system, a pre-existing library and a hardware driver to automatically generate a system software unit.
  28. 28
    The method recited in claim 16, further comprising the step of connecting each component to a message bus so that each component can pass a message to any other component.
  29. 29
    The method recited in claim 16, further comprising the steps of registering with in event registry those events that each component will generate and those events whose occurrence each component desires notification of.
  30. 30
    A system for automatically generating an application software unit, comprising:means for receiving values of one or more configurable parameters;means for extracting one or more components from a component registry in accordance with the received values;and means for combining the components with an application framework to generate the application software unit.
  31. 31
    The system recited in claim 30, further comprising means for receiving the values of the one or more configurable parameters from a user using a graphical user interface.
  32. 32
    The system recited in claim 31 , further comprising means for providing a wizard format to assist the user in selecting the parameter values.
  33. 33
    The system recited in claim 30, further comprising means for generating each component stored in the component repository.
  34. 34
    The system recited in claim 33, further comprising means for creating at least one component in the component repository using a componentizer.
  35. 35
    The system recited in claim 34, further comprising:means for receiving input information about a component to be generated;means for generating a component interface in conformance with the user-entered information;means for generating a component shell in conformance with the user-entered information;means for combining a pre-generated component core with the component interface and the component shell to create a finished component;and means for storing the finished component in the component repository.
  36. 36
    The system recited in claim 30, further comprising:means for removing a component shell containing information about the component from each component to form stripped components;and means for storing the removed component shell, wherein the step of combining the components combines the stripped components.
  37. 37
    The system recited in claim 36, further comprising:means for retrieving the stored shells;and means for extracting the information.
  38. 38
    The system recited in claim 37, further comprising means for generating the application software unit in accordance with the extracted information.
  39. 39
    The system recited in claim 30, further comprising means for generating the application software unit in accordance with user-entered constraints.
  40. 40
    The system recited in claim 39, wherein the user-entered constraints include performance constraints.
  41. 41
    The system recited in claim 30, further comprising means for combining the generated application software unit with one or more of a pre-existing operating system, a pre-existing library and a hardware driver to automatically generate a system software unit.
  42. 42
    The system recited in claim 30, further comprising means for connecting each component to a message bus so that each component can pass a message to any other component.
  43. 43
    The system recited in claim 30, further comprising means for registering with in event registry those events that each component will generate and those events whose occurrence each component desires notification of.
  44. 44
    A system for automatically generating executable application software for a network of sensors or actuators, said application software comprising one or more 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 which collects data from or controls the operation of a plurality of said gateways, said system comprising:a plurality of software components, each of which perform one or more 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 which defines the structure of the application software and which provides an infrastructure for said components to interact with each other;and a graphical user interface for inputting parameters of said network of sensors or actuators;wherein said system for automatically generating said application software units further comprises: means for obtaining user input of the parameters of said application software for said network of sensors or actuators using said graphical interface;means for choosing a plurality of said software components based on said the parameters of the said application software;means for retrieving said 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 plurality of software components;and means for combining the resultant components with said application framework to produce one more of said executable application software units.
  45. 45
    The system recited in claim 44, wherein said application framework comprises a message bus and a common message format such that any one of said components can communicate with any other component by exchanging messages on the message bus.
  46. 46
    The system recited in claim 44, wherein said application framework comprises:means for allowing any one of said components to send signals of events;means for allowing any one of said components to register to receive specific signals of events and;and means for sending each of said signals sent by components to components that have registered to receive the specific signal.
  47. 47
    The system recited in claim 44, further comprising means for quantifying performance metrics for said automatically generated application software units, said metrics including but not limited to total memory usage, total code size and total computational power required in million instructions per second.
  48. 48
    The system recited in claim 47, further comprising means for calculating performance metrics of said automatically generated executable application software units by extracting metric information for each of said components from said shells that contain descriptive or quantitative information regarding the component.
  49. 49
    The system recited in claim 47, further comprising:means for calculating performance metrics of said automatically generated executable application software units by extracting metric information for each of said components from said shells that contain descriptive or quantitative information regarding the component;and means for combining said performance metrics of said automatically generated executable application software units with pre-existing information regarding equivalent metrics for said operating system kernels and hardware device driver software units.
  50. 50
    The system recited in claim 44, further comprising means for combining said automatically generated executable application software units with pre-existing operating system kernels and hardware device driver software units to automatically generate complete system software units.
  51. 51
    The system recited in claim 44, further comprising means for automatically generating test scripts for each of said automatically generated executable application software units through the means for combining said parameters of said network of sensors or actuators input through said graphical user interface with pre-existing test script document templates.
  52. 52
    A system for generating a software component from a software core module that performs one or more logically related functions, said system comprising:a component repository that stores a plurality of said software components;a graphical user interface for selecting a software core module, for specifying the interface of the software core module according to a pre-defined format and for specifying a shell for the software core module that contains descriptive or quantitative information regarding the module according to a predefined format;said system for generating the software component, further comprising: means for combining the said software core module with the said interface of the software core module and with the said shell for the software core module to produce the said software component;and means for storing the said software component in the said component repository.
Independent claims52