Top Banner
Object Process Methodology (OPM) By: Ibrahim Sana
35

Object Process Methodology

Nov 07, 2014

Download

Technology

guest77b0cd12

OPM is a process based methodology for modeling software systems.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Object Process Methodology

Object Process Methodology (OPM)

By: Ibrahim Sana

Page 2: Object Process Methodology

Agenda

Definitions OPM-Introduction Notations Complexity management Case Study: Epaper Project OPM Evaluation Case tool OPCAT OPCATeam

Page 3: Object Process Methodology

Definitions for system

“A group of interdependent items that interact regularly to perform a task”(webopedia.com)

“A collection of components organized to accomplish a specific function or set of functions” (IEEE Std. 610.12-1990 )

System has two aspects:– Structure (Static)– Behavior (Dynamic)

Page 4: Object Process Methodology

Methodologies types

Methodologies can be classified into three categories– Structure (OO)

Example: Class Diagram,ERD– Behavior (PO)

Example: DFD, statechart– Hybrids(OO and PO)

Example:UML,OPM

Page 5: Object Process Methodology

Object Process Methodology(Dori,2002a)

Developed by Dov Dori in 2002

Holistic methodology that covers structure and behavior of systems using a single mode

Motivation:– Unbalanced structure-behavior representation– Model multiplicity problem (Peleg et al, 2000)

Bi-model representations– Graphical: Object-Process Diagrams (OPD)– Textual: Object-Process Language (OPL)

Page 6: Object Process Methodology

Thing / Attribute Symbol Description / OPL sentence

ObjectA thing (entity) that has the potential of stable, unconditional physical or mental existence.

Object Name is an object.*

ProcessA thing representing a pattern of transformation that objects undergo.

Processing is a process.*

EssenceAn attribute that determines whether the thing (object or process) is physical (shaded) or informational.

Processing is physical.

AffiliationAn attribute that determines whether the thing is environmental (external to the system, dashed contour) or systemic.

Processing is environmental.

Page 7: Object Process Methodology

OPM Entities

Object (thing) has potential of existence for some positive duration of time

State (entity) a situation at which the object can exist for some time.

Process a pattern of changing that transforms one or more objects by changing their state or by creating or destroying them

Objects and processes (Things) are two types of equally important things (entities) required to describe a system in a single, unifying model

Page 8: Object Process Methodology

The System structure

Structure: the stable aspect of the system– Object/Process associated with structural relations

Structural relations– General relation

Tagged structural links – Fundamental relations

Aggregation-Particulation Featuring-Characterization Generalization-Specialization

Page 9: Object Process Methodology

General relation

Tagged structural links– Unidirectional

– Bidirectional

Page 10: Object Process Methodology

Fundamental relations

Aggregation-Particulation

Featuring-Characterization

Generalization-Specialization

Page 11: Object Process Methodology

The System Behavior

Behavior: the dynamic aspect of the system– Objects and Process associated with procedural

links Procedural Links

– Enabling link

– Transformation link

Page 12: Object Process Methodology

Enablers and Enabling link

Enabler: is an object that must be present in order for that process to occur but is not transformed by the process

Enabling link:– Agent

– Instrument

Page 13: Object Process Methodology

Transformation links

Effect Link :connects a process with its affected object or with the affected object states.

Consumption Link: connects a process with a consumed object of that process

Result Link: connects a process with a resulting object of that process

Page 14: Object Process Methodology

Complexity management

Completeness vs. Clarity

OPM scaling mechanism– Unfolding/Folding for structural relations

– Zooming-in/Zooming out for procedural relations

– State expressing/suppressing

Page 15: Object Process Methodology

Case Study: Epaper Project

Aggregating news content from several providers

Content management

Building subscribers profiles– Initial profile (content-based)– Collaborative filtering

Sending news items that matching the user’s profile

Page 16: Object Process Methodology

OPM model

SD: High level viewOPD

OPL

Page 17: Object Process Methodology

OPM Model cont.

SD1.1 (Zooming-In)

SD1.1

OPL

Page 18: Object Process Methodology

Case Study cont.

SD1.1 :Item aggregating

Page 19: Object Process Methodology

Case Study cont.

Item Managing (SD1.1)

Page 20: Object Process Methodology

Case Study cont.

Item Delivering (SD1.1)

Page 21: Object Process Methodology

OPM map

SD SD1

SD1.1SD1.2SD1.3

Page 22: Object Process Methodology

OPM vs. UML

UML has multiple-views

Each view specifies a different aspect

The diagram types are divided into:– Structural diagrams– Procedural diagrams

Page 23: Object Process Methodology

UML views

Use CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsScenario

DiagramsCollaborationDiagrams

StateDiagramsState

DiagramsComponentDiagrams

ComponentDiagramsComponent

DiagramsDeploymentDiagrams

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsStatechartDiagrams

Use CaseDiagramsUse Case

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsClassDiagrams

ActivityDiagrams

Models

Page 24: Object Process Methodology

OPM vs. UML

OPM: Process is an entity that uniformly represents patterns of behavior

UML: Behavior of the system can be spread across five diagram types

OPM: System’s structure and behavior are specified side-by-side, enabling one to see the whole picture in a single view

UML: System’s structure and behavior are specified at different and separate views

Page 25: Object Process Methodology

OPM vs. UML

OPM: No need for mental transformations and integration across different views

UML: Need to validate consistency among the various views

OPM:25 symbols UML: 150 symbols (Dori,2002)

Page 26: Object Process Methodology

UML vs. OPM experiment (Iris,2002)

The subjects: 3rd year students at the Technion

The experiment took place during the final examination of the course “Specification and Analysis of IS” (spring, 2002)

Tasks

Page 27: Object Process Methodology

Experiment Design

Task2

OPM Model UML Model

Task1

OPM Model UML Model

Task1 Task2UML OPM

Group1:

Group2: Task1 Task2OPM UML

Page 28: Object Process Methodology

Experiment Design

They learned OPM for two weeks and UML for five weeks

Neutral course stuff Five diagrams followed by 8 comprehension

questions and one modeling problem Identical questions per task Questions related to the system structure,

dynamic, and distribution Fair grading policy

Page 29: Object Process Methodology

Hypothesis

UML class diagram would better serve subjects who are looking for answers to questions related to the structural parts of a given system

OPM will be more adequate than UML for understanding the dynamic aspect of the system and the complex relations among various system modules

OPM expected to e more correctly and more easily applied than UML for modeling complex, dynamic applications

Page 30: Object Process Methodology

Results

Page 31: Object Process Methodology

OPCAT (www.opcat.com)

OPCAT (Object-Process CAse Tool) has been developed as a CASE tool to support the Object-Process Methodology.

Graphic and textual representation, jointly express the same OPM model

OPL serves human as well as machine

OPCAT provide an advanced simulation tool

OPCAT enable code generation (using OPL)

OPCAT enable UML diagrams generation

Page 32: Object Process Methodology

OPCAT overview

Entities

Structural links

Procedural links

Page 33: Object Process Methodology

Simulation by animation

Page 34: Object Process Methodology

OPCATeam Project (Beimel,2004)

OPM-based Collaborative Systems Modeling Create collaborative environment, where teams of

modelers collaborate in analysis, design, and implementation of systems using OPM.

Multi users, Client-Server architecture. Users can simultaneously update the models, through

the clients according to their access permissions. Includes a version control function that logs updates

and enables revision control.

Page 35: Object Process Methodology

References Peleg, M. and Dori, D. The Model Multiplicity Problem: Experimenting

with Real-Time Specification Methods. IEEE Transaction on Software Engineering, 26 (8), pp. 742–759,2000.

Dori, D. Object-Process Methodology – A Holistic Systems Paradigm, Springer Verlag,Berlin, Heidelberg, New York, 2002.

Dori, D. Reinhartz-Berger, I. and Sturm A. OPCAT – A Bimodal Case Tool for Object-Process Based System Development. 5th International Conference on EnterpriseInformation Systems (ICEIS 2003), pp. 286–291, 2003. Software download site:http://www.objectprocess.org

Iris Reinhartz-Berger and Dov Dori, OPM vs. UML - Experimenting with Comprehension and Construction of Web Application Models.Empirical Software Engineering 10, 1, pp. 57-80, 2005.