Object Process Methodology
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
||This section possibly contains original research. (August 2011)|
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".
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
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:
|Object||An object is a thing that exists.|
|Process||A process defines how objects are transformed.|
|State||A state is an object's situation.|
OPM Fundamental Structural Relations
|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||A consists of B and C|
|Exhibition||A exhibits B as well as C|
|Generalization||B is an A. C is an A|
OPM Procedural Links
Object Process Language
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
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.
|This article needs additional citations for verification. (April 2009)|
- D. Dori (1995). Object-Process Analysis: Maintaining the Balance between System Structure and Behavior. Journal of Logic and Computation, 5, 2, pp. 227-249.
- D. Dori (2002). Object-Process Methodology - A Holistic Systems Paradigm. Springer Verlag, New York.
- Daniel Amyot, Gunter Mussbacher (2001). "Bridging the requirements/Design Gap in Dynamic Systems with Use Case Maps (UCMs)"
- I. Reinhartz-Berger and D. Dori (2004). "Object-Process Methodology (OPM) vs. UML: A Code Generation Perspective"
|Wikimedia Commons has media related to Object Process Methodology.|
- Object-Process Methodology and Its Application to the Visual Semantic Web, presentation by Dov Dori, 2003.