A Domain-Specific Modeling Approach to Realizing User-centric Communication
Software: Practice and Experience
Advances in communication devices and technologies are dramatically expanding our communication capabilities and enabling a wide range of multimedia communication applications. The current approach to develop communication-intensive applications results in products that are fragmented, inflexible, and incapable of responding to changing end-users' communication needs. These limitations have resulted in the need for a new development approach of building communication applications that are driven by end-users and that support the dynamic nature of communication-based collaboration. To address this need, the Communication Virtual Machine (CVM) technology has been developed to support rapid specification and automatic realization of user-centric communication applications based on a domain-specific modeling approach. The CVM technology consists of a domain-specific modeling language (DSML), the Communication Modeling Language (CML), that is used to create communication models, and a semantic rich platform, the CVM, that realized the created communication models. In this paper, we report on our experiences of applying a systematic approach to engineering CML and the synthesis of CML models in CVM. Based on a feature model describing the taxonomy of the user-centric communication domain in a network independent manner, we develop the meta-model of CML and its different concrete syntaxes. We also present a behavioral specification (dynamic semantics) of CML that enables the dynamic synthesis of user-centric communication models into an executable form called communication control script. We validated the CML semantics using Kermeta, a meta-programming environment for engineering DSMLs, and evaluated the practicality of our approach using a CVM prototype and a set of experiments.
Wu, Yali, Andrew Allen, Frank Hernandez, Robert France, Peter J. Clarke.
"A Domain-Specific Modeling Approach to Realizing User-centric Communication."
Software: Practice and Experience, 42 (3): 357-390.