Now showing 1 - 2 of 2
No Thumbnail Available
Publication

A framework for developing component-based co-operative applications

2001 , Tietze, D.A.

In today's work environment we are faced with the increasing need to perform tasks and tackle problems cooperatively, in a team. This need is driven, e.g., by the trend towards growing distribution of teams, such as in the context of virtual organizations or extended enterprises, task-specific groups of companies or divisions, working together in a shared project, on the completion of a common product. The goal of CSCW (Computer-Supported Cooperative Work) research is the design and development of systems (often referred to as groupware systems) that support communication, coordination and cooperation between the team members involved in a group process. Groupware systems enable a distributed group of users to collaboratively work on shared objects (documents,etc.). Many of the cooperative work processes which are conducted in these teams are evolving over time and require the support technology to exhibit a high degree of flexibility and tailorability. As work processes evolve,the supporting groupware needs to be adapted to the changing needs and requirements. In this context, we are faced with the need for groupware applications that are not closed and monolithic, but which can be dynamically extended, also by the end-users, in order to adapt the tools to the changing requirements. This thesis aims to provide support for such flexible groupware. One way of developing flexible, modular systems is component-based software development, where systems are constructed from reusable software components, which can be adapted and combined as required. The development of such components is often based on an underlying component framework, which governs the way in which components are created and later combined with each other. The goal of this thesis is to aid the use and development of extensible componentbased groupware systems. This requires the design and development of a component framework, which provides support for the flexible coupling of the components and for dynamic distribution of the components. End-users need to be supported in locating and retrieving the components that they require for their current task. Additionally, the framework needs to support end-users as well as groupware developers in adapting the collaboration support environment to the changing demands. The thesis introduces Groupware Components as the basis for the development of flexible, adaptable groupware systems. Groupware Components are visually interactive components which allow groups of users to collaboratively view and modify shared data objects. Groupware Components can be coupled and assembled into comprehensive collaboration support environments. The resulting collaboration support environments are dynamically extensible: New components can be added to the running system and can immediately be used collaboratively on all connected machines. The coupling of Groupware Components is based on a common shared domain object model, which is dynamically replicated in the distributed system. One problem which needs to be tackled when building flexible component-based collaboration support systems is how to support end-users and developers in finding and retrieving the components required for a specific task. When introducing new components into the system,the previously available components need to be able to access and invoke these new components, without the need to modify the older components. In order to support this, the thesis introduces a programming model termed task-based development. In this model, components publish tasks which can be performed on instances of a shared object model. This task information can be queried by the component server and can be used to determine the required component for a certain activity to be performed on a specific shared object. The tasks can be invoked either interactively by the end-users or by component implementations, leading to an invocation of the related components. In this way, flexible (loose) bindings between components are possible, which allow the collaboration support system to by dynamically extended and reconfigured.The task-based programming model and the separation between component and domain model implementation also allow the coupling of different components (e.g., for different tasks or roles in the collaborative process) on the same shared data objects. End-user tailorability of the collaboration support environment is supported by an interactive composition tool, which allows the combination of components into so-called configurations. These configurations can be deployed via the server and can be used collaboratively right away. This creation of configurations is also based on the taskbased programming model, which serves as the central unifying abstraction underlying the components in the DyCE framework. When developing component-based environments, developers need to communicate their design ideas with each other. In order to support the design of component-based groupware, the thesis introduces a number of extensions to the Unified Modeling Language (UML), which allow developers to create design diagrams which specify issues relevant to component-based groupware, such as component distribution, task bindings, sessions, etc. The development of Groupware Components is supported by the development framework DyCE (Dynamic Collaboration Environment), which has been implemented in Java. The DyCE framework has been used in a number of research projects for developing a wide range of Groupware Components. A number of this components are presented, along with the experiences gathered in the course of their development.

No Thumbnail Available
Publication

Transactional support for cooperative applications

1999 , Wäsch, J.

Eine Vielzahl von Tätigkeiten, die in heutigen Unternehmen anfallen, werden nicht mehr von Einzelpersonen bearbeitet, sondern gemeinsam in der Gruppe gelöst. Beispiele sind das gemeinsame Erstellen von Dokumenten, Designprozesse, Softwareentwicklung und unternehmensweite Geschäftsprozesse. Allerdings werden kooperative Abläufe von heutigen Anwendungsprogrammen nicht bzw. nur unzureichend unterstützt, so daß die Anwender selbst für einen korrekten Arbeitsablauf und die Konsistenz gemeinsam benutzter Dokument- und Informationsbestände verantwortlich sind. Die Erhaltung der Konsistenz von Daten bei gleichzeitigem Zugriff mehrerer Benutzer ist die klassische Aufgabe des Transaktionsmanagements in Datenbankverwaltungssystemen. Das traditionelle Transaktionsmodell basiert dabei auf der Annahme einer hohen Zahl relativ kurzer Transaktionen, die atomar und isoliert voneinander ablaufen. Kooperative Anwendungen haben allerdings stark abweichende Anforderungen an Transaktionsunterstützung. Ein kooperatives Transaktionsmodell muß strukturierte Arbeitsprozesse von langer Dauer unterstützen und dabei eine flexible, interaktive und konsistenzerhaltende Kooperation der Gruppenmitglieder auf gemeinsam genutzten Datenbeständen ermöglichen. In dieser Dissertation beschreiben wir ein neuartiges Transaktionsmodell (COACT), das Kooperation zwischen mehreren Benutzern ermöglicht, gleichzeitig aber transaktionsartige Ausführungsgarantien sowohl für die Arbeit der Gruppe als auch für die Arbeit des einzelnen Benutzers gibt. Ausgangspunkt der Dissertation ist eine umfassende Anforderungsanalyse verschiedener kooperativer Anwendungen. Das Spektrum reicht dabei von routinemäßiger Vorgangsbearbeitung bis zu unstrukturierten, kreativen Aufgaben, die stark interaktiv und kooperativ durchgeführt werden. Alle untersuchten Anwendungen sind durch abwechselnde Phasen individueller und gemeinsamer Arbeit gekennzeichnet. Um unabhängige Arbeit zu ermöglichen, wird im COACT Modell jedem Benutzer ein privater Arbeitsbereich zugeordnet. Zusätzlich existiert ein gemeinsamer Arbeitsbereich für die gesamte kooperative Aktivität, der allen Kooperationsteilnehmern zugänglich ist. Die Kooperation der Benutzer untereinander, d.h. der kontrollierte Austausch von Informationen zwischen den verschiedenen Arbeitsbereichen, wird durch spezielle Austauschprimitive ermöglicht. Zentraler Aspekt dabei ist die nahtlose Integration der Arbeitsergebnisse einzelner Benutzer in einem Arbeitsbereich. Dazu wird ein neuer leistungsfähiger Integrationsmechanismus entwickelt, das sogenannte History Merging Verfahren. Dieses ist in der Lage scheinbar bestehende Integrationskonflikte auf einer semantisch höheren Ebene aufzulösen. Hierbei verfolgt COACT einen operationsbasierten Ansatz. Alle in einem Arbeitsbereich ausgeführten Operationen werden in einer Historie des Arbeitsbereichs protokolliert. Der Austausch von Informationen zwischen Arbeitsbereichen erfolgt nicht durch den Austausch von Datenobjekten, sondern durch die erneute Ausführung ausgewählter Operationen im Zielarbeitsbereich. Die Datenkonsistenz wird dabei durch das History Merging Verfahren unter Ausnutzung der Semantik von Operationen sichergestellt. Dazu verwenden wir sowohl Vorwärts als auch Rückwärtskommutativitiät von Operationen in den Historien. Die Flexibilität unseres Ansatzes ergibt sich dabei aus der Berücksichtigung von Kommutativitätsrelationen zur dynamischen Bestimmung konsistenter Arbeitseinheiten, zur Erkennung und Auflösung von relevanten Konflikten bei der Integration von Arbeitsergebnissen und zur selektiven Kompensation von Operationen in Arbeitsbereichen. Formal betrachtet garantiert das History Merging Verfahren die Legalität von Operationen in den Historien der einzelnen Arbeitsbereiche. Eine Operation ist legal, falls ihr beobachtbares Verhalten ihrer funktionalen Spezifikation genügt. Das Korrektheitskriterium der Legalität garantiert die Konsistenz der Daten in den einzelnen Arbeitsbereichen, während die Isolations- und Atomaritätseigenschaft des traditionellen Transaktionsmodells gezielt abgeschwächt werden. Somit wird Kooperation zwischen parallel arbeitenden Kooperationspartnern ermöglicht. Neben der Unterstützung kooperativer Anwendungen ist das COACT Modell auch zur Datenverwaltung und Kooperationsunterstützung in mobilen Umgebungen geeignet. Die privaten Arbeitsbereiche ermöglichen es mobilen Benutzern, trotz Verbindungsunterbrechung zum stationären System weiterzuarbeiten. Zur korrekten Integration der während dieser Zeit erstellten Arbeitsergebnisse können wiederum auf dem History Merging Verfahren basierende Synchronisationsprimitive verwendet werden. Um die Anwendbarkeit der entwickelten Konzepte zu demonstrieren wurde das COACT Modell als Erweiterung des objektorientierten Datenbanksystems VODAK implementiert. Das auf VODAK aufbauenende Hypermedia-Autorensystem SEPIA wurde um die von COACT angebotenen Kooperationsmechanismen erweitert und mit zusätzlichen Koordinationsmechanismen integriert. Wir glauben, daß die Integration des kooperativen Transaktionsmodells COACT mit moderner Datenbanktechnologie die Konzeption und Realisierung kooperativer Anwendungen erheblich vereinfacht. Dabei reicht das Anwendungsgebiet der in dieser Arbeit entwickelten Konzepte über die untersuchten kooperativen Anwendungen hinaus. Mögliche Einsatzbereiche sind etwa die teilautomatisierte Kombination von Versionen in Repositorysystemen und die semantische Re-integration von Replikaten in mobilen und asynchron replizierten Umgebungen.