Abstract-Domain Specific Languages (DSLs) are high-level languages defined for combining expressiveness and simplicity by means of linguistic constructs which are close to the problem domain but independent of the complexities inherent to the underlying software implementations. This article presents the CSSL v2.0 language that allows defining in precise, concise and friendly manner the abstract concepts of collaborative systems. Specially, the language makes available the concepts of awareness and collaborative processes. The language is independent of both the framework and the development tools and allows the application of the MDD approach to the development of such systems. The CSSL v2.0 language was designed as a UML extension using the metamodeling mechanism and was implemented with open source tools on the Eclipse platform. It provides improvements on previous proposals by enabling more complete and complex specifications of collaborative situations.Index Terms-Collaborative software, Design tools, Domain Specific Languages, Software design, Software engineering.I. INTRODUCCIÓN uando nos referimos a sistemas colaborativos estamos pensamos en tecnologías basadas en redes de computadoras que permite que los usuarios se comuniquen, compartan información y coordinen actividades. Estos sistemas no contemplan a un usuario en particular sino que atiende las necesidades del grupo. De acuerdo a Ellis et al.[1], las plataformas de colaboración son: "Sistemas de computadoras que proveen una interfaz a un entorno compartido y que soportan a un grupo de usuarios que tienen un objetivo común". Esta tecnología brinda un equilibrio entre el trabajo individual de los participantes y la colaboración que realizan los usuarios para lograr un objetivo grupal. En definitiva, una efectiva coordinación mejora las posibilidades de colaboración ordenando la participación de los usuarios [2]. Esto se refleja en procesos que determinan en qué orden se llevan adelante las actividades colaborativas y los protocolos para definir qué acciones concretas pueden realizar los roles en cada actividad. Para lograr una efectiva colaboración los usuarios tienen que estar informados sobre las acciones que los otros participantes realizan en el ambiente y cómo esas acciones afectan el entorno de trabajo. Esta información que brinda el sistema se llama awareness.El awareness [3] es la percepción o conocimiento del grupo y de las actividades que realizan los usuarios en el sistema compartido. Construir sistemas colaborativos es una tarea compleja ya que el software atiende a las necesidades de usuarios remotos, con requerimientos que cambian dinámicamente con muchos desafíos tecnológicos. Asimismo la incorporación de diversos dispositivos como computadoras personales, teléfonos celulares, dispositivos de realidad virtual y otros dispositivos móviles.Por otro lado, el problema de construir software de calidad y que pueda ser capaz de sobrevivir a la evolución de sus requisitos funcionales manteniéndose flexible a los cambios en la tecnología que lo...
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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.