Presentation is loading. Please wait.

Presentation is loading. Please wait.

OPCATeam OPM-based Collaborative Systems Modeling

Similar presentations


Presentation on theme: "OPCATeam OPM-based Collaborative Systems Modeling"— Presentation transcript:

1 OPCATeam OPM-based Collaborative Systems Modeling
BPM 2004 Dov Dori, Dizza Beimel, Eran Toch Technion, Israel Institute of Technology

2 Agenda: OPM Overview OPCATeam Project Goals Problem Specification
OPCATeam Architecture Implementation Summary and Future Work

3 What is OPM - Object-Process Methodology?
A comprehensive paradigm for modeling engineering lifecycle support of complex, multi-disciplinary systems

4 OPM’s Building Blocks are Things: Objects and Processes

5 Objects and Processes Objects and processes are two types of equally important things (entities) required to describe a system in a single, unifying model At any point in time, each object is at some state Object states are transformed through the occurrence of a process

6 A process changes an object state

7 A process generates a new object

8 OPM has a single model with a bimodal representation
A single diagram type: Object-Process Diagram (OPD) A corresponding subset of language: Object-Process Language (OPL)

9 Resources: OPM book Dov Dori
Object-Process Methodology - A Holistic Systems Paradigm, Springer Verlag, Berlin, Heidelberg, New York, 2002

10 Resources: OPM Website www.ObjectProcess.org
Free OPCAT downloads Publications

11 OPCAT – Object-Process CASE Tool – single user version
Serves one user at a time The data and metadata of each model is saved in an XML file. The program reads the information from the XML file, while building its internal Data Structures. The main Data Structure is Hash Table.

12 What is Collaboration ? “To work jointly with others or together, especially in an intellectual endeavor.” [Webster] Collaboration is associated with groupware technology, which is designed to facilitate the work of groups. IBM Lotus Notes NetMeeting Documentum CVS TeamSCOPE

13 Project goal & Objectives
Goal: Specify and implement a collaborative environment, where teams of modelers collaborate in OPM-based analysis, design, and implementation of systems Objectives: Support concurrency, communication, security Use OPCAT as the basis for OPCATeam Employ Web technologies

14 Objectives attainment guidelines
Concurrency: The model should be available to all the members enabling them to get the most up-to-date view. Developers work on the same shared system at the same time, based on a single consistent model that describes it. Communication: Team members should be able to communicate freely regardless of their physical whereabouts. Security: The model under construction should be protected from unauthorized external access and changes by unauthorized modelers.

15 Two conflicting requirements
Enabling independent, parallel work on a distributed OPM model Keeping the model integrity

16 Problem: OPM interconnectivity
OPDs in the OPD set are interconnected. OPDs can share common entities (objects, processes or states), each change in a common entity potentially influences other OPDs.

17 Problem Example Modeler A Modeler B SD ≠? SD1 SD2

18 OPCATeam Architecture

19 Security Three access permission levels: The diagram permissions
workgroup OPM model diagram. The diagram permissions Reduce the number of conflicts between concurrent updates Prevent designers from affecting shared elements while allowing them to refine these elements.

20 The Model Manager Handles concurrent development of OPM models
Uses a central repository and a concurrent update mechanism. Allows simultaneous user updates to a single OPM model Includes a version control function that logs updates and enables revision control.

21 Access Control Workgroup access level OPM model access level
Admin Create OPM model View workgroup OPM model access level Commit model View OPM mode OPD access level Edit OPD Refine OPD view OPD

22 Access Control example (1)

23 Access Control example (2)

24 The OPCATeam Client Identical with the single-user OPCAT :
Supports OPM Visually Textually Logically Interface to collaboration utilities: Server communication Chat Presence window Runs the access control mechanism.

25 Implementation Overview

26 Server: Collaborative Session
Users can create Collaborative Session on a model according to their permissions. A user can participate in one session at a time. Users can collaborate by sharing the same session. Sharing is enabled by giving permission A session has a “Token Holder” - the current model editor. The token is passed between the authorized session participants. The session can be committed only by a team member that holds committing authorization. The session data and metadata is saved on the server.

27 Server: Administration
Local administration Create/Update/Disable workgroups,models,sessions. Handle the session: login, save, commit Global administration Handled through a web interface. Disable/Enable/Update/Delete workgroups, users, models, sessions Provide statistics.

28 Server: Version Control
Provide basic version control functionality: Get latest version Check out file Check in file Get file status File can be checked out by one or more users. Once file had been checked in, it gets a new version number. The date and author are saved. The current implementation uses built-in version control module.

29 Technologies JBoss J2EE Application Server
AXIS Web Services Implementation Using the SOAP protocol JMS – Java Message Service MySQL/InnoDB

30 New Collaboration Products
Poseidon for UML has announced a new product “Enterprise Edition: UML in Teams“ in March 2004 Collaboration on models. The team is synchronized in real time. Multi-user interaction. Version control. Rational Rose and Rhapsody base their collaborative features on standard version control software. Concurrency is achieved by breaking the modules into separate files. This type of solution does not suit OPM, because of the strong connections between the diagrams.

31 Comparison Chart OPCATeam Poseidon Rhapsody Architecture Client-Server
Stand Alone version Concurrent development restricted merge utility ---- Strong diffmerge utility Permissions mechanism Robust mechanism, define specific model levels Restricted: built on top of NetMeeting, CM tool CM support Built In Revision Control. Support CVS Support CVS (through the admin utility) Supports most of the leading CM products Administration Web Admin, secured. Client Admin , not secured. Collaboration: 1.File updated 2.Presence window 3.Chat 4.Session Concept Through Token- time restricted editor at a time. Built In persistent Online sync, locks can be taken for ever. Restricted- only lockers Restricted: non persistent Based on NetMeeting: User has to request the editing permission. Manually, not model-based Restricted- no sys msgs.

32 Summary OPCATeam implementation follows the guidelines:
Concurrent work is achieved through a collaborative session and a merge utility Security is achieved through the access control mechanism Communication is achieved through the collaborative session, chat room, and presence window.

33 Future work Collaborative aspects: Concurrency aspect: Web aspect:
Implement OPD permission level Implement execution stack on the server (replace the token mechanism, allows semi-concurrent updates) Concurrency aspect: Improve the merge utility Web aspect: Create a user portal (today only admin portal supported) Near future tasks: Port the code from JBoss to IBM WebSphere. Define groups , each user has to be part of one or more groups Support GUID and transactions managing investigate native security aspects in J2EE


Download ppt "OPCATeam OPM-based Collaborative Systems Modeling"

Similar presentations


Ads by Google