CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

Architecture Representation
Advantage Data Dictionary. agenda Creating and Managing Data Dictionaries –Tables, Indexes, Fields, and Triggers –Defining Referential Integrity –Defining.
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
eGovernance Under guidance of Dr. P.V. Kamesam IBM Research Lab New Delhi Ashish Gupta 3 rd Year B.Tech, Computer Science and Engg. IIT Delhi.
Chapter 1: Overview of Workflow Management Dr. Shiyong Lu Department of Computer Science Wayne State University.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Course Instructor: Aisha Azeem
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
Enterprise Resource Planning
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
© 2009 IBM Corporation 1 RTC ClearQuest Importer and Synchronizer Lorelei Ngooi – RTC ClearQuest Synchronizer Lead.
Database Systems: Design, Implementation, and Management Ninth Edition
 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California.
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based.
1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
 Fast Conflict Detection for Jae young Bang March 8 th, 2011 Remote Collaborative Software Modeling.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC October 20th Jae young George.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Managing Enterprise GIS Geodatabases
2015 NetSymm Overview NETSYMM OVERVIEW December
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Steven Perry Dave Vieglais. W a s a b i Web Applications for the Semantic Architecture of Biodiversity Informatics Overview WASABI is a framework for.
CS223: Software Engineering
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
OSIsoft High Availability PI Replication Colin Breck, PI Server Team Dave Oda, PI SDK Team.
FESA Overview Leandro Fernandez On behalf of the FESA Team 6/22/2010FESA Overview1.
Integrated ALM with Cross-Tool Reporting Kovair Marketing Kovair Software Copyright ©
1 The XMSF Profile Overlay to the FEDEP Dr. Katherine L. Morse, SAIC Mr. Robert Lutz, JHU APL
Building Enterprise Applications Using Visual Studio®
A Framework for Object-Based Event Composition in Distributed Systems
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
The Extensible Tool-chain for Evaluation of Architectural Models
Cloud Data Replication with SQL Data Sync
Fast Conflict Detection for
DAT381 Team Development with SQL Server 2005
Automated Analysis and Code Generation for Domain-Specific Models
Chapter 5 Architectural Design.
Presentation transcript:

CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC George Edwards, USC Daniel Popescu, USC Joshua Garcia, USC Jerry Lin, USC Prof. Nenad Medvidovic, USC Naveen Kulkarni, Infosys Girish Maskeri Rama, Infosys Dr. Srinivas Padmanabhuni, Infosys

Outline Motivation Overview: CoDesign/CoWare System Architecture: CoDesign/CoWare Features Synchronization Conflict Definition Conflict Detection Conflict Resolution Future Work

Motivation Software development is a complex, collaborative activity This is particularly the case with software design This becomes a problem for distributed development teams Particularly prevalent in large, multinational development organizations such as Infosys Support for collaborative software development is still nascent IBM Jazz, MS CollabVS Difficult to make existing stand-alone tools collaborative Lack of ability to scale across entire enterprise

Overview: CoDesign/CoWare Research Objectives 1.Designs, patterns and frameworks for a highly distributed, scalable collaborative modeling platform 2.Novel methods and algorithms to detect and resolve syntactic and semantic conflicts of modeling language Project Summary Collaborative, extensible software modeling framework Real-time synchronization & conflict detection Efficiency and scalability among geographically distributed software system designers CoDesign: A tool that captures design decisions CoWare: Lightweight integration infrastructure

CoDesign/CoWare Architecture CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client CoDesign CoWare Client

CoDesign/CoWare Architecture Architect-sideServer-side GME CoDesign (GME Plug-in) New Events CoWare Client CoWare Server User Database DB Connector Conflict Notifications & Broadcasted Events User Information & New Events User Information Prism Connector Conflict Detector Conflict Notifications Events that don’t have conflicts Event Handler Update Handler CoDesign/CoWare Connector Login GUI User Management Architect New Events User Information Clean Events GME API (BON) Prism Connector User Information New Events Clean Events Event Queue Drools Model Database FactsRules ConflictsEvents ImportExport Generic Modeling Environment From Vanderbilt University Software Modeling Tool Generic Modeling Environment From Vanderbilt University Software Modeling Tool Drools From JBoss Community Business Logic Integration Platform Drools From JBoss Community Business Logic Integration Platform Prism-MW From SoftArch, USC Lightweight Middleware Prism-MW From SoftArch, USC Lightweight Middleware

Conflict Definition: Categorization 1.Synchronization Conflicts Occur due to latency between distributed architects Cannot be applied to the model without violating model syntax or semantics 2.Parallel Modification Multiple architects modify the same or related object(s) Not necessarily a syntactic or semantic error, but indicates the possibility of conflicts due to uncoordinated work Model Object Architect A Destroy Architect B Move Model Object Architect A Change Location Architect B Modify Name

Conflict Definition: Representation Formal description of event sequences that create conflicts: A Conflict Sequence >> Event(1) [Verb(1) Object(1)], Event(2) [Verb(2) Object(2)] where the arrival time T of Event(2) is later than the T of Event(1) e.g. Event1 [ DESTROY ClassC ], Event2 [ CHANGE LOCATION ClassC ] Drools Rules Representation (Simplified) when $event1 : Event(eventType == "DESTROYED") $event2 : Event(arrival > $event1.arrival) then handleConflict($event1, $event2); end

Conflict Resolution Automatically Resolvable Resolved internally and transparently by CoDesign/CoWare E.g. DESTROY and DESTROY The 2 architects have the same intention E.g. CREATE and CREATE The 2 new objects have the same object ID Not Automatically Resolvable Notify relevant architects and facilitate communication E.g. DESTROY and CHANGE LOCATION

Features: Live Demo Settings CoWare Server Computer Science Building at USC CoWare Client One instance at Infosys, Bangalore, India Another instance here CoDesign Along with the modeling tool: GME 7 Features Synchronization between CoDesign instances Conflict Detection & Resolution

Summary In the Demo Synchronization between CoDesign Instances Conflict Detection and Resolution Summary Collaborative Software Modeling Infrastructure Architecture Formal Definition of Conflicts Categories of Conflicts: Synchronization Conflicts, Parallel Modification Resolution Types: Automatically Resolvable, Human Intervention

Future Work Exploration of the type and nature of conflicts Causes of conflicts and relationships between conflict types and modeling activities Automatic inference of conflicts from formal language definitions (meta-models) Conflicts caused by complex event sequences (e.g., 3 or more parallel events) Evolution of the CoDesign architecture Focus on scalability, efficiency, extensibility Simulation and analysis for architecture evaluation and validation Continue implementation of the architecture Testing under globally distributed settings

THANK YOU SoftArch, USC

Appendix: CoDesign GME List of Verbs Destroy Create Change Properties Change Location Move (to another object) Create Connection Destroy Connection Create Reference Remove Reference Change Reference Add to Set Remove from Set

Appendix: CoDesign GME List of Objects Object Project Folder Model Atom Reference Set

Appendix: CoDesign GME Found Conflict Sequences (1) DESTROY – DESTROY DESTROY – CHANGE PROPERTIES DESTROY – CHANGE LOCATION DESTROY – CREATE CONNECTION DESTROY – CREATE PORT DESTROY – DESTROY PORT DESTROY – CREATE REFERENCE DESTROY – REMOVE REFERENCE DESTROY – CHANGE REFERENCE DESTROY – ADD TO SET DESTROY – REMOVE FROM SET CREATE – CREATE (Duplication Object IDs)

Appendix: CoDesign GME Found Conflict Sequences (2) MOVE – DESTROY MOVE – CHANGE PROPERTIES MOVE – CHANGE LOCATION MOVE – CREATE CONNECTION MOVE – DESTROY CONNECTION MOVE – CREATE PORT MOVE – DESTROY PORT MOVE – CREATE REFERENCE MOVE – REMOVE REFERENCE MOVE – CHANGE REFERENCE MOVE – ADD TO SET MOVE – REMOVE FROM SET