Distributed, Collaborative Processing System (COBRA Virtual Office)

Slides:



Advertisements
Similar presentations
Map of Human Computer Interaction
Advertisements

Knowledge Based Synthesis of Control for Distributed Systems Doron Peled.
Principles of Engineering System Design Dr T Asokan
Interaction Modeling for Testing We would generate the test cases based on our understanding of the interactions that may happen. The source is, again,
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
SWE Introduction to Software Engineering
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
Petri Nets Overview 1 Definition of Petri Net C = ( P, T, I, O) Places P = { p 1, p 2, p 3, …, p n } Transitions T = { t 1, t 2, t 3, …, t n } Input.
Introduction To System Analysis and Design
DisplayWall Software Architecture Yuqun Chen, Grant Wallace, Kai Li.
SYSTEMS DEVELOPMENT Phases, Tools, and Techniques
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
SE-565 Software System Requirements More UML Diagrams.
Chapter 10: Architectural Design
Project Management and Scheduling
Software Design Processes and Management
Chapter 10 Architectural Design
程建群 博士(Dr. Jason Cheng) 年03月
Rational Unified Process Fundamentals Module 4: Disciplines II.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Chapter 7 Integration of Information The Strategic Management of Information Technology.
An Introduction to Software Architecture
System Development Process Prof. Sujata Rao. 2Overview Systems development life cycle (SDLC) – Provides overall framework for managing system development.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Introduction To System Analysis and Design
Project Management: A Managerial Approach
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Design Concepts By Deepika Chaudhary.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Collecting requirements – Different methods Defining scope – Estimates for all resources Creating the WBS – Different approaches Verifying scope – Formal.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Petri Nets Lecturer: Roohollah Abdipour. Agenda Introduction Petri Net Modelling with Petri Net Analysis of Petri net 2.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Prof. Hany H. Ammar, CSEE, WVU, and
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Prototyping Creation of concrete but partial implementations of a system design to explore usability issues.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
Overview of Software Project Management cont Review – Class 6 Scheduling Tasks Project Management Activities CEN 4010 Class 8 – 09/22.
Project Management Techniques
UNIT 1.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
CAP 4800/CAP 5805: Computer Simulation Concepts
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
Dynamic Modeling Lecture # 37.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
STATE MACHINE AND CONCURRENT PROCESS MODEL
Presentation transcript:

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