Engineering web community information systems via near real-time collaborative modeling support

Abstract

Driven by the emergence of new standards, protocols and architectural patterns, Web information systems are gradually shifting towards social ecosystems, featuring near real-time communication -- synchronous, always without human noticeable delay though less stringent than real-time requirements in embedded systems -- and collaboration support with few restrictions. Spreading from personal to professional and organizational settings, engineering such powerful, collaborative applications is difficult to achieve as it requires considerable know-how and is associated with high costs. Especially within small, niche communities there is a high need for rapid Web information systems development. For example, professional online communities of practice do not possess the technical knowledge to implement the specialized tools they need or restructure systems, without developers. Combining novel synchronous Web-based collaboration techniques with conceptual modeling and model-driven Web engineering will radically improve this situation. This mixture can increase collaboration and awareness between stakeholders, lower the technological entry barrier in system engineering, foster rapid prototyping and ensure standard compliance. This dissertation proposes a new, cyclic, Model-Driven Web Engineering approach that uses shared editing and near real-time collaborative conceptual modeling in order to create Web-based, social and collaborative community information systems. SyncMeta, our collaborative conceptual modeling approach and framework supports view-based modeling in the Web browser in synchronous, distributed environments. In addition to domain-specific visual modeling languages, viewpoints can be collaboratively defined on the metamodeling layer and instantiated as views within a model editor instance. For supporting SyncMeta's lock-free, shared model editing in highly scalable team sizes, we have created YATA, a novel optimistic decentralized concurrency control approach realized as a Javascript Web library named Yjs. This solves occurring conflicts in groupware scenarios and can be used very flexible to enable near real-time collaboration in existing or newly engineered Web applications. Using SyncMeta and Yjs, we have instantiated the Community Application Editor (CAE), that is used to model and define Web widgets and microservices as software components that together compose community information systems. CAE makes it simpler -- using the modeling abstraction -- for both developers and community members to contribute to system design and development. The research approach of this dissertation follows the design science methodology and has been evaluated using various testbeds involving professional communities from the Technology Enhanced Learning, Cultural Heritage and Construction domains, in several user studies. All in all, we showcase the efficiency of collaborative conceptual modeling in agile model-driven scenarios and thus contribute to the engineering of modern, social Web information systems. We offer support for creating collaborative applications tailored for professional, online communities of practice

    Similar works

    Full text

    thumbnail-image

    Available Versions