App store for state machines

US10289082B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10289082-B2
Application numberUS-201514868735-A
CountryUS
Kind codeB2
Filing dateSep 29, 2015
Priority dateSep 29, 2014
Publication dateMay 14, 2019
Grant dateMay 14, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An app store includes a plurality of state machines that describe the function of a product. The system allows a user to select at least one app from this plurality of apps. The user may also customize the state machine represented by the app or parameters thereof. The selected state machine can be translated into a format readable by a semiconductor device in a target platform without requiring the user to generate computer code. The app store can also transact rights to use the app represented by the state machine. The state machine may be executed in a simulation environment, on a reference platform or development board, or on a semiconductor device in an end-user product to facilitate control in accordance with the state machine defined by the state machine.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for delivering state machine applications for control of a product, comprising: a memory that stores computer-executable components; and a processor, operatively coupled to the memory, that executes the computer-executable components, the computer-executable components comprising: an interface component configured to receive input data from a client device specifying one or more selection criteria; a selection component configured to select, based on the one or more selection criteria, a state machine application from a library of state machine applications maintained on the memory; and a delivery component configured to send the state machine application to a microcontroller, wherein in response to execution by the microcontroller, the state machine application performs control of an electro-mechanical system in accordance with a state machine defined by the state machine application. 2. The system of claim 1 , wherein the electro-mechanical system comprises at least a motor that is controlled by the microcontroller. 3. The system of claim 1 , wherein the state machine application is configured to perform the control using at least one of active disturbance rejection control or proportional-integral-derivative control. 4. The system of claim 1 , wherein the interface component is configured to display, on the client device, a graphical representation of the library of state machine applications, and wherein the input data comprises an identification of the state machine received via interaction with the graphical representation. 5. The system of claim 4 , wherein the interface component is further configured to display the library of state machine applications according to two or more categories of state machines represented by the respective state machine applications. 6. The system of claim 5 , wherein the categories comprise at least one of a type of application or electro-mechanical system to which the respective state machine applications relate or a device vendor supported by the respective state machine applications. 7. The system of claim 1 , further comprising an editing component configured to modify one or more parameters of the state machine based on modification input received via interaction with a graphical representation of the state machine to yield a modified state machine application. 8. The system of claim 1 , further comprising a transaction engine configured to license an end user to use the state machine application. 9. A method for selecting and deploying state machine applications, comprising: receiving, by a system comprising at least one processor, input data from a client device specifying one or more selection criteria; selecting, by the system based on the one or more selection criteria, a state machine application from a library of state machine applications stored by the system; and sending, by the system, the state machine application to a microcontroller, wherein execution of the state machine application by the microcontroller causes the microcontroller to control an electro-mechanical system in accordance with a state machine defined by the state machine application. 10. The method of claim 9 , further comprising displaying, by the system, a graphical representation of the library of state machine applications on the client device. 11. The method of claim 10 , wherein the receiving comprises receiving an identification of the state machine in response to interaction with the graphical representation, and wherein the interaction selects the state machine application corresponding to the state machine. 12. The method of claim 10 , wherein the displaying comprises categorizing the library of state machine applications according to two or more categories of state machines represented by the respective state machine applications. 13. The method of claim 12 , wherein the categorizing comprises categorizing the library of state machine applications according to at least one of a type of application or electro-mechanical system to which the respective state machine applications relate or device vendors supported by the respective state machine applications. 14. The method of claim 9 further comprising: receiving modification input from the client device defining a modification to the state machine defined by the state machine application; and modifying the state machine application in accordance with the modification input. 15. The method of claim 9 , further comprising issuing a license that permits an end user associated with the client device to use the state machine application. 16. A non-transitory computer-readable medium having stored thereon instructions that, in response to execution, cause a computer system to perform operations, comprising: receiving input data from a client device specifying one or more selection criteria; selecting based on the one or more selection criteria, a state machine application from a library of state machine applications stored by the system; and sending the state machine application to the client device a microcontroller, wherein the state machine application is configured to, in response to execution by the microcontroller, perform control of an electro-mechanical system in accordance with a state machine defined by the state machine application. 17. The non-transitory computer-readable medium of claim 16 , wherein the operations further comprise displaying a graphical representation of the library of state machine applications on the client device, wherein the receiving the input data comprises receiving an identification of the state machine in response to an interaction with the graphical representation that selects the state machine. 18. A method for an application store for state machines, comprising: presenting a library via a computer, the library comprising a plurality of state machines, each state machine comprising a visual representation for operation of a product, the product being separate from the computer; receiving a selection of a state machine of the plurality of state machines; and generating, in response to the receiving, computer code that enables the state machine, wherein the computer code includes a low-level building block configured for execution by the product, the product comprises at least one of a microcontroller, board layout, or electromechanical device, and the execution of the computer code by the product causes the product to perform control of an electromechanical system in accordance with the state machine. 19. The method of claim 18 , wherein the product is a consumer product, an industrial product, an automotive product, an aerospace product, an energy product, a medical device, a robot, or a wireless device. 20. The method of claim 18 , wherein each of the plurality of state machines defines at least two states. 21. The method of claim 18 , wherein the visual representation of the state machine is a finite state representation of a Turing machine, a Cartesian coordinate system, a table, or a flowchart. 22. The method of claim 18 further comprising licensing use of the computer code with the product through a transaction engine. 23. The method of claim 22 , wherein the transaction engine enables freemium licensing. 24. The method of claim 18 , wherein at least one of the plurality of state machines is contributed by a user community. 25. The method of cla

Assignees

Inventors

Classifications

  • G05B15/02Primary

    electric · CPC title

  • Subscription-based services using application servers or record carriers, e.g. SIM application toolkits · CPC title

  • Programming the control sequence · CPC title

  • Program each station with specific data, all, global with general, common data · CPC title

  • Finite state machines · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10289082B2 cover?
An app store includes a plurality of state machines that describe the function of a product. The system allows a user to select at least one app from this plurality of apps. The user may also customize the state machine represented by the app or parameters thereof. The selected state machine can be translated into a format readable by a semiconductor device in a target platform without requirin…
Who is the assignee on this patent?
Linestream Tech, Danfoss Power Electronics As
What technology area does this patent fall under?
Primary CPC classification G05B15/02. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 14 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).