|M.Sc Student||Dizza Beimel|
|Subject||OPM-based Collaborative Systems Modeling with|
|Department||Department of Industrial Engineering and Management||Supervisor||Full Professor Dori Dov|
While collaboration has become a basic requirement for many development environments, solutions for collaborative modeling are far from being satisfactory. OPCATeam provides a collaborative modeling environment that can fit generic modeling purposes using Object-Process Methodology (OPM). OPM, a holistic, bi-modal visual and textual approach to the study and development of systems, integrates the object-oriented and process-oriented paradigms into a single frame of reference. These characteristics, combined with refinement and abstraction mechanisms, make OPM an ideal basis for a generic modeling framework. The main challenge lies in allowing parallel work with interconnected OPDs. In an OPD, each entity can be refined in a new OPD that contains a detailed description of the entity. When an entity is refined, all the elements that were connected to it are referenced in the detailed OPD. Therefore, OPDs might share common entities. The problem arises when more than two users work concurrently on two OPDs that share the same entity. OPCATeam features a multi-user Client-Server architecture. The server holds a single OPM model for each modeled system in a central repository. OPCATeam provides three access permission levels: workgroup, OPM model, and diagram. Users can simultaneously update the model through the clients according to their access permissions. The diagram permission level, which is unique to OPM, reduces the number of conflicts between concurrent updates and prevents modelers from affecting shared elements while allowing them to refine these elements. The OPCATeam collaborative environment has been implemented using state-of-the-art J2EE technologies and Web services. The work contains a comprehensive account of the OPCATeam project, including background, technologies, solutions, specification, implementation, and open problems.