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. Protocols can be recursively expanded, where a protocol can be specified (expanded) in terms of alternative subprotocols, sequences of subprotocols, and optional protocols. 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 supports the specification of derived attributes using derivation rules involving arithmetic expressions, aggregate functions, and attribute compositions (or path expressions). OPM also supports derived subclasses and derived superclasses. A derived subclass is defined as a subclass of another derived or non-derived class with an optional derivation condition. A derived superclass is defined as a union of two or more derived or non-derived classes.
An OPM query consists of a
select, insert, delete, or update statement;
only select queries are considered in this paper.
These statements can involve conditions consisting of and-or
compositions of atomic comparisons.
An OPM select query on target class
can involve local, inherited,
and derived attributes associated with
,
as well as path expressions starting with these attributes.
Although each OPM query is associated with a single target class,
this limitation can be offset in part by using abstract attributes
(referencing other object or protocol classes)
in select and condition statements.
Furthermore, multi-target class queries can be constructed
using derived classes and derived attributes.
OPM data management tools provide facilities for developing databases using commercial relational DBMSs. OPM schemas can be specified using an OPM Schema Editor or a regular text editor, and can be published in various formats, such as LaTeX and Html. An OPM Schema Translator can be used for mapping OPM schemas into DBMS-specific relational schema definitions and SQL stored procedures [5]. The OPM Schema Translator also generates a mapping dictionary with information regarding the mapping of OPM elements into DBMS elements. The OPM Query Translator processes OPM queries and, using the mapping dictionary mentioned above, translates them into SQL queries [7].