Modeling and Code Derivation for Collaborative Systems with Awareness
Abstract
Building collaborative systems with awareness is a very complex task. This article presents the use of the domain specific language CSSL v2.0 - Collaborative Software System Language - built as an extension of UML, using the metamodeling mechanism. CSSL provides simplicity, expressiveness and precision, to model the main concepts of collaborative systems, especially collaborative processes, protocols and awareness. A concrete syntax - graphic editors - used to build models of collaborative systems is presented and modeling examples are shown. The models are independent of the implementation platform and are formally prepared to be derived using MDD transformations. Then model-to-text transformations where Web versions are obtained with JavaScript, MongoDB and Websockets technologies, are introduced as language semantics. This gives the Collaborative Systems developers a set of tools that allow them to model and develop executable applications to test the specified functionality. From the models, the result will be the implementation of collaborative processes, awareness and theoperations that the roles perform in the system.