Distributed, Collaborative Processing System (COBRA Virtual Office)
Distributed, Collaborative Processing Systems –Some Prospects E-Commerce B2B and B2C -Collaborative Product design -Collaborative Product decision Software Engineering Environments -Distributed Collaborative system design space Group communication -Net meeting -PDA, PCS etc -Virtual class rooms Personal entertainment -On-line video games
Multiple users at different locations can work on one design collaboratively and simultaneously. No travel and no delay. Higher Productivity, Lower cost, Better Traceablity.
COBRA= Collaborative behavioral Requirement and Architecture FOR Modeling requirements Designing architecture Evaluating existing architectures/components if they can meet new requirements Monitoring projects
The System Provides Communication of Knowledge Simulation Project Management Traceability
History of COBRA Started in 1994 as a research prototype Initial implementation in c/c++ and tc/tlk Current implementation in Java
Main Challenges seen previously Poor documentation of the system Insufficient communication when projects passed from semester to semester. Poor communication among members resulting in integration problem Reinventing the wheel due to poor code comments.
The system is implemented using Java/JavaBeans so as to enhance platform-independence, interoperability, composability (plug-and-play), and distributability. Platform Independency
The system will be used to model the behavior of a variety of system types, including a mobile communication system. Hence, we will be using a particular scenario for the particular system chosen to be modeled. System Applications
Usecase for COBRA system
Cobra Virtual Office Functionalities Constructing Augmented Petri-Net (FSM) for System Behavior Modeling Constructing PERT Chart for Project Scheduling and management
As a test-bed, we are working on the modeling and analysis of system behavior using Augmented Petri Net (APN), a formalism which is expressively more powerful than Finite State Machines. Constructing Augmented Petri-Net
More about Augmented Petri-Net A form of FSMs, first proposed by C. A. Petri in 1962 A notation for defining abstract concurrent processes Primitives: Place Transition Token T When all input places of a transition are enabled (i.e., with a token) and the external stimulus associated with the transition occurs, the tokens move from the input places to output places
Fundamental notions: Sequencing T2 T1 T2T1 Concurrency T2 T3 Synchronization T1 T3
ONTARIO Site TEXAS Site NORTH CAROLINA Site
Collaborative Processing (view from Texas) Public Window TX Window
Collaborative Processing (view from Ontario) Public Window ON Window
Collaborative Processing (view from North Carolina) Public Window NC Window
Simulation The system’s simulation functionality represent the behavior of Petri-net
Simulation (Cont’)
Another Aspect of the Virtual Office Monitoring and Scheduling Projects Using PERT Chart
Why Do We Need PERT Chart Allows users to express time dependencies for project tasks Analyze the project critical path Tracks project progress to ensure that delay is recognized Provides a road map for a project manager
How to Represent a PERT Chart in This System The COBRA Virtual Office has functionality of constructing Augmented Petri-Net (APN), and allows system behavior simulation Traditional PERT Chart representation lacks dynamic functionality to monitor project progress A mapping from PERT chart to Augmented Perti-Net is proposed for the ease of project progress simulation
Figure 1: PERT Chart Representation Numbered rectangles are nodes that represent events or milestones Directional arrows represent tasks that must be completed sequentially Diverging arrow directions indicate possibly concurrent tasks Dotted lines indicate dependent tasks that do not require resources Create Schedule Buy Hardware Programming Installation Test Code Write Man Conversion Test System TrainingUser Test An Example
Numbered rectangles are nodes that represent states of a project Directional arrows represent moving from one state to another Vertical bars represent transitions from one state to another 1 1’ ’ Schedule ۸ ~done /reminder Hardware ۸ ~done /reminder Programming ۸ ~done ۸ ~done /reminder Installation ۸ ~done /reminder man ۸ ~done /reminder conversion ~done /reminder Training ۸ ~done /reminder User test ۸ ~done /reminder Code test ۸ ~done /reminder system test done Figure 2: APN Representation An Example (Cont’)
COBRA architecture