A DSL for specifying families of composite object structures from elementary activefacts-api objects