OPCATeam OPM-based Collaborative Systems Modeling

Slides:



Advertisements
Similar presentations
.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
Advertisements

Welcome to Middleware Joseph Amrithraj
Database System Concepts and Architecture
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
Unveiling ProjectWise V8 XM Edition. ProjectWise V8 XM Edition An integrated system of collaboration servers that enable your AEC project teams, your.
Realizing OPM Philosophy in the Context of Full Life- Cycle Support Avi Soffer Technion, Israel Institute of Technology Thesis Advisor: Prof. Dov Dori.
WebSphere Diego Leone. Summary Story and birth What is WebSphere?/Goals Main features Advantages/Disadvantages Conclusions.
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Concurrency Control & Caching Consistency Issues and Survey Dingshan He November 18, 2002.
Source Control Repositories for Enabling Team Working Svetlin Nakov Telerik Corporation
Chapter 1 The Systems Development Environment
GMD German National Research Center for Information Technology Innovation through Research Jörg M. Haake Applying Collaborative Open Hypermedia.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
An Introduction to Software Architecture
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 10: Service Component Architecture.
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
Information Systems and Network Engineering Laboratory II DR. KEN COSH WEEK 1.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Systems Analysis and Design in a Changing World, 3rd Edition
Session 9 Component and Deployment. OOAD with UML / Session 9 / 2 of 17 Review State Diagrams represent the software entities in terms of their states.
Section 11: Implementing Software Restriction Policies and AppLocker What Is a Software Restriction Policy? Creating a Software Restriction Policy Using.
Page 1 © 2001, Epicentric - All Rights Reserved Epicentric Modular Web Services Alan Kropp Web Services Architect WSRP Technical Committee – March 18,
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
 What are CASE Tools ?  Rational ROSE  Microsoft Project  Rational ROSE VS MS Project  Virtual Communication  The appropriate choice for ALL Projects.
SWGData and Software Access - 1 UCB, Nov 15/16, 2006 THEMIS SCIENCE WORKING TEAM MEETING Data and Software Access Ken Bromund GST Inc., at NASA/GSFC.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
22 Copyright © 2008, Oracle. All rights reserved. Multi-User Development.
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Project SCS a lightweight source control system for Windows platforms.
J2EE Platform Overview (Application Architecture)
Databases (CS507) CHAPTER 2.
WebSphere Diego Leone.
Information Systems and Network Engineering Laboratory II
OPCAT: Object-Process CASE Tool
Working in the Forms Developer Environment
Component and Deployment
Client/Server Databases and the Oracle 10g Relational Database
Using E-Business Suite Attachments
Overview of MDM Site Hub
OPM/S: Semantic Engineering of Web Services
A synchronized protocol for distributed collaborative modeling
Distribution and components
Concurrent Version Control
Chapter 2 Database Environment Pearson Education © 2009.
Viney Sindhu Dr. Yanqing Zhang
Service-centric Software Engineering
Enterprise Service Bus (ESB) (Chapter 9)
Design and Programming
Database Environment Transparencies
Analysis models and design models
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Enterprise Program Management Office
.NET vs. J2EE Architecture
An Introduction to Software Architecture
4+1 View Model of Software Architecture
Chapter 15: File System Internals
AIMS Equipment & Automation monitoring solution
Developing and testing enterprise Java applications
Concurrent Versions System
4+1 View Model of Software Architecture
New Tools In Education Minjun Wang
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
SDMX IT Tools SDMX Registry
Presentation transcript:

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