Object Process Methodology
Encyclopedia
Object Process Methodology (OPM) is an approach to designing information system
s 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
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.
The following constraints can be formulated:
The OPD treats complexity by using three refinement and abstraction mechanisms:
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:
Example uses of the OPM structural links:
The application has several strong features, which are listed below.
Further Use Case Maps (UCM) have some similar goals as OPM.
Information system
An information system - or application landscape - is any combination of information technology and people's activities that support operations, management, and decision making. In a very broad sense, the term information system is frequently used to refer to the interaction between people,...
s 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
Language design
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
Information system
An information system - or application landscape - is any combination of information technology and people's activities that support operations, management, and decision making. In a very broad sense, the term information system is frequently used to refer to the interaction between people,...
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.
Cardinality
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 (Example: 1 man can marry 1 woman)
- 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:
OPM Entities
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
Symbol | |||
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
Symbol | |||||
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
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:
- Use case diagramUse case diagramA use case diagram in the Unified Modeling Language is a type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals , and any dependencies between those use...
- Sequence diagramSequence diagramA sequence diagram in Unified Modeling Language is a kind of interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart....
- State diagramState diagramA state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction...
- Class diagramClass diagramIn software engineering, a class diagram in the Unified Modeling Language is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations , and the relationships among the classes.- Overview :The class diagram is the main...
- Deployment diagramDeployment diagramA deployment diagram in the Unified Modeling Language models the physical deployment of artifacts on nodes. To describe a web site, for example, a deployment diagram would show what hardware components exist , what software components run on each node , and how...
- Activity diagramActivity diagramActivity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
- Use case diagram
Further Use Case Maps (UCM) have some similar goals as OPM.
Further reading
- 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"
External links
- Object-Process Methodology and Its Application to the Visual Semantic Web, presentation by Dov Dori, 2003.
- www.opcat.com