Konzeptvorstellung DPP III Oliver Rieger Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/w/se/thesisdppiii



Ähnliche Dokumente
Verteilte Paarprogrammierung mit Eclipse

WinVetpro im Betriebsmodus Laptop

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Synchronisations- Assistent

teamsync Kurzanleitung

» Weblösungen für HSD FM MT/BT-DATA

Installation Microsoft Lync 2010 auf Linux

Arbeitsgruppen innerhalb der Website FINSOZ e.v.

Print2CAD 2017, 8th Generation. Netzwerkversionen

PVS Grobkonzept: Strukturelle und funktionale Erweiterungen bei der Verwaltung der Arbeitszeit und der organisatorischen Zuordnung

MS Outlook Integration

OpenMAP WEBDrive Konfiguration. Oxinia GmbH , Version 1

Man liest sich: POP3/IMAP

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Grundlagen verteilter Systeme

Powermanager Server- Client- Installation

Lehrer: Einschreibemethoden

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Speicher in der Cloud

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

1. EINLEITUNG 2. GLOBALE GRUPPEN Globale Gruppen anlegen

[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

WLAN - MUW-NET, MUW-GUEST, eduroam // Howto für APPLE iphone/ipad ab ios8

glit.app Handbuch OutlookAddin 13. Juni 2016

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Einer Outlook-Gruppe weitere Computer hinzufügen

Referenz-Konfiguration für IP Office Server. IP Office 8.1

Nutzung von GiS BasePac 8 im Netzwerk

Version: System: DFBnet Lizenz 5.20

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

ACHTUNG: Voraussetzungen für die Nutzung der Funktion s-exposé sind:

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand:

dpa-infocom - Datenlieferung

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Treuhand Cloud. Die Arbeitsumgebung in der Cloud

Advance Steel Nachverfolgung von Änderungen während der Revisionsphasen im Projekt

Zwischenablage (Bilder, Texte,...)

Fidbox App. Version 3.1. für ios und Android. Anforderungen für Android: Bluetooth 4 und Android Version 4.1 oder neuer

Anleitung über den Umgang mit Schildern

Consulting. Dokumentenmanagement. Stand: jwconsulting GmbH Caspar-David-Friedrichstr Walldorf

BOKUbox. Zentraler Informatikdienst (ZID/BOKU-IT) Inhaltsverzeichnis

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

Elexis-BlueEvidence-Connector

Sichern auf den zentralen TSM-Servern unter Windows. Sichern auf den zentralen TSM-Servern unter Windows

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel für Mac. amac-buch Verlag

Newsletter: Februar 2016

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Nutzer-Synchronisation mittels WebWeaver Desktop. Handreichung

Mandant in den einzelnen Anwendungen löschen

Bereich METIS (Texte im Internet) Zählmarkenrecherche

Innovative Kommunikations- und Verwaltungslösung für Unternehmen in der Pflege- und Gesundheitsbranche

Einsatz von xalerator. bei den. Ergo Direkt Versicherungen. Bereich Versicherungstechnik/Leben

peer-to-peer Dateisystem Synchronisation

Combo Sage 50 und Sage Start Kombination Sage 50 Finanzbuchhaltung und Sage Start Fakturierung / Auftragsbearbeitung August 2013

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Issue/Amendment e.data Version 1.0 1/12

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

ISA Server 2004 Erstellen einer Webverkettung (Proxy-Chain) - Von Marc Grote

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

MIT NEUEN FACHTHEMEN

Drucken aus der Anwendung

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

LIGHTHOUSE ist ein Erasmus+ KA2 Strategie Partnerschaftsprojekt, gefördert von der Europäischen Kommission.

Der Einsatz von Open-Source-Produkten im Unternehmen, dargestellt am Beispiel von OpenOffice

Vision für Mac BENUTZERHANDBUCH

OPEN SOURCE SOFTWARE

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

ECO-Manager - Funktionsbeschreibung

Inhaltsverzeichnis Dokumentverwaltung Organisation von Dokumenten Ordner erstellen Dokumente im Dateisystem behandeln...

Windows Vista Security

Elektrische Logigsystem mit Rückführung

Anleitung Scharbefragung

Nutritioner V2.0: Lokaler, Synchronisations- und Servermodus

Anleitung für die Hausverwaltung

Updateseite_BuV-PlugIn-NERZ-Gesamt

Data Quality Management: Abgleich großer, redundanter Datenmengen

Integrated Services Realtime Remote Network

Erweitertes Kalkulationsfenster

Schuljahreswechsel im Schul-Webportal

Netzwerkversion PVG.view

BlueEvidence Services in Elexis

Smart Meter Rollout. Anforderungen SMGA inkl. ISO Wie vertrauen sich die Teilnehmer in der imsys- Infrastruktur? TR und 52 MSB-G

Installationsanleitung Sander und Doll Mobilaufmaß. Stand

Ein mobiler Electronic Program Guide

Anlage 1 B zur Spezifikation Anbieterwechsel Teil 1, Abläufe bei der Vorabstimmung

Zertifikat in dakota einlesen Wie lese ich mein Zertifikat in dakota.le ein?

SharePoint Workspace 2010 Installieren & Konfigurieren

Praktikum/Thesis im Bereich Softwareentwicklung - Embedded Softwareentwicklung

Sie haben diese Daten auch mobil dabei und synchron auf anderen Geräten! Sie haben eine Sicherheitskopie dieser Belege in einem Cloud-Speicher.

DDBAC. Sicherheitsprofilwechsel

Transkript:

Konzeptvorstellung DPP III Oliver Rieger Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/w/se/thesisdppiii Anforderungen Existierende Systeme Konzept-Ansätze Evaluierung Zeitplan Vorläufige Gliederung Oliver Rieger, rieger@inf.fu-berlin.de 1

Zweck des Projekts DPP III Software-Entwicklung an verteilten Standorten Vorteile der Paarprogramming auch dieser Situation nutzen zu können Klassische Vorgaben des Pairprogramming dernneuen Einsatz-Szenarien anpassen Direkte Kommunikation ist Hauptbestandteil im verteilten Umfeld durch Nutzung vielfältiger Kommunikationsmittel Nachteile für verteilte Paarrprogramming kompensieren strikte Rollenverteilung von Driver und Observer auflockern Erkenntnis-Gewinnung über verteilte Paarprogrammierung durch ECG-Informationen Oliver Rieger, rieger@inf.fu-berlin.de 2

Ziele des Projekts DPP III Infrastruktur für kollaborative Schreibzugriffe gleichzeitiger Schreibzugriff unter Einhaltung der Konsistenzanforderungen aller relevanter Projektdateien Ausbau der Kommunikationsmittel Verbesserung der Kommunikation und Verstärkung des Gruppengefühls Audio / Video Kommunikation ermöglichen Multi-User-Chat ermöglichen Weiterentwicklung der bisherigen Umsetzungen bisherige Umsetzung zur Realisierung der Ziele und Anforderungen verwenden und weiterentwickeln Whiteboard Funktionalität Unterstützung in Design- und Entwurfsphasen als zusätzliches Kommunikationsmittel (niedrige Priorität?) Oliver Rieger, rieger@inf.fu-berlin.de 3

Funktionale Anforderungen Das Projekt muss die bisherige Umsetzung der Paarprogrammierung sinnvoll ergänzen. Das Projekt muss einen kollaborativen Schreibzugriff von mindestens zwei Drivern ermöglichen. Die Veränderungen der einzelnen Driver müssen eindeutig zugeordnet werden können. Das Projekt muss eine erweiterte Kommunikation mit Audio und Video ermöglichen. Das Projekt muss eine konfigurierbare eindeutige Farbzuweisung aller Anwender gewährleisten. Das Projekt muss eine Whiteboard Funktionalität beinhalten, um kreative Prozesse in der Paarprogrammierung besser zu unterstützen. Oliver Rieger, rieger@inf.fu-berlin.de 4

Funktionale Anforderungen (2) Das Projekt muss Aktionen eines beobachteten Drivers im Package-View des veröffentlichten Projekts kommunizieren. Das Projekt muss einen Dienst für die Nebenläufigkeitskontrolle beinhalten, der während der Projekt-Initialisierung automatisch gestartet wird. Das Projekt muss zu jedem Zeitpunkt visualisieren, welcher Teilnehmer zur Zeit welche Projektdatei bearbeitet. Das Projekt muss eine Historie Funktion der durchgeführten Änderung mit zugehöriger Autoren- Information bereitstellen. Das Projekt muss der Rolle Observer die Wahl des zu beobachtenden Driver ermöglichen. Oliver Rieger, rieger@inf.fu-berlin.de 5

Nichtfunktionale Anforderungen (1) Das Projekt muss auf die Projekte DPP I und DPP II aufbauen und die bestehende Umsetzung verwenden und erweitern. Die nichtfunktionalen Anforderungen aus DPP I müssen auch in DPP III erfüllt werden. Die Konsistenz der Projektdateien muss immer gewährleistet sein, auch nach Verbindungsabbrüchen müssen entstandene Konflikte aufgelöst werden können. Die Kommunikation muss auch in komplexen Netzwerk- Topologien sichergestellt sein. Die Kommunikation im Projekt muss mit einer für den Anwendern akzeptablen Latenzzeit sichergestellt werden. Oliver Rieger, rieger@inf.fu-berlin.de 6

Anwendungsfall-Modell (1) Akteure im Anwendungsfall-Modell Projekt-Host erstellt die Projekt-Sitzung und läd Teilnehmer aus seiner Kontaktliste für diese Sitzung als Teilnehmer ein. Projekt-Host ist automatisch Driver mit Schreibrechten auf alle Projektdateien Driver aktiver Teilnehmer an der Projekt-Sitzung und kann auf alle Projektdateien schreibend zugreifen. Observer ein passiver Teilnehmer an der Projekt-Sitzung besitzt keine Schreibrechte auf Projektdateien Verfolgermodus für Driver Oliver Rieger, rieger@inf.fu-berlin.de 7

Anwendungsfall Modell (2) Der Projekt-Host veröffentlicht ein Projekt zum Start der Sitzung. Im folgenden lädt er Teilnehmer für diese Sitzung ein, die bei Annahme zunächst als Observer der Sitzung hinzugefügt werden. Während dieses Vorgangs wird das Projekt lokal beim Teilnehmer aktualisiert. Somit haben zu Beginn der Sitzung alle Teilnehmer eine konsistente Projektversion. Ein Teilnehmer der Sitzung wechselt seine Rolle von Observer zu Driver und wird als zweiter Driver mit Schreibrechten auf alle Projektdateien in der Sitzung registriert. Beiden aktuellen Driver können unabhängig von einander Projektdateien bearbeiten, wobei alle Änderungen sofort an alle Teilnehmer der Sitzung kommuniziert werden. Alle Teilnehmer mit der Rolle Observer können im Verfolger- Modus einen beliebigen Driver verfolgen. Ein Driver wechselt in einen Driver-Verfolger-Modus und kann somit wie ein Observer dem anderen Driver folgen. Er hat jedoch die Möglichkeit jederzeit schreibend auf die geöffneten Dateien zuzugreifen. Oliver Rieger, rieger@inf.fu-berlin.de 8

Anwendungsfall Modell (3) Beide Driver bearbeiten zeitgleich die gleiche Datei, wobei es zu konkurrierenden Schreibzugriffen während der Bearbeitung kommt. Die lokalen Operationen jedes Drivers werden an den Projekt-Host übertragen und Konflikte werden automatisch aufgelöst. Notwendige Operationen zur Konsistenzerhaltung werden vom Projekt-Host automatisch an alle Teilnehmer übertragen und dort lokal ausgeführt. Ein manuelles Eingreifen seitens der Teilnehmer ist nicht notwendig. Textuelle Veränderungen der Driver werden in der entsprechenden eindeutigen Farbmarkierung hervorgehoben. Driver können zur Unterstützung weitere Kommunikationsmittel über die Oberfläche starten. Neben der (Multi-) Chat-Kommunikation können die Driver untereinander mit Audio- und Video-Kommunikation direkter und effizienter Zusammenarbeiten. Oliver Rieger, rieger@inf.fu-berlin.de 9

Funktionen der aktuellen Umsetzung Gemeinsames Arbeiten eines Drivers mit mehreren Observern an einem gemeinsamen Projekt Kommunikation basierend auf XMPP Datenaustausch Projekt-Abgleich beim Hinzufügen neuer Teilnehmer Projekt kann jederzeit lokal ausgeführt werden Farbige Markierung von Text-Selektionen, Sichtbereich und Änderungen Chat-Funktion als zusätzliches Kommunikationsmittel Rollenwechsel zwischen Driver und Observer Verfolger-Modus für Observer Sitzungsinformationen von Teilnehmern und der entsprechenden Rollen Oliver Rieger, rieger@inf.fu-berlin.de 10

Oliver Rieger, rieger@inf.fu-berlin.de 11 DEMO

Einschränkungen der aktuellen Umsetzung Kein kollaborativer Schreibzugriff Wechsel des exklusiven Schreibzugriffs durch take driver role Verwendung einer älteren XMPP API (Smack 2.2.1) in komplexeren Netzwerk-Topologien kein direkter File Transfer möglich Weiterentwicklung im Bereich Audio/Video nicht nutzbar automatisches Reconnect nicht nutzbar Initialisierung größerer Projekte bei Initialisierung größerer Projekte wird IDE blockiert fehlende Status Informationen über den Verlauf Oliver Rieger, rieger@inf.fu-berlin.de 12

Existierende CSCW-Systeme (1) SubEthaEdit ein von Apple entwickelter kommerzieller kollaborativer Gruppen-Editor mit vielfältigen Awareness-Informationen verwendet eine peer-to-peer Kommunikation auf Grundlage des BEEP Protokolls und Bonjour zum automatischen Auffinden veröffentlichter Dokumente gleichzeitiger Schreibzugriff mit optimistischer Zugriffskontrolle ACE (a collaborative editor) verwendet wie SubEthaEdit Bonjour und BEEP für eine peerto-peer Kommunikation blockierungsfreier Schreibzugriff mit optimistischer Zugriffskontrolle Operational Transformation Realisierung durch Jupiter Algorithmus Oliver Rieger, rieger@inf.fu-berlin.de 13

Existierende CSCW-Systeme (2) IRIS von der TU München entwickelter kollaborativer Gruppen- Editor in der Neuentwicklung auf Java-basierendes CSCS-System mit optimistischer Zugriffskontrolle beinhaltet keine Algorithmus zur automatischen Konfliktauflösung Dokumenten werden in einer baumartigen Dokumentenstruktur aufgebaut beinhaltet Historie-Informationen zur Rekonstruktion des Änderungsverlaufs Oliver Rieger, rieger@inf.fu-berlin.de 14

Existierende CSCW-Systeme (3) Eclipse Communication Framework (ECF) Kommunikationplattform auf Basis eines Kommunikations- Servers unter Verwendung des Equinox Projekts, um OSGi (Open Services Gateway Initiative) auf dem Server zu realisieren Abstraktion der Kommunikationsprotokolle als ECF- Protokol-Adapter Bsp: FileTransfer, Remote (OSGi) Service, Chat, Presence, Jingle, VoIP, zero-conf discovery Eclipse Shared Text Editor (collab.editor) Umsetzung eines kollaborativen Editor ohne Nebenläufigkeitskontrolle mit ECF Real-Time Shared Editor basierend auf collab.editor mit Nebenläufigskontrolle Oliver Rieger, rieger@inf.fu-berlin.de 15

Konzept-Ansätze (Nebenläufigkeit) optimistische Zugriffskontrolle ohne Sperr-Mechanismen lokale Veränderungen werden ohne Verzögerung oder Blockierung ausgeführt entfernte Operationen werden zur Konsistenz-Sicherung umgewandelt jeder Autor hat zu jeden Zeitpunkt immer denselben Stand des Dokuments Operational Transformation zur Konsistenz-Sicherung automatische Konsistenz-Erhaltung mit OT Jupiter collaborative editing system, ein stark verbreiteter Synchronisationsalgorithmus verwendet veränderte Version des dopt (distributed Operational Transformation) Algorithmus zur Verwendung in Client-Server-Umgebungen 2-way-Prinzip verringert Kommunikationsaufwand Oliver Rieger, rieger@inf.fu-berlin.de 16

Konzept-Ansätze (Kommunikation) Client-Server-Ansatz für Synchronisation geringerer Kommunikationsaufwand geringere Komplexität (siehe hierzu Jupiter) Projekt-Host als Server-Instanz Ausbau der Kommunikation auf Basis von Smack 3.x Verwendung notwendiger neuer Erweiterungen (Bsp: Jingle, FileTransfer,... ) Realisierung der Server-Komponente durch eingebettet Logik im bestehenden Plugin ODER Realisierung auf Basis des ECF Servers Integration der bestehenden XMPP Kommunikation Verwendung existierender Protokoll-Adapter und Projekte Oliver Rieger, rieger@inf.fu-berlin.de 17

Konzept-Ansätze (Synchronisation) Paarprogrammierung an gemeinsamen Dateien bisheriger synchroner Ansatz wird weiterverfolgt alle Änderungen werden sofort an alle Teilnehmer kommuniziert Viele Driver arbeiten an unterschiedlichen Dateien in diesem Szenario kann es zu einem sehr großen Kommunikationsaufwand kommen verfolgen eines asynchronen Ansatzes nur beobachtete Dateien werden sofort synchronisiert Synchronisation aller Dateien vor Ausführung des Kompilier- Prozesses Historien-Informationen zum asynchronen Abgleich veränderter Dateien Verwendung einer Historie mit User-ID und Zeitpunkt Oliver Rieger, rieger@inf.fu-berlin.de 18

Offene Fragen (1) Schreibzugriff für zwei Teilnehmer? eng am Konzept der Paarprogrammierung synchroner Kommunikationsabgleich aller Dateien zu jedem Zeitpunkt ODER bei mehr als zwei Teilnehmer, die unterschiedliche Dateien bearbeiten steigt Kommunikationsaufwand stark an Verwendung einer teilweise asynchronen Kommunikation mit Historie Daten? Verfolger-Modus für Driver? synchronisiertes Öffnen der Dateien bei gleichzeitigen Schreibrechten Oliver Rieger, rieger@inf.fu-berlin.de 19

Offene Fragen (2) Priorität einer gesicherten Verbindung? durch eine Vielzahl von Kommunikationsmittel erschwerte Umsetzung bei Open Source Projekten Quellcode offen, Verschlüsselung trotzdem sinnvoll? Oliver Rieger, rieger@inf.fu-berlin.de 20

Evaluierung Kurze Evaluierungs-Runden Projekt-begleitend in den regelmäßig stattfindenden Projekt-Sitzungen Nach Abschluss der Haupt-Entwicklungsphase größere Evalierungs-Runde mindestens drei Teilnehmer längerer Zeitraum von mindestens zwei Stunden vordefinierte Einsatzszenarien / Aufgaben, die in diesem Zeitraum bearbeitet werden verteilte Standorte, die sich sowohl innerhalb des UNI- Netzwerks als auch in Weitverkehrs-Netzwerke befinden Oliver Rieger, rieger@inf.fu-berlin.de 21

Vorläufige Gliederung 1.Einleitung 2.Analyse des bestehenden Systems 3.Grundlagen CSCW-Systeme 1.Allgemeine Grundlagen 2.Existierende Umsetzungen 4.Konzeption für die Umsetzung 1.CSCW im Kontext der Paarprogrammierung 2.Netzwerkkommunikation 3.Kollaboration 4.Weitere Anforderungen 5.Entwurf und Implementierung 6.Evaluierung 7.Literaturverzeichnis Oliver Rieger, rieger@inf.fu-berlin.de 22

Zeitplan Einarbeitung in DPP I + DPP II (1-2) Analyse bestehender Probleme und Einschränkungen (3-5) Grundlagen CSCW-Systeme (6-7) Analyse existierender CSCW-Systeme (8-9) Grundlagen Algorithmen (10-11) Konzeption / Anpassung der Kommunikationsstruktur (12-20) Konzeption und Implementierung der Kollaboration (12-20) Ausarbeitung und Durchführung der Evaluierung (21-22) Überarbeitung der Ausarbeitung (23-24) Abschlusskorrektur (25) Abgabe (26) Oliver Rieger, rieger@inf.fu-berlin.de 23

Oliver Rieger, rieger@inf.fu-berlin.de 24 Danke!