Object process methodology

From Wikipedia, the free encyclopedia
  (Redirected from Object Process Methodology)
Jump to: navigation, search

Object process methodology (OPM) is an approach to designing information systems by depicting them using object models and process models. OPM was conceived and developed by Prof. Dov Dori, at the Technion – Israel Institute of Technology. A paper that first presented ideas underlying OPM was published in 1995. The comprehensive resource is Dori's book Object-Process Methodology – A Holistic Systems Paradigm[1]

Language design[edit]

Object-Process Methodology (OPM) is a modeling language. OPM combines a minimal set of building blocks – stateful objects and processes that transform them – with a dual graphic-textual representation in a single diagram type.

OPM uses two types of elements: entities and links. Entities are used to express "physical" or "informational" elements which can be inside or outside of the system being designed, i.e. "systemic" or "environmental".[1]

The entities used in OPM are objects, states and processes. An object is a thing existing for a period of time. A state is a situation an object can be in. A process is a phenomenon that transforms one or more objects by creating them, altering their states or destroying/consuming them.

The links used in OPM are structural links and procedural links. A structural link forms a relation between two objects and is persistent. A procedural link is used to link a process to an object – in which case it indicates a change in the state of the object – or to another process – in which case it indicates the launching of the second process when the first ends.


OPM supports cardinality constraints, meaning a way to indicate to what extent two objects can relate to each other. In OPM these constraints are called participation constraints. The following constraints can be formulated:

  • 1 to 1
  • 1 to many
  • 1 to fixed number
  • many to many
  • fixed number to fixed number
  • optional (expressed as: ?)


Object process diagram[edit]

Objects, processes and links between them are depicted by using the object process diagram (OPD).

The OPD treats complexity by using three refinement and abstraction mechanisms:

  • Zooming in and out
  • Folding and unfolding
  • State expression and suppression

Having only one diagram, this methodology knows no multiplicity in depicting objects and processes, which improves exchangeability between different diagrams and even different methods.

The graphical representation of the OPM elements in an OPD is as follows:

OPM entities[edit]

Object OPM Object symbol.svg An object is a thing that exists.
Process OPM Process symbol.svg A process defines how objects are transformed.
State OPM Object with State symbol.svg A state is an object's situation.

OPM fundamental structural relations[edit]

Symbol OPM Aggregation link symbol.svg OPM Exhibition link symbol.svg OPM Generalization link symbol.svg
Meaning Relates a whole to its parts Relates an exhibitor to its attributes Relates a general thing to its specializations

Example uses of the OPM structural links:

Aggregation OPM Aggregation link example.svg A consists of B and C
Exhibition OPM Exhibition link example.svg A exhibits B as well as C
Generalization OPM Generalization link example.svg B is an A. C is an A

OPM procedural links[edit]

Symbol OPM Agent link.svg OPM Instrument link.svg OPM Consumption or Result link.svg OPM Effect link.svg OPM Invocation link.svg
Meaning The source object/state is an agent of the target process The source object/state is an instrument of the target process The source/target process yields/consumes the target/source object The source object is affected by the target process The source process invocates the target process when it is finished

Object process language[edit]

Another feature of object process methodology is the object process language – an OPD can be translated in sentences, telling the storyline of the diagram. The power of OPL lies in the fact that it is readable by humans but also interpretable by computers, thus making it an inter-exchangeable language.

Object-process case tool[edit]

Modeling through OPM is possible with a specialized tool called object-process case tool.

The application has several strong features, which are listed below.

  • Syntax checking: The creator of an OPD is immediately warned when an illegal OPD construction is being created. The application refers to the issue and explains the error.
  • OPL generator: Modeling an OPD automatically creates the corresponding natural text, formatted in OPL. This way, the creator can use the generated OPL additionally to check his work during the composition of the model.
  • Exchangeability with UML: The application has the capability to export an OPD to many UML diagrams, namely:

Further use case maps (UCM) have some similar goals as OPM.[2]

See also[edit]


  1. ^ a b Object-Process Methodology, Dov Dori, Springer, 2002.
  2. ^ About Use Case Maps


Further reading[edit]

External links[edit]