Object Process Methodology

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[1]

Contents

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 being designed, i.e. "systemic" or "environmental".[1]

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: ?)

Features

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 OPM Object symbol.svg An object is a thing that exists.
Process OPM Process symbol.svg A process defines how objects are transformed.
State OPM Object with State symbol.svg A state is an object's situation.

OPM Fundamental Structural Relations

Symbol OPM Aggregation link symbol.svg OPM Exhibition link symbol.svg OPM Generalization link symbol.svg
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 OPM Aggregation link example.svg A consists of B and C
Exhibition OPM Exhibition link example.svg A exhibits B as well as C
Generalization OPM Generalization link example.svg B is an A. C is an A

OPM Procedural Links

Symbol OPM Agent link.svg OPM Instrument link.svg OPM Consumption or Result link.svg OPM Effect link.svg OPM Invocation link.svg
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:

Further Use Case Maps (UCM) have some similar goals as OPM.[2]

See also

References

  1. ^ a b Object-Process Methodology, Dov Dori, Springer, 2002.
  2. ^ About Use Case Maps

Further reading

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Process modeling — The term process model is used in different contexts. For example, in business process modeling the enterprise process model is often referred to as the business process model . Process models are core concepts in the discipline of Process… …   Wikipedia

  • Process-data diagram — A process data diagram is a diagram that describes processes and data that act as output of these processes. On the left side the meta process model can be viewed and on the right side the meta concept model can be viewed. A process data diagram… …   Wikipedia

  • Object-Oriented Software Construction —   …   Wikipedia

  • Object-oriented software engineering — (commonly known by acronym OOSE) is an object modeling language and methodology. OOSE was developed by Ivar Jacobson in 1992 while at Objectory AB. It is the first object oriented design methodology to employ use cases to drive software design.… …   Wikipedia

  • Process Driven Development — (PDD) is a methodology for constructing non trivial custom software applications by analyzing the business processes in which they will be used. It complements the use case driven approach to software development by helping the software architect …   Wikipedia

  • Object-oriented programming — Programming paradigms Agent oriented Automata based Component based Flow based Pipelined Concatenative Concurrent computing …   Wikipedia

  • Object role modeling — Not to be confused with Object relational mapping. [ Stephen M. Richard (1999). [http://pubs.usgs.gov/of/1999/of99 386/richard.html Geologic Concept Modeling] . U.S. Geological Survey Open File Report 99 386.] ] Object Role Modeling (ORM) in the… …   Wikipedia

  • Object-Role Modeling — Not to be confused with Object relational mapping. Example of the application of Object Role Modeling in a Schema for Geologic Surface , Stephen M. Richard (1999).[1] Object Role Modeling (ORM) is a method for conceptual modeling, and can be used …   Wikipedia

  • Object model — In computing, object model has two related but distinct meanings: The properties of objects in general in a specific computer programming language, technology, notation or methodology that uses them. For example, the Java objects model, the COM… …   Wikipedia

  • Object (computer science) — In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure. (With the later introduction of object oriented programming the same word,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”