Object Process Methodology (OPM) By: Ibrahim Sana
Agenda <ul><li>Definitions </li></ul><ul><li>OPM-Introduction </li></ul><ul><li>Notations </li></ul><ul><li>Complexity man...
Definitions for system <ul><li>“ A group of interdependent  items  that  interact  regularly to perform a task”(webopedia....
Methodologies types <ul><li>Methodologies can be classified into three categories </li></ul><ul><ul><li>Structure (OO) </l...
Object Process Methodology (Dori,2002a) <ul><li>Developed by Dov Dori in 2002 </li></ul><ul><li>Holistic methodology that ...
Processing  is environmental . An attribute that determines whether the thing is environmental (external to the system, da...
OPM   Entities <ul><li>Object   (thing)  has potential of existence for some positive duration of time </li></ul><ul><li>S...
The System structure   <ul><li>Structure: the stable aspect of the system </li></ul><ul><ul><li>Object/Process associated ...
General relation <ul><li>Tagged structural links </li></ul><ul><ul><li>Unidirectional </li></ul></ul><ul><ul><li>Bidirecti...
Fundamental relations <ul><li>Aggregation-Particulation  </li></ul><ul><li>Featuring-Characterization </li></ul><ul><li>Ge...
The System Behavior <ul><li>Behavior: the dynamic aspect of the system </li></ul><ul><ul><li>Objects and Process associate...
Enablers and Enabling link <ul><li>Enabler: is an object that must be present in order for that process to occur but is no...
Transformation links <ul><li>Effect Link :connects a process with its affected object or with the affected object states. ...
Complexity management <ul><li>Completeness vs. Clarity </li></ul><ul><li>OPM scaling mechanism </li></ul><ul><ul><li>Unfol...
Case Study :  Epaper Project  <ul><li>Aggregating news content from several providers </li></ul><ul><li>Content management...
OPM model   <ul><li>SD: High level view </li></ul>OPD OPL
OPM Model cont. <ul><li>SD1.1 (Zooming-In) </li></ul>SD1.1 OPL
Case Study cont . <ul><li>SD1.1 :Item aggregating  </li></ul>
Case Study cont. <ul><li>Item Managing (SD1.1) </li></ul>
Case Study cont. <ul><li>Item Delivering (SD1.1) </li></ul>
OPM map SD SD1 SD1.1 SD1.2 SD1.3
OPM   vs. UML <ul><li>UML has multiple-views </li></ul><ul><li>Each view specifies a different aspect  </li></ul><ul><li>T...
UML   views Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagra...
OPM   vs.  UML <ul><li>OPM : Process is an entity that uniformly represents patterns of behavior </li></ul><ul><li>UML : B...
OPM vs.  UML <ul><li>OPM : No need for mental transformations and integration across different views </li></ul><ul><li>UML...
UML vs. OPM experiment (Iris,2002) <ul><li>The subjects: 3rd year students at the Technion </li></ul><ul><li>The experimen...
Experiment Design Task2 OPM Model UML Model Task1 OPM Model UML Model Task1 Task2 UML OPM Group1: Group2: Task1 Task2 OPM ...
Experiment Design <ul><li>They learned OPM for two weeks and UML for five weeks </li></ul><ul><li>Neutral course stuff </l...
Hypothesis <ul><li>UML class diagram would better serve subjects who are looking for answers to questions related to the s...
Results
OPCAT (www.opcat.com) <ul><li>OPCAT (Object-Process CAse Tool) has been developed as a CASE tool to support the Object-Pro...
OPCAT overview Entities Structural links Procedural links
Simulation by animation
OPCATeam Project (Beimel,2004) <ul><li>OPM-based Collaborative Systems Modeling  </li></ul><ul><li>Create collaborative en...
References <ul><li>Peleg, M. and Dori, D. The Model Multiplicity Problem: Experimenting with Real-Time Specification Metho...
 
 
 
Upcoming SlideShare
Loading in...5
×

Object Process Methodology

4,464

Published on

OPM is a process based methodology for modeling software systems.

Published in: Technology

Object Process Methodology

  1. 1. Object Process Methodology (OPM) By: Ibrahim Sana
  2. 2. Agenda <ul><li>Definitions </li></ul><ul><li>OPM-Introduction </li></ul><ul><li>Notations </li></ul><ul><li>Complexity management </li></ul><ul><li>Case Study: Epaper Project </li></ul><ul><li>OPM Evaluation </li></ul><ul><li>Case tool OPCAT </li></ul><ul><li>OPCATeam </li></ul>
  3. 3. Definitions for system <ul><li>“ A group of interdependent items that interact regularly to perform a task”(webopedia.com) </li></ul><ul><li>“ A collection of components organized to accomplish a specific function or set of functions” (IEEE Std. 610.12-1990 ) </li></ul><ul><li>System has two aspects: </li></ul><ul><ul><li>Structure (Static) </li></ul></ul><ul><ul><li>Behavior (Dynamic) </li></ul></ul>
  4. 4. Methodologies types <ul><li>Methodologies can be classified into three categories </li></ul><ul><ul><li>Structure (OO) </li></ul></ul><ul><ul><ul><li>Example: Class Diagram,ERD </li></ul></ul></ul><ul><ul><li>Behavior (PO) </li></ul></ul><ul><ul><ul><li>Example: DFD, statechart </li></ul></ul></ul><ul><ul><li>Hybrids(OO and PO) </li></ul></ul><ul><ul><ul><li>Example:UML, OPM </li></ul></ul></ul>
  5. 5. Object Process Methodology (Dori,2002a) <ul><li>Developed by Dov Dori in 2002 </li></ul><ul><li>Holistic methodology that c overs structure and behavior of systems using a single mode </li></ul><ul><li>Motivation: </li></ul><ul><ul><li>Unbalanced structure-behavior representation </li></ul></ul><ul><ul><li>Model multiplicity problem (Peleg et al, 2000) </li></ul></ul><ul><li>Bi-model representations </li></ul><ul><ul><li>Graphical: Object-Process Diagrams (OPD) </li></ul></ul><ul><ul><li>Textual: Object-Process Language (OPL) </li></ul></ul>
  6. 6. Processing is environmental . An attribute that determines whether the thing is environmental (external to the system, dashed contour) or systemic. Affiliation Processing is physical . An attribute that determines whether the thing (object or process) is physical (shaded) or informational. Essence Processing is a process . * A thing representing a pattern of transformation that objects undergo. Process Object Name is an object . * A thing (entity) that has the potential of stable, unconditional physical or mental existence. Object Description / OPL sentence Symbol Thing / Attribute
  7. 7. OPM Entities <ul><li>Object (thing) has potential of existence for some positive duration of time </li></ul><ul><li>State (entity) a situation at which the object can exist for some time. </li></ul><ul><li>Process a pattern of changing that transforms one or more objects by changing their state or by creating or destroying them </li></ul><ul><li>Objects and processes (Things) are two types of equally important things (entities) required to describe a system in a single, unifying model </li></ul>
  8. 8. The System structure <ul><li>Structure: the stable aspect of the system </li></ul><ul><ul><li>Object/Process associated with structural relations </li></ul></ul><ul><li>Structural relations </li></ul><ul><ul><li>General relation </li></ul></ul><ul><ul><ul><li>Tagged structural links </li></ul></ul></ul><ul><ul><li>Fundamental relations </li></ul></ul><ul><ul><ul><li>Aggregation-Particulation </li></ul></ul></ul><ul><ul><ul><li>Featuring-Characterization </li></ul></ul></ul><ul><ul><ul><li>Generalization-Specialization </li></ul></ul></ul>
  9. 9. General relation <ul><li>Tagged structural links </li></ul><ul><ul><li>Unidirectional </li></ul></ul><ul><ul><li>Bidirectional </li></ul></ul>
  10. 10. Fundamental relations <ul><li>Aggregation-Particulation </li></ul><ul><li>Featuring-Characterization </li></ul><ul><li>Generalization-Specialization </li></ul>
  11. 11. The System Behavior <ul><li>Behavior: the dynamic aspect of the system </li></ul><ul><ul><li>Objects and Process associated with procedural links </li></ul></ul><ul><li>Procedural Links </li></ul><ul><ul><li>Enabling link </li></ul></ul><ul><ul><li>Transformation link </li></ul></ul>
  12. 12. Enablers and Enabling link <ul><li>Enabler: is an object that must be present in order for that process to occur but is not transformed by the process </li></ul><ul><li>Enabling link: </li></ul><ul><ul><li>Agent </li></ul></ul><ul><ul><li>Instrument </li></ul></ul>
  13. 13. Transformation links <ul><li>Effect Link :connects a process with its affected object or with the affected object states. </li></ul><ul><li>Consumption Link: connects a process with a consumed object of that process </li></ul><ul><li>Result Link: connects a process with a resulting object of that process </li></ul>
  14. 14. Complexity management <ul><li>Completeness vs. Clarity </li></ul><ul><li>OPM scaling mechanism </li></ul><ul><ul><li>Unfolding/Folding for structural relations </li></ul></ul><ul><ul><li>Zooming-in/Zooming out for procedural relations </li></ul></ul><ul><ul><li>State expressing/suppressing </li></ul></ul>
  15. 15. Case Study : Epaper Project <ul><li>Aggregating news content from several providers </li></ul><ul><li>Content management </li></ul><ul><li>Building subscribers profiles </li></ul><ul><ul><li>Initial profile (content-based) </li></ul></ul><ul><ul><li>Collaborative filtering </li></ul></ul><ul><li>Sending news items that matching the user’s profile </li></ul>
  16. 16. OPM model <ul><li>SD: High level view </li></ul>OPD OPL
  17. 17. OPM Model cont. <ul><li>SD1.1 (Zooming-In) </li></ul>SD1.1 OPL
  18. 18. Case Study cont . <ul><li>SD1.1 :Item aggregating </li></ul>
  19. 19. Case Study cont. <ul><li>Item Managing (SD1.1) </li></ul>
  20. 20. Case Study cont. <ul><li>Item Delivering (SD1.1) </li></ul>
  21. 21. OPM map SD SD1 SD1.1 SD1.2 SD1.3
  22. 22. OPM vs. UML <ul><li>UML has multiple-views </li></ul><ul><li>Each view specifies a different aspect </li></ul><ul><li>The diagram types are divided into: </li></ul><ul><ul><li>Structural diagrams </li></ul></ul><ul><ul><li>Procedural diagrams </li></ul></ul>
  23. 23. UML views Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Deployment Diagrams State Diagrams State Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Statechart Diagrams Use Case Diagrams Use Case Diagrams Sequence Diagrams State Diagrams State Diagrams Class Diagrams Activity Diagrams Models
  24. 24. OPM vs. UML <ul><li>OPM : Process is an entity that uniformly represents patterns of behavior </li></ul><ul><li>UML : Behavior of the system can be spread across five diagram types </li></ul><ul><li>OPM : System’s structure and behavior are specified side-by-side, enabling one to see the whole picture in a single view </li></ul><ul><li>UML : System’s structure and behavior are specified at different and separate views </li></ul>
  25. 25. OPM vs. UML <ul><li>OPM : No need for mental transformations and integration across different views </li></ul><ul><li>UML : Need to validate consistency among the various views </li></ul><ul><li>OPM :25 symbols </li></ul><ul><li>UML : 150 symbols (Dori,2002) </li></ul>
  26. 26. UML vs. OPM experiment (Iris,2002) <ul><li>The subjects: 3rd year students at the Technion </li></ul><ul><li>The experiment took place during the final examination of the course “Specification and Analysis of IS” (spring, 2002) </li></ul><ul><li>Tasks </li></ul>
  27. 27. Experiment Design Task2 OPM Model UML Model Task1 OPM Model UML Model Task1 Task2 UML OPM Group1: Group2: Task1 Task2 OPM UML
  28. 28. Experiment Design <ul><li>They learned OPM for two weeks and UML for five weeks </li></ul><ul><li>Neutral course stuff </li></ul><ul><li>Five diagrams followed by 8 comprehension questions and one modeling problem </li></ul><ul><li>Identical questions per task </li></ul><ul><li>Questions related to the system structure, dynamic, and distribution </li></ul><ul><li>Fair grading policy </li></ul>
  29. 29. Hypothesis <ul><li>UML class diagram would better serve subjects who are looking for answers to questions related to the structural parts of a given system </li></ul><ul><li>OPM will be more adequate than UML for understanding the dynamic aspect of the system and the complex relations among various system modules </li></ul><ul><li>OPM expected to e more correctly and more easily applied than UML for modeling complex, dynamic applications </li></ul>
  30. 30. Results
  31. 31. OPCAT (www.opcat.com) <ul><li>OPCAT (Object-Process CAse Tool) has been developed as a CASE tool to support the Object-Process Methodology. </li></ul><ul><li>Graphic and textual representation, jointly express the same OPM model </li></ul><ul><li>OPL serves human as well as machine </li></ul><ul><li>OPCAT provide an advanced simulation tool </li></ul><ul><li>OPCAT enable code generation (using OPL) </li></ul><ul><li>OPCAT enable UML diagrams generation </li></ul>
  32. 32. OPCAT overview Entities Structural links Procedural links
  33. 33. Simulation by animation
  34. 34. OPCATeam Project (Beimel,2004) <ul><li>OPM-based Collaborative Systems Modeling </li></ul><ul><li>Create collaborative environment, where teams of modelers collaborate in analysis, design, and implementation of systems using OPM. </li></ul><ul><li>Multi users, Client-Server architecture. </li></ul><ul><li>Users can simultaneously update the models, through the clients according to their access permissions. </li></ul><ul><li>Includes a version control function that logs updates and enables revision control. </li></ul>
  35. 35. References <ul><li>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. </li></ul><ul><li>Dori, D. Object-Process Methodology – A Holistic Systems Paradigm, Springer Verlag,Berlin, Heidelberg, New York, 2002. </li></ul><ul><li>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 </li></ul><ul><li>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. </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×