Definitions
Object Process Methodology is an approach to blueprint (commonly) information systems by depicting them using object models and process models.
History
OPM was founded by Dov Dori, researcher at the Technion-Israel Institute of Technology. Dori published his book Methodology - A Holistics System Paradigm in 2002, published by Springer.
The common language UML for modeling mainly software systems was in need of a new and simplified approach to model not only software systems, but information systems as well. This is why OPM was created. OPM intends to answer to the growing complexity in software systems and focusses on lifecycle support as well.
Elements
OPM has uses two types of elements: entities and links. Entities are used to express 'physical' elements in a system.
The entities used in OPM are objects, states and processes. An object is a thing existing in the system which exists for a set time. A state is a situation an object can be in. A process is a thing that transforms an object (alters the state of the object).
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 an object to a process and indicates a change in the state of the object.
Links
The table below indicates the aggregation of the different links and gives a short explanation per link.
Cardinality
OPM knows cardinality constraining, meaning a way to indicate to what extent 2 objects can relate to each other. In OPM these constraints are called participation constraints. Example: 1 man can marry 1 woman. The constraining makes this a 1 to 1 relation. Constraining can be formulated like:
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.
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.
Object Process Language
Another feature of the 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 latest version of this tool is called OPCat2 and can be downloaded from http://www.objectprocess.org.
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 crated. 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 Diagram
Sequence Diagram
State Chart
Class Diagram
Deployment Diagram
Activity Diagram
Object Process Diagram example: Marriage
The example below demonstrates the modeling of the concept marriage in an OPD.
This example indicates how the states of the objects 'man' and 'woman' can transform from being 'single' to being 'married' by the process called 'marrying'.
The result/consumption link takes the status 'single' of the objects 'man' and 'woman' through the process 'marrying' to the state 'married'.
The process forms the object 'couple', which consists of the objects 'man' and 'woman'.
The object 'couple' has the object 'wedding date' as a characterization through a exhibition-characterization link.
John is a 'man' and Jane is a 'woman', due to the generalization-specialization link.
Object Process Language example: Marriage
As a result of the previous example, the object-process case tool created the OPL data that corresponds with the OPD. The OPL is given below.
The examples explains itself. The colors of the text correspond with the elements in the OPD example.
Object Process Methodology Meta-Model
The model below represents the meta-model of an OPD. The simplicity of the model reflects the simplicity of the OPD itself.