Our research group is interested in studying design, implementation, and evaluation issues for large-scale distributed systems such as peer-to-peer systems, the Grid and sensor networks. Our primary focus is on the invention and discovery of design methodologies, which are techniques that enable systematic design of distributed protocols. Design methodologies augment the creative process of design that distributed systems designers (e.g., graduate students, or a researcher in an industrial lab) practice, rather than stifling this activity. Methodologies encapsulate systematic ways to generate distributed protocols that are intended to solve practical problems, and have desirable practical properties such as scalability and reliability. Some methodologies may be automatable, allowing the protocol designer to generate code for the prototype system on the fly, i.e., as part of the creative design process.