En español
La construcción de sistemas colaborativos con awareness es una tarea muy compleja. En este trabajo se define el lenguaje específico de dominio CSSL v2.0 - Collaborative Software System Language - construido como extensión de UML, usando el mecanismo de metamodelado. Se analiza la simplicidad, expresividad y precisión del lenguaje para modelar los conceptos principales de estos sistemas, especialmente los procesos colaborativos, protocolos y awareness. A partir de casos de modelado se muestra una sintaxis concreta implementada a través de editores gráficos que permiten construir modelos de sistemas colaborativos. Estos son independientes de la plataforma de implementación y están formalmente preparados para ser derivados en implementaciones concretas aplicando transformaciones utilizando el paradigma MDD (Model Driven Development). Las transformaciones de modelo a texto generan versiones Web implementadas con tecnologías JavaScript, MongoDB y Websockets que brindan un conjunto de funcionalidad básica que los desarrolladores pueden refinar para completar la implementación de los sistemas colaborativos con awareness. Finalmente se realiza una evaluación, validación y verificación del metamodelo que finalizan con la comprobación que comprueban que el lenguaje CSSL v2.0, permite definir de forma precisa, concisa y amigable los conceptos abstractos de los sistemas colaborativos, incluyendo los procesos colaborativos, protocolos y awareness, lo cual representa un avance al estado actual de estas tecnologías.
En inglés
Building Collaborative systems with awareness (or groupware) is a very complex task. This thesis presents the design and implementation 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. The CSSL concrete syntax is defined via a set of editors through which collaborative systems models are created. According to the MDD methodology, models are independent of the implementation platform and are formally prepared to be transformed. The target of the transformation is a web application based on JavaScript, MongoDB and Websockets technology, that provides a set of basic functions that developers can refine to complete the development of the collaborative system. Finally, evaluation, validation and verification of the language is performed, determining that the CSSL tools allow developers to solve central aspects of collaborative systems implementation in a simple and reasonable way, representing an advance to the current state of these technologies.