 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California.

Slides:



Advertisements
Similar presentations
Manuela Veloso, Anthony Stentz, Alexander Rudnicky Brett Browning, M. Bernardine Dias Faculty Thomas Harris, Brenna Argall, Gil Jones Satanjeev Banerjee.
Advertisements

Announcements Course project is on-going  Part 1 / Phase 1 description has been updated (typo in the submission filename convention) HW2 grades are out.
Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,
Visual Studio Team System (VSTS). Richard Hundhausen Author of software development books Microsoft Regional Director Microsoft MVP (VSTS) MCT, MCSD,
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC
Software Architecture Research and Practice Nenad Medvidovic University of Southern California
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
C S E USC CBSP Bridging Requirements and Architecture Models Paul Grünbacher Center for Software Engineering University of Southern California, Los Angeles.
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.
Smart Redundancy for Distributed Computation George Edwards Blue Cell Software, LLC Yuriy Brun University of Washington Jae young Bang University of Southern.
Identifying Architectural Bad Smells Joshua Garcia, Daniel Popescu, George Edwards and Nenad Medvidovic University of Southern California.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Collaborative Software Engineering – Awareness and Concurrency Agam.
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Requirements Management for Net-Centric Enterprises: An Overview Doug Bodner*, Nenad Medvidovic+, Barry Boehm+, Jo Ann Lane+, Bill Rouse*, George Edwards+,
VS Anywhere. Visual Studio Industry Partner VS Anywhere NEXT STEPS Contact us at: Websitehttps://vsanywhere.com Blog- Facebook.
26 Sep 2003 Transparent Adaptive Resource Management for Distributed Systems Department of Electrical Engineering and Computer Science Vanderbilt University,
Monitoring Latency Sensitive Enterprise Applications on the Cloud Shankar Narayanan Ashiwan Sivakumar.
Windows Azure Team 9 Ben Holland Bao Nguyen Eric Petrowiak Barret Schloerke.
International Conference on Software Engineering 2007
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
1 06/00 Questions 10/6/2015 QoS in DOS ECOOP 2000John Zinky BBN Technologies ECOOP 2000 Workshop on Quality of Service in Distributed Object Systems
 Fast Conflict Detection for Jae young Bang March 8 th, 2011 Remote Collaborative Software Modeling.
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila.
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.
Visual Studio 2005 Team Edition for Software Architects: Developing Service-Oriented Systems Bill Gibson Senior Program Manager Enterprise Tools Microsoft.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Presented By Riyadh Mahmood 3/2/2010 Software Architecture Styles for Network-based Applications Original Paper by: Roy T. Fielding.
1 Computing Challenges for the Square Kilometre Array Mathai Joseph & Harrick Vin Tata Research Development & Design Centre Pune, India CHEP Mumbai 16.
Server to Server Communication Redis as an enabler Orion Free
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Client/Server Computing
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Visual Studio Team System overview Pierre Greborio Software Architect – PEWay Microsoft MVP – Solutions Architect.
RIA to visualize the health of a project Team #4 Midterm presentation February 28,2008.
CLM Case Study An investigation of deployment options for IBM Rational Team Concert in a ClearCase/ClearQuest environment July 18, 2011 Michael Gormley.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
May 7-8, 2007ICVCI 2007 RTP Autonomic Approach to IT Infrastructure Management in a Virtual Computing Lab Environment H. Abdel SalamK. Maly R. MukkamalaM.
Eclipse.NET An Integration Platform for ProjectIT-Studio João Saraiva IST & INESC-ID (GSI)
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
IBM Academic Initiative JazzHub Overview John Schilt Lead, IBM Academic Initiative Australia / New Zealand UNSW and IET (Young Professionals)
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
CIM Modeling for E&U - (Short Version)
Software Connectors.
CAE-SCRUB for Incorporating Static Analysis into Peer Reviews
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Tools for Composing and Deploying Grid Middleware Web Services
The Extensible Tool-chain for Evaluation of Architectural Models
Core Platform The base of EmpFinesse™ Suite.
Cloud Data Replication with SQL Data Sync
Fast Conflict Detection for
DAT381 Team Development with SQL Server 2005
Guided Research: Intelligent Contextual Task Support for Mails
Automated Analysis and Code Generation for Domain-Specific Models
Jena HBase: A Distributed, Scalable, Efficient RDF Triple Store
Jena HBase: A Distributed, Scalable, Efficient RDF Triple Store
Microsoft Azure Services Platform
Presentation transcript:

 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California Daniel Popescu George Edwards Prof. Nenad Medvidovic Naveen Kulkarni Girish M. Rama Dr. Srinivas Padmanabhuni

Trends 2 Globally distributed software development Large, multinational software companies Emerging economies (India and China) Widely distributed stakeholders Communication and coordination challenges

Collaborative Development Current collaborative development tools Traditional software configuration management (SCM) tools Based on check-in/check-out paradigm Incur redundant work and wasted effort Next-generation collaborative integrated development environments (IDEs) Oriented toward distributed programming, not architecture design and modeling Software architects still use traditional SCM tools to coordinate model changes 3

CoDesign Project Motivation Infosys – a globally distributed software developer Use many proprietary/legacy/domain-specific tools Found existing collaborative tools are coupled to specific IDEs and lack extensibility e.g., IBM Jazz (Eclipse) and MSR CollabVS (Visual Studio) 4

CoDesign Project Motivation Identified a need for a collaborative tool that allows: 1. Arbitrary client applications (front-end) 2. Client-specific management functions (back-end) 5

CoDesign Project Goals Extensible collaborative software modeling framework Real-time synchronization & conflict detection Scalability of models and users Objectives: Understand collaborative modeling issues Define methods and processes to resolve issues Develop designs and patterns for distributed model management and conflict detection 6

Collaborative Design Issues Multiple architects unknowingly modify related objects Caused by latency and lack of communication Two different types of issues Parallel modification Changes are compatible, but architects should be alerted Model conflicts Changes are not compatible, and must be resolved Three types: Synchronization Syntactic Semantic 7

Parallel Modification 8

Synchronization Conflicts Simple conflicts caused by latency Can be resolved with little or no human intervention 9 !

Conflicts that violate modeling tool’s or language’s constraints Syntactic Conflicts 10 Metamodel defines an Ethernet Router can only have 0 to 4 Port(s) !

Semantic Conflict Either can be the server or the client; not both The one that makes requests be the client This can be defined using OCL 11

Semantic Conflict 12 !

Implication Different types of conflicts require different types of conflict detection engines Synchronization, Syntactic, Semantic Conflict detection engines must be chosen based on the model tools and languages used Extensible collaborative tool is in need 13

CoDesign Implementation 14 GME: software modeling tool from Vanderbilt Univ. CoWare: lightweight integration platform for CoDesign Drools: business logic integration platform from jBoss community

Event Distribution 15 Design Decision Broadcast “clean” event to the other architects Or, send conflict notification To the involved architects

Ongoing Work Investigate of the type and nature of conflicts Causes of conflicts More complex conflicts Experiment with conflict resolution processes Automated or semi-automated Win-win negotiation Implement adaptive scope for parallel modification warnings Based on usage profile and feedback 16

Contributions Collaborative software modeling framework Real-time synchronization Extensible architecture Categorization of collaboration issues and conflicts Parallel modification vs. model conflicts Synchronization, syntactic, and semantic conflicts Efficient and scalable conflict detection 17

Demonstration Demo setup: Machine 1 CoWare Server Conflict detection engines Machine 2 Two virtual machines CoWare Client/CoDesign Adapter/GME Modeling Tool Capabilities shown: Synchronization between CoDesign instances Conflict detection and notification 18

Contacts & References Jae young Nenad Medvidovi ć Jae young Bang, Daniel Popescu, George Edwards, Nenad Medvidovic, Naveen Kulkarni, Girish M. Rama, and Srinivas Padmanabhuni, CoDesign – A Highly Extensible Collaborative Software Modeling Framework, Proceedings of the Research Demonstration Track at the 32nd International Conference on Software Engineering (ICSE10) Thank you! 19

Backup Slides 20

Overview 1. Background and Motivation 2. Project Goals 3. Collaborative Design Conflicts 4. CoDesign Architecture and Implementation 5. Ongoing Work 6. Live Demonstration 21

Current Tools Collaborative modeling tools IBM Jazz Tightly coupled with Eclipse Microsoft Research CollabVS Tightly coupled with Microsoft Visual Studio No open platform available for integration of existing tools How can we detect and resolve design-time issues? Infosys had issues in extensibility 22

CoDesign Architecture 23 Generic Modeling Environment From Vanderbilt University Software Modeling Tool Drools From JBoss Community Business Logic Integration Platform Prism-MW From SoftArch, USC Lightweight Middleware

Semantic Conflicts Conflicts that violate the intended meaning of a model 24 Intended model: only clients can request Constraint defined using OCL Cloud cannot make requests; it is against the rule !

Conflicts that violate the intended meaning of a model Semantic Conflicts 25 !