This document discusses approaches for constructing domain-specific modeling languages (DSMLs). It presents both a top-down approach, which begins with defining a meta-model, and a bottom-up approach, which starts by drafting example models and then inducing a meta-model. The bottom-up approach aims to facilitate DSML construction by non-experts by allowing them to provide model fragments from which a meta-model is constructed. Annotations on the fragments can trigger refactorings to the meta-model. Open issues that arise are also recorded to aid resolution.