330 likes | 450 Views
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.
E N D
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 Object Process
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
OPM has a single model with abimodal 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 Websitewww.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
Security • Three access permission levels: • 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 • Admin • Create OPM model • View workgroup • OPM model access level • Admin • Commit model • View OPM mode • OPD access level • Admin • Edit OPD • Refine OPD • view OPD
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.
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.
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: • 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