Patent attributes
User inputs received through a graphical user interface of a programming tool are used to define a set of capability abstractions for a particular application and further define, based on the one or more user inputs, relationships between the set of capability abstractions. The particular application is to utilize a machine-to-machine network, and the set of capability abstractions include: a sensor capability abstraction, an actuator capability abstraction, a computation logic capability abstraction, an input user interface (UI) capability abstraction, and an output UI capability abstraction for the particular application. The relationships include a relationship between the input UI capability abstraction and the computation logic capability abstraction, where the input UI capability is to provide an input to the computation logic capability abstraction. Service logic for the particular application is generated to deploy an instance of the particular application in an environment based on the set of capability abstractions and relationships.