Abstract (eng)
A collaborative process is a structured or unstructured process where two or more different stakeholders are working together to fulfill a shared, collective and bounded goal. Especially in today's technology- and information-driven society, participation in such collaborative processes is common place. Information technology and the automation provided by IT systems lead to an ever-increasing shift towards virtual collaborative processes. In general, collaborative processes are often subject to security policies, business rules, laws and regulations. For instance, a legal contract has to be signed by all contractual partners and certified by a notary. In virtual collaborative processes, such restrictions could be enforced using different types of access constraints. In particular, they could strictly constrain the way each stakeholder participates in a collaborative process. However, developing and maintaining means for defining and enforcing different kinds of access constraints and access control in general is a cross-cutting concern that is inherently prone to increase the complexity of software systems and to degrade the software system's code quality. The diverse variety of collaborative process types, which ranges from structured and rigid business processes to unstructured and flexible real-time collaborative Web applications (such as collaborative text editing), to be made subject to access constraints, requires custom, domain-specific enforcement mechanisms and approaches, which would significantly increase the overall development effort. Particularly, real-time collaborative Web applications require these enforcement mechanisms to be scalable and computationally efficient too. In this thesis, we propose a model-driven approach for defining and enforcing different types of access constraints in different types of collaborative processes. Our approach aims for tackling the aforementioned challenges while, at the same time, reducing the required development and maintenance effort. Based on this approach, we explore the implications of changing access constraints dynamically at runtime and devise a novel set of generic and reusable consistency checking and conflict resolution strategies. In the context of real-time collaborative Web applications, we introduce and evaluate the concept of dynamic view customization as a means for enforcing access constraints. In addition, we investigate offline-editing scenarios in the context of access constrained, real-time collaborative Web documents. In particular, we demonstrate how a combination of client-side access control enforcement and a corresponding document merging approach can be used to enable mobile workers to participate in a real-time collaborative process while their computing devices are temporarily not connected to any network. Our proposed model-driven approach as well as the accompanying concepts have been implemented in various research prototypes, thereby showing the feasibility and effectiveness. Extensive performance measurements demonstrate that our concepts and prototypes are applicable in real-life collaborative processes as well as in a larger Web context. Controlled experiments provide evidence that automatic access constraint enforcement increases both the effectivity and efficiency of users. In summary, this thesis has gone a considerable step towards enhancing our understanding of making collaborative processes subject to diverse kinds of access constraints.