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.
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.
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)
On request. Please contact us.
|Jae young Bang ( )||Naveen Kulkarni|
|Daniel Popescu||Girish M. Rama|
|George Edwards||Srinivas Padmanabhuni|
|Nenad Medvidovic ( )|