The Big Questions
1. How to divide function/state/trust across components?
reason about flow of data and computation through the system
2. What abstractions/interfaces are sufficiently:
powerful to meet a wide range of needs?
efficient to implement and simple to use?
versatile to enable construction of large/complex systems?
3. How can we build:
reliable systems from unreliable components?
trusted systems from untrusted components?
unified systems from diverse components?
coherent systems from distributed components?