CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.

Slides:



Advertisements
Similar presentations
A component- and message-based architectural style for GUI software
Advertisements

Architecture Representation
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
ARCHITECTURAL RECOVERY TO AID DETECTION OF ARCHITECTURAL DEGRADATION Joshua Garcia*, Daniel Popescu*, Chris Mattmann* †, Nenad Medvidovic*, and Yuanfang.
Announcements Course project is on-going  Part 1 / Phase 1 description has been updated (typo in the submission filename convention) HW2 grades are out.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Cataloging and Detecting Architectural Bad Smells Joshua Garcia, Daniel Popescu, and Nenad Medvidovic, University of Southern California Yuanfang Cai,
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
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
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
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.
Modeling challenges: Model consistency (1) Dealing with inconsistent requirements models/specifications: –Caused by multiple sets of stakeholders (saying.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
ATSN 2009 Towards an Extensible Agent-based Middleware for Sensor Networks and RFID Systems Dirk Bade University of Hamburg, Germany.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Collaborative Software Engineering – Awareness and Concurrency Agam.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
The six Centripetal Forces For Successful Global Software Teams  Telecommunications Infrastructure  Product Architecture  Team Building  Development.
Course Instructor: Aisha Azeem
System Integration Management (SIM)
Domain-Specific Software Engineering Alex Adamec.
Włodzimierz Funika, Filip Szura Automation of decision making for monitoring systems.
 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus.
Object-Oriented Implementation of Reconciliations M.Sc. Seminar Talk by Costa Shapiro under supervision of Prof. Shmuel Katz Computer Science – Technion.
An Introduction to Software Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
 Fast Conflict Detection for Jae young Bang March 8 th, 2011 Remote Collaborative Software Modeling.
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.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
TAL7011 – Lecture 4 UML for Architecture Modeling.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
Dynamic and Selective Combination of Extension in Component-based Applications Eddy Truyen, Bart Vanhaute, Wouter Joosen, Pierre Verbaeten, Bo N. Jørgensen.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Slide 13.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
® IBM Software Group © 2004 IBM Corporation Developing an SOA with RUP and UML 2.0 Giles Davies.
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.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
Prof. Hany H. Ammar, CSEE, WVU, and
CS223: Software Engineering Lecture 14: Architectural Patterns.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
A Vision for Integration of Embedded System Properties Via a Model-Component-Aspect System Architecture Christopher D. Gill Department.
Cyberinfrastructure Overview of Demos Townsville, AU 28 – 31 March 2006 CREON/GLEON.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
UML (Unified Modeling Language)
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Integrated ALM with Cross-Tool Reporting Kovair Marketing Kovair Software Copyright ©
Building Enterprise Applications Using Visual Studio®
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
Fast Conflict Detection for
An Introduction to Software Architecture
Automated Analysis and Code Generation for Domain-Specific Models
Challenges in Implementing Software Architectures
Presentation transcript:

CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George Daniel Popescu Prof. Nenad Medvidovic Naveen Kulkarni Girish Maskeri Dr. Srinivas Padmanabhuni

Outline Motivation Overview of the project System Architecture of CoDesign Analysis in Design-time Issues upon Collaboration Conflict Categorization Conflict Detection Techniques Future Work Video Demonstration

Motivation Large, multinational SW companies off-shore To emerging economies such as India and China Many stakeholders remain in developed countries Results in globally distributed software development teams Communication challenges must be overcome Current collaborative IDEs have shortfalls Traditional “check-in” SCM tools have to check-in Collaborative IDEs primarily focused on distributed programming, architecture design and modeling are not readily supported

Overview: CoDesign Research Objectives 1.Designs, patterns and frameworks for a highly extensible conflict detection framework for collaborative modeling 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

Design-time Issues upon Collaboration 1.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

Conflicts Categorization 1.Synchronization Conflicts Can be resolved with little or no human intervention Simple conflicts caused by synchronization latency e.g., delete-move conflict 2.Syntactic Conflicts Violate a modeling tool’s or language’s meta-model constraints e.g., cardinality constraints violation 3.Semantic Conflicts Unlike the two above, reflect violations in the intended, implicit rules that a system’s model should abide e.g., violations against the style of the model

CoDesign Architecture High-Level Architecture of CoDesign Event-based architecture Exchanges messages via implicit invocation Pair the most appropriate consistency checkers

CoDesign Architecture The double-lined polygons represent off-the-shelf software. 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

Summary Collaborative Software Modeling Infrastructure Architecture Design-time Issues: Conflicts, Parallel Modification Categories of Conflicts Synchronization, Syntactic, Semantic

Future Work Exploration of the type and nature of conflicts Causes of conflicts and relationships between conflict types and modeling activities Conflicts caused by complex event sequences (e.g., 3 or more parallel events) Conflict Resolution Toward automated conflict resolution over conflict identification Continue implementation of the architecture Testing under globally distributed settings Testing in scalability

Features: Demonstration Video Settings CoWare Server and the Drools engine at USC Two CoDesign Instances Along with the modeling tool: GME 9 Features Synchronization between CoDesign instances Conflict Detection Process

Contacts & References Jae young Bang Nenad Medvidovic 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)CoDesign – A Highly Extensible Collaborative Software Modeling Framework Thank you!

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