CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC October 20th

advertisement
SoftArch, USC
CoDesign
October 20th
A Highly Extensible Collaborative Software Modeling Framework
Jae young Bang
George Edwards
Daniel Popescu
Prof. Nenad Medvidovic
(jaeyounb@usc.edu)
(gedwards@usc.edu)
(dpopescu@usc.edu)
(neno@usc.edu)
Naveen Kulkarni
Girish Maskeri Rama
Dr. Srinivas Padmanabhuni
(Naveen_Kulkarni@infosys.com)
(Girish_Rama@infosys.com)
(srinivas_p@infosys.com)
Outline
•
Motivation
•
Overview
•
System Architecture
•
Design-time Conflicts
• Categorization
• Conflict Detection
•
Contributions
•
Future Work
Motivation
• Large, multinational companies off-shoring
• 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” SCMs tools make conflicts
• 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 Conflicts
1. Conflicts
•
•
Occur due to latency between distributed architects
Cannot be applied to the model without violating model
syntax or semantics
Destroy
Model Object
Move
Architect B
Architect A
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
Change Location
Model Object
Architect A
Modify Name
Architect B
Conflicts Categorization
1. Synchronization Conflicts
•
•
Can be resolved with little or no human intervention
Simple conflicts caused by synchronization latency
2. Syntactic Conflicts
•
•
Violate a modeling tool’s or language’s meta-model
constraints
e.g., cardinality constraints
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
•Event-based architecture
•Exchanges messages
via implicit invocation
•Pair the most appropriate
consistency checkers
High-Level Architecture of CoDesign
Drools
Generic Modeling
Environment
From JBoss Community
CoDesign Architecture
From Vanderbilt University
Software Modeling Tool
Business Logic Integration
Platform
Prism-MW
From SoftArch, USC
Lightweight Middleware
The double-lined polygons represent off-the-shelf software.
Features: Demonstration Video
•
Settings
•
•
•
CoWare Infrastructure
CoDesign
• Along with the modeling tool: GME 9
Features
•
•
Synchronization between CoDesign instances
Conflict Detection & Resolution
Summary
•
In the Video
•
•
•
Synchronization between CoDesign Instances
Conflict Detection and Resolution
Summary
•
•
•
Collaborative Software Modeling Infrastructure
Architecture
Design-time Conflicts:
• Conflicts, Parallel Modification
Categories of Conflicts
• Synchronization, Syntactic, Semantic
Future Work
•
Exploration of the type and nature of conflicts
•
•
•
Conflict Resolution
•
•
Causes of conflicts and relationships between conflict
types and modeling activities
Conflicts caused by complex event sequences (e.g., 3 or
more parallel events)
Toward automated conflict resolution over conflict
identification
Continue implementation of the architecture
•
•
Testing under globally distributed settings
Testing in scalability
Software Architecture Group, USC
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
MOVE
MOVE
MOVE
MOVE
MOVE
MOVE
MOVE
MOVE
MOVE
MOVE
MOVE
–
–
–
–
–
–
–
–
–
–
–
–
DESTROY
CHANGE PROPERTIES
CHANGE LOCATION
CREATE CONNECTION
DESTROY CONNECTION
CREATE PORT
DESTROY PORT
CREATE REFERENCE
REMOVE REFERENCE
CHANGE REFERENCE
ADD TO SET
REMOVE FROM SET
Download