Object Process Methodology

This is an old revision of this page, as edited by 24.78.125.224 (talk) at 15:38, 29 December 2005 (Object Process Diagram example: Marriage). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

The official OPM site

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.


The table below indicates the aggregation of the different links and gives a short explanation per link.

File:OPM-Links.gif


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.

File:OPD-Marriage.gif


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.

File:OPL-Marriage.gif


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.

File:OPM-Metamodel.gif