Next generation computer systems will be characterized by pervasive<br/>networked devices interconnected by a variety of networks and organized in<br/>loose and dynamically changing confederations. This research addresses the<br/>question of how to program these new computer systems. In particular,<br/>foundations and implementation techniques for programming heterogeneous<br/>distributed systems are being investigated. Specific results are expected in<br/>the following areas:<br/><br/>Trusted Software Composition: This research focuses on developing a security infrastructure<br/>for software composition consisting of a policy meta-language and<br/>language-level enforcement mechanisms such as type-driven static<br/>enforcement and automatic wrapper code generation.<br/><br/>Mobile Calculi: The project will investigates the foundations of a core<br/>Internet programming language with a good algebraic theory, a natural<br/>mapping into a distributed implementation, and expression of security<br/>properties as types.<br/><br/>This work is expected to have applications in a variety of fields; from distributed<br/>applications with high information assurance requirements to active<br/>networks and distributed system monitoring and administration.