codesign a highly extensible collaborative software modeling framework

17
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young Bang ([email protected] ) George Edwards ([email protected] ) Daniel Popescu ([email protected] ) Prof. Nenad Medvidovic ([email protected] ) Naveen Kulkarni ( [email protected] ) Girish Maskeri Rama ([email protected] ) Dr. Srinivas Padmanabhuni ( [email protected] )

Upload: jaxon

Post on 23-Feb-2016

53 views

Category:

Documents


0 download

DESCRIPTION

CoDesign A Highly Extensible Collaborative Software Modeling Framework. Jae young Bang( [email protected] ) George Edwards( [email protected] ) Daniel Popescu ( [email protected] ) Prof. Nenad Medvidovic ( [email protected] ). Naveen Kulkarni ( [email protected] ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CoDesign A Highly Extensible Collaborative Software Modeling Framework

CoDesignA Highly Extensible Collaborative Software Modeling Framework

SoftArch, USCMarch, 2010

Jae young Bang ([email protected])George Edwards ([email protected])Daniel Popescu ([email protected])Prof. Nenad Medvidovic ([email protected])

Naveen Kulkarni ([email protected])Girish Maskeri Rama ([email protected])Dr. Srinivas Padmanabhuni ([email protected])

Page 2: CoDesign A Highly Extensible Collaborative Software Modeling Framework

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

Page 3: CoDesign A Highly Extensible Collaborative Software Modeling Framework

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

Page 4: CoDesign A Highly Extensible Collaborative Software Modeling Framework

Overview: CoDesign

• Research Objectives1. 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

Page 5: CoDesign A Highly Extensible Collaborative Software Modeling Framework

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

Page 6: CoDesign A Highly Extensible Collaborative Software Modeling Framework

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

Page 7: CoDesign A Highly Extensible Collaborative Software Modeling Framework

CoDesign Architecture

High-Level Architecture of CoDesign

• Event-based architecture

• Exchanges messages via implicit invocation

• Pair the most appropriate consistency checkers

Page 8: CoDesign A Highly Extensible Collaborative Software Modeling Framework

CoDesign Architecture

The double-lined polygons represent off-the-shelf software.

Generic Modeling Environment

From Vanderbilt University

Software Modeling Tool

Drools

From JBoss Community

Business Logic Integration Platform

Prism-MW

From SoftArch, USC

Lightweight Middleware

Page 9: CoDesign A Highly Extensible Collaborative Software Modeling Framework

Summary

• Summary• Collaborative Software Modeling Infrastructure

Architecture

• Design-time Issues: • Conflicts, Parallel Modification

• Categories of Conflicts• Synchronization, Syntactic, Semantic

Page 10: CoDesign A Highly Extensible Collaborative Software Modeling Framework

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

Page 11: CoDesign A Highly Extensible Collaborative Software Modeling Framework

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

Page 12: CoDesign A Highly Extensible Collaborative Software Modeling Framework
Page 13: CoDesign A Highly Extensible Collaborative Software Modeling Framework

Contacts & References

• Jae young Bang• [email protected]

• Nenad Medvidovic• [email protected]

• 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!

Page 14: CoDesign A Highly Extensible Collaborative Software Modeling Framework

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

Page 15: CoDesign A Highly Extensible Collaborative Software Modeling Framework

Appendix: CoDesign GME List of Objects

• Object• Project• Folder• Model• Atom• Reference• Set

Page 16: CoDesign A Highly Extensible Collaborative Software Modeling Framework

Appendix: CoDesign GMEFound 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)

Page 17: CoDesign A Highly Extensible Collaborative Software Modeling Framework

Appendix: CoDesign GMEFound 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