The Object-Protocol Model and Tools Objects in OPM are uniquely identified by object identifiers, are qualified by attributes, and are classified into classes. Classes can be organized in subclass-superclass hierarchies, where a subclass inherits the attributes of its superclasses.
Attributes can be simple or consist of a tuple of simple attributes.
A simple attribute can have a single value, a set of values, or a list of values, and can be primitive , if it is associated with a system-provided data type or a controlled value class with controlled values or ranges, or abstract , if it takes values from other classes. The attributes of an object class can be partitioned into non-versioned and versioned attributes, where the former represent stable properties, while the latter represent evolving properties. OPM provides protocol classes for modeling laboratory experiments. A protocol class can be associated with regular as well as input and output attributes that are used for specifying input and output connections between protocols. OPM also supports derived subclasses and derived superclasses.