Title Bar

CoDesign Project

Project Summary

CoDesign is a highly extensible, event-based, collaborative software modeling framework that provides real-time synchronization and model consistency checking via multiple third-party plug-ins. In CoDesign, model changes are automatically propagated to geographically distributed users, and users are automatically notified of various types of conflicts upon concurrent modifications. CoDesign’s architecture is particularly focused on achieving high levels of extensibility and scalability.

CoDesign Architecture
Figure 1: The CoDesign System Architecture. The double-lined polygons represent off-the-shelf software.

The research objectives of the project are (1) exploration and categorization of potential obstacles in the collaborative distributed software design domain, (2) designs and patterns to achieve an efficient and scalable collaborative platform in which third-party tools can be integrated as plug-ins, and (3) new methods and algorithms to detect and resolve synchronization, syntactic, and semantic conflicts.

CoDesign Concept
Figure 2: High-level Overview of CoDesign

When designing distributed collaborative systems, it is necessary to understand the potential conflicts caused by modeling events that are generated simultaneously in remote locations. We have identified three distinct categories of conflicts. (1) Synchronization conflicts, in our definition, are simple inconsistency conflicts that do not involve syntactic nor semantic violations. (2) Syntactic conflicts violate a modeling tool’s or language’s meta-model constraints. (3) Unlike synchronization and syntactic conflicts, semantic conflicts do not violate explicit rules of the tool but break the implicit intension of a system’s model.

CoDesign’s main contribution is its extensibility that it is able to utilize third-party off-the-shelf plug-ins for detection and resolution of conflicts. CoWare, an event-based substrate on which CoDesign relies, allows instances of CoDesign to communicate via implicit invocation and extensible system adaptation. (See Figure 2)

Publications

Presentations

  • Jae young Bang, "Fast Conflict Detection for Remote Collaborative Software Modeling" at the 2011 University of Southern California Center for Systems and Software Engineering Annual Research Review (USC CSSE ARR '11) [Slides]
  • Jae young Bang, "CoDesign -- A Highly Extensible Collaborative Software Modeling Tool" at the 2010 International Conference on Software Engineering, Cape Town, South Africa (ICSE '10) [Slides]
  • Jae young Bang, "CoDesign -- A Highly Extensible Collaborative Software Modeling Tool" at the 2010 University of Southern California Center for Systems and Software Engineering Annual Research Review (USC CSSE ARR '10) [Slides]
  • Jae young Bang, "CoDesign/CoWare -- A Scalable and Extensible Collaborative Software Modeling Infrastructure" at the 2009 Infosys Aurora in Los Angeles, California [Slides / Video]

Downloads

On request. Please contact us.

Contact Information

Primary Contact:
Jae young Bang ( )
Nenad Medvidovic ( )

Contributors

USC Logo Infosys Logo
Jae young Bang ( ) Naveen Kulkarni
Daniel Popescu Girish M. Rama
George Edwards Srinivas Padmanabhuni
Nenad Medvidovic ( )
Bottom Image