OPCATeam OPM-based Collaborative Systems Modeling BPM 2004 Dov Dori, Dizza Beimel, Eran Toch Technion, Israel Institute of Technology
Agenda: OPM Overview OPCATeam Project Goals Problem Specification OPCATeam Architecture Implementation Summary and Future Work
What is OPM - Object-Process Methodology? A comprehensive paradigm for modeling engineering lifecycle support of complex, multi-disciplinary systems
OPM’s Building Blocks are Things: Objects and Processes
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
A process changes an object state
A process generates a new object
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)
Resources: OPM book Dov Dori Object-Process Methodology - A Holistic Systems Paradigm, Springer Verlag, Berlin, Heidelberg, New York, 2002
Resources: OPM Website www.ObjectProcess.org Free OPCAT downloads Publications
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.
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
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
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.
Two conflicting requirements Enabling independent, parallel work on a distributed OPM model Keeping the model integrity
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.
Problem Example Modeler A Modeler B SD ≠? SD1 SD2
OPCATeam Architecture
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.
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.
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
Access Control example (1)
Access Control example (2)
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.
Implementation Overview
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.
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.
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.
Technologies JBoss J2EE Application Server AXIS Web Services Implementation Using the SOAP protocol JMS – Java Message Service MySQL/InnoDB
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.
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.
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.
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