Ensembles of machine systems, from simple linear classifiers to complex hidden Markov models, have out-performed single systems across many applications such as automatic speech recognition and information retrieval. Likewise, ensembles have been central to computing with humans, e.g. for data annotation using crowd-sourcing. This widespread use of ensembles, albeit largely heuristic, is motivated by their robustness to ambiguity in the production, representation, and processing of information. Researchers across several disciplines have observed the benefits of ensemble diversity or complementarity. My poster discusses a computational framework for this diversity by focusing on three important problems - modeling, analysis, and design.