object process methodology
DESCRIPTION
OPM is a process based methodology for modeling software systems.TRANSCRIPT
![Page 1: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/1.jpg)
Object Process Methodology (OPM)
By: Ibrahim Sana
![Page 2: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/2.jpg)
Agenda
Definitions OPM-Introduction Notations Complexity management Case Study: Epaper Project OPM Evaluation Case tool OPCAT OPCATeam
![Page 3: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/9.jpg)
General relation
Tagged structural links– Unidirectional
– Bidirectional
![Page 10: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/10.jpg)
Fundamental relations
Aggregation-Particulation
Featuring-Characterization
Generalization-Specialization
![Page 11: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/16.jpg)
OPM model
SD: High level viewOPD
OPL
![Page 17: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/17.jpg)
OPM Model cont.
SD1.1 (Zooming-In)
SD1.1
OPL
![Page 18: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/18.jpg)
Case Study cont.
SD1.1 :Item aggregating
![Page 19: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/19.jpg)
Case Study cont.
Item Managing (SD1.1)
![Page 20: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/20.jpg)
Case Study cont.
Item Delivering (SD1.1)
![Page 21: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/21.jpg)
OPM map
SD SD1
SD1.1SD1.2SD1.3
![Page 22: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/30.jpg)
Results
![Page 31: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/32.jpg)
OPCAT overview
Entities
Structural links
Procedural links
![Page 33: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/33.jpg)
Simulation by animation
![Page 34: Object Process Methodology](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.us/reader034/viewer/2022050919/545cf96daf7959cd098b48e9/html5/thumbnails/35.jpg)
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.