OPM supports all the basic and derived constructs of the reference data model presented above. In addition, OPM supports versioned attributes, and has a protocol class construct that allows modeling molecular biology laboratory protocols (e.g., specifying protocols in terms of their subprotocol steps, input-output connections of protocol steps).