codesign a highly extensible collaborative software modeling framework

Post on 23-Feb-2016

59 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

CoDesign A Highly Extensible Collaborative Software Modeling Framework. Jae young Bang( jaeyounb@usc.edu ) George Edwards( gedwards@usc.edu ) Daniel Popescu ( dpopescu@usc.edu ) Prof. Nenad Medvidovic ( neno@usc.edu ). Naveen Kulkarni ( Naveen_Kulkarni@infosys.com ) - PowerPoint PPT Presentation

TRANSCRIPT

CoDesignA Highly Extensible Collaborative Software Modeling Framework

SoftArch, USCMarch, 2010

Jae young Bang (jaeyounb@usc.edu)George Edwards (gedwards@usc.edu)Daniel Popescu (dpopescu@usc.edu)Prof. Nenad Medvidovic (neno@usc.edu)

Naveen Kulkarni (Naveen_Kulkarni@infosys.com)Girish Maskeri Rama (Girish_Rama@infosys.com)Dr. Srinivas Padmanabhuni (srinivas_p@infosys.com)

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

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

Drools

From JBoss Community

Business Logic Integration Platform

Prism-MW

From SoftArch, USC

Lightweight Middleware

Summary

• 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• jaeyounb@usc.edu

• Nenad Medvidovic• neno@usc.edu

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

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 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)

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

top related