Describing Data And Workflow Provenance Using Design Patterns And Controlled Vocabularies