1. A method for forming and assembling an individual self-contained pre-linked cross-device software application as an application package, each application package or portion of an application package is adapted to execute on an interoperability engine in a device and to distribute the application package or a portion of the application package to other interoperability engines in other devices over a communications link, the other devices being formed into unified teams for cooperative execution over a plurality of the teamed devices, the method comprising: forming the application package from source materials which encapsulate a main application function code portion, a main application data portion, any optional binary encoded parts portion, and a discovery and distribution code portion; and encoding the application package portions into a linear binary data structure of addressable parts wherein the application package includes self-contained and pre-linked elements; the discovery and distribution code portion encoded to be operable during execution to discover capabilities and resources of a device and then to distribute executable sub-units of the application package over one or more communication links to other devices so that the distributed executable sub-units execute on a team of devices that are unified by the distributed executable sub-units to carry out the function of the application where each device in said team of devices is running a unification engine adapted for executing at least the distributed executable sub-units of the application; each said linear binary data structure including: (i) exactly one linear main program code part including coded instructions where the addresses of all the coded instructions are located in one linear consecutive address space, and (ii) exactly one linear main program data part including data elements and where the addresses of all the data elements are located in one linear consecutive address space; the linear binary data structure including two or more executable sub-units made up of exactly one linear contiguous subset of the main program code part and exactly one linear contiguous subset of the main program data part, along with zero or more of said optional binary encoded parts; and wherein all the code that embodies and carries out the function of the software application on all said teamed devices is contained in the original application package data structure before being distributed to the teamed devices.
1. A method for forming and assembling an individual self-contained pre-linked cross-device software application as an application package, each application package or portion of an application package is adapted to execute on an interoperability engine in a device and to distribute the application package or a portion of the application package to other interoperability engines in other devices over a communications link, the other devices being formed into unified teams for cooperative execution over a plurality of the teamed devices, the method comprising: forming the application package from source materials which encapsulate a main application function code portion, a main application data portion, any optional binary encoded parts portion, and a discovery and distribution code portion; and encoding the application package portions into a linear binary data structure of addressable parts wherein the application package includes self-contained and pre-linked elements; the discovery and distribution code portion encoded to be operable during execution to discover capabilities and resources of a device and then to distribute executable sub-units of the application package over one or more communication links to other devices so that the distributed executable sub-units execute on a team of devices that are unified by the distributed executable sub-units to carry out the function of the application where each device in said team of devices is running a unification engine adapted for executing at least the distributed executable sub-units of the application; each said linear binary data structure including: (i) exactly one linear main program code part including coded instructions where the addresses of all the coded instructions are located in one linear consecutive address space, and (ii) exactly one linear main program data part including data elements and where the addresses of all the data elements are located in one linear consecutive address space; the linear binary data structure including two or more executable sub-units made up of exactly one linear contiguous subset of the main program code part and exactly one linear contiguous subset of the main program data part, along with zero or more of said optional binary encoded parts; and wherein all the code that embodies and carries out the function of the software application on all said teamed devices is contained in the original application package data structure before being distributed to the teamed devices. 25. The method of claim 1 wherein the linear binary data structures of addressable parts conforms to the DartFormat.