Model-based programming, configuration, and integration of networked embedded devices
First Claim
1. A computer-implemented method comprising:
- providing a network model of network embedded devices;
creating a process model including an artifact restricted by a functionality indicated by the network model, wherein the functionality comprises run-time functionality;
providing the run-time functionality to the process model in the form of;
raw results obtained from at least one of the network embedded devices and node level monitoring information,application results and profiling information;
providing the process model as an input to a compiler to produce;
a plurality of abstractions of a high level device programming language, the plurality of abstractions provided to a second complier referencing the network model to produce a first executable code including a communication primitive, the first executable code recognized by an operating system of the network embedded device, anda second executable code including the communication primitive, the second executable code recognized by a business software application;
controlling operation of the network embedded devices based upon the first executable code;
causing a run-time support to collect statistics of a changed network environment;
causing the run-time support to self-optimize using the statistics and an optimization hint produced be the compiler, andmonitoring the operation of the network embedded devices by a construct specified in the process model and complied by the compiler to produce an application-level result.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention relate to programming, configuring, and integrating networked embedded devices with other applications. Particular embodiments include an architecture having an application model layer that integrates the networked embedded devices with business application systems, by allowing the devices to be expressed as part of a business application concept. In certain embodiments, an intermediate device programming layer provides a network-centric programming abstraction, relieving the programmer of the details of low-level, node-centric programming. Finally, a self-optimizing run-time system layer adapts to the specific conditions in the deployed network embedded devices, by optimizing e.g. communication patterns and resource consumption based upon input from the higher layer(s). Embodiments may facilitate integration of networked embedded devices with the back ends of business applications, and may provide a unified extensible programming framework simplifying development of applications for network embedded devices.
28 Citations
6 Claims
-
1. A computer-implemented method comprising:
-
providing a network model of network embedded devices; creating a process model including an artifact restricted by a functionality indicated by the network model, wherein the functionality comprises run-time functionality; providing the run-time functionality to the process model in the form of; raw results obtained from at least one of the network embedded devices and node level monitoring information, application results and profiling information; providing the process model as an input to a compiler to produce; a plurality of abstractions of a high level device programming language, the plurality of abstractions provided to a second complier referencing the network model to produce a first executable code including a communication primitive, the first executable code recognized by an operating system of the network embedded device, and a second executable code including the communication primitive, the second executable code recognized by a business software application; controlling operation of the network embedded devices based upon the first executable code; causing a run-time support to collect statistics of a changed network environment; causing the run-time support to self-optimize using the statistics and an optimization hint produced be the compiler, and monitoring the operation of the network embedded devices by a construct specified in the process model and complied by the compiler to produce an application-level result. - View Dependent Claims (2)
-
-
3. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:
-
providing a network model of network embedded devices; creating a process model including an artifact restricted by a functionality indicated by the network model, wherein the functionality comprises run-time functionality; providing the run-time functionality to the process model in the form of; raw results obtained from at least one of the network embedded devices and node level monitoring information, application results and profiling information; providing the process model as an input to a compiler to produce; a plurality of abstractions of a high level device programming language, the plurality of abstractions provided to a second compiler referencing the network model to produce a first executable code including a communication primitive, the first executable code recognized by an operating system of the network embedded devices, and a second executable code including the communication primitive, the second executable code recognized by a business software application; controlling operation of the network embedded devices based upon the first executable code; causing a run-time support to collect statistics of a changed network environment; causing the run-time support to self-optimize using the statistics and an optimization hint produced by the compiler, and monitoring the operation of the network embedded devices by a construct specified in the process model and complied by the compiler to produce an application-level result. - View Dependent Claims (4)
-
-
5. A computer system comprising:
-
one or more processors; a software program, executable on said computer system, the software program configured to; providing a network model of network embedded devices; creating a process model including an artifact restricted by a functionality indicated by the network model, wherein the functionality comprises run-time functionality; providing the run-time functionality to the process model in the form of; raw results obtained from at least one of the network embedded devices and node level monitoring information, application results and profiling information; providing the process model as an input to a compiler to produce; a plurality of abstractions of a high level device programming language, the plurality of abstractions provided to a second compiler referencing the model to produce a first executable code including a communication primitive, the first executable code recognized by an operating system of the network embedded devices, and a second executable code including the communication primitive, the second executable code recognized by the business software application; controlling operation of the network embedded devices based upon the first executable code; causing a run-time support to collect statistics of a changed network environment; causing the run-time support to self-optimize using statistics and an optimization hint produced be the compiler, and monitoring the operation of the network embedded devices by a construct specified in the process model and complied by the compiler to produce an application-level result. - View Dependent Claims (6)
-
Specification