Object Process Methodology

This is an old revision of this page, as edited by Hervegirod (talk | contribs) at 20:28, 14 September 2006 (typo). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Template:Wikify-date

Object Process Methodology is an approach to blueprint (commonly) information systems by depicting them using object models and process models.

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.

OPM was founded by Dov Dori, researcher at the Technion-Israel Institute of Technology, in 2002.

Elements

OPM 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.


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. Constraining can be formulated like:

  • 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.

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 an 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 example 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.