Emerging computing paradigms, such as 'global computing' and 'ambient intelligence', envision scenarios where a mixture of personal and public mobile devices can move across domains and network boundaries. A massive infrastructure composed of highly diverse and interconnected objects would support uniform services with variable guarantees for communication and mobility, in addition to resource usage and security. The MIKADO project, as part of the Future Emerging Technologies initiative, sought to address inadequacies of current middleware and programming languages to meet the challenges posed by such an environment. In particular, these tend to provide for a limited range of interactions and have a limited view of components and objects. Importantly, they are not amenable to rigorous investigations for validation and test purposes. The development of formal models for both the specification and programming of large-scale, distributed and mobile systems was among the primary aims of the MIKADO project partners. In order to lay the foundation necessary to overcome current limitations in global programming, several models for explicit code and computation distribution and migration were studied. They concentrated on models of computational domains with programmable membranes and attempted to unify different calculi in a core formal model for concurrent and object-oriented programming. Specification and analysis techniques for the new programming model were then proposed, extending recent work on type systems for object-oriented languages and distributed process calculi. These ranged from type systems and static analysis techniques for expressing constraints on concurrency and resources access, to proof techniques for assuring that mobile codes conform to predefined specifications. The latter required novel co-inductive techniques to compare the distributed behaviour of systems and new specification logics for expressing partial views of programming paradigms. A common software framework to support the implementation of distributed process calculi could not restrain itself to a fixed set of communication primitives. The IMC (Implementing Mobile Calculi) framework, accessible though the MIKADO project site along with all its other major deliverables, is flexible enough to support multiple and even customised communication protocols.