Artifact Inputs and Outputs, Resource Assignments can all be attached to a specification. As an activity is executed, the interpreter checks to make sure that values are assigned to the inputs, outputs, and resources before enabling and completing.