You are here: SE » ThesesHome » ThesisDPPXXX

Semi-lazy File-sharing

worked on by: Karl Held

Outline

At the moment, Saros sharing is project-based, which is to say the smallest unit users may synchronise is a whole project. While this has it advantages, and we wish to retain this capability, it can be rather time-consuming and unnecessary for people who wish to conduct "quick" sessions. It would therefore be advantageous if Saros had the capability to synchronise at the file level also.

There are a number of very important design decisions regarding such a capability. For example, sharing only certain files poses more problems when using a statically-typed language than a dynamically-typed one. Our own proposal is that Saros should share files in a semi-lazy fashion, sharing files in the background, but prioritising some over others.

This work provides candidates with the opportunity for very interesting and deep analysis of Saros behaviour and will require careful reasoning regarding design decisions.

Milestones and Planning

Milestone no. Past days Date Goals target accomplished wrench
1 DONE 1-2weeks 07. - 20.03.2011 Einarbeitung/Vorarbeit erreicht
2 DONE 1-2weeks 21. - 03.04.2011 wissenschaftliches Vorgehen klären erreicht
3 DONE 6-8weeks 04.04. - 16.06.2011 Konzepte für Lösungsansätze entwickeln und evaluieren erreicht
4 DONE 8-10weeks 17.06. - 20.08.2011 Lösungsansätze Umsetzen und Testen in Arbeit
5 DONE 3-4weeks 03. - 26.08.2011 Probleme ermitteln und lösen erreicht
6 DONE 2-3weeks 27.08 - 16.09.2011 Fertigstellung der Masterarbeit erreicht

Iteration Outline Partial Sharing

Iteration no. Past days Goals target accomplished wrench
1 DONE 1-2 weeks Partial Sharing without existing Session (Projects/Files) erreicht
2 DONE 1-2 weeks Partial Sharing without existing Session (Projects/Files/Folders) erreicht
3 DONE 1-2 weeks Partial Sharing without existing Session starting from Project Explorer Selection erreicht
4 DONE 1 week Partial Sharing with existing Session (add to Session) erreicht
5 DONE 2-3 weeks Partial Sharing with existing Session (Consistency Mngmt.) erreicht

Iteration Outline "Semi-Lazy" Sharing

Iteration no. Past days Goals target accomplished wrench
1 DONE 4-6 weeks Lazy Sharing in partiell geshareten Projekten erreicht
2 DONE 3-4 weeks Lazy Sharing in komplett geshareten Projekten erreicht
3 DONE 2-3 weeks Lazy Sharing während Projektsynchronisation erreicht
4 DONE 4 weeks activating Background Sync verworfen
5 DONE 2 weeks Bottom up Sync verworfen

Weekly Status

Weeks 1 + 2 (CW 10 - 12)

Activities

  • Orientierung in Code und Struktur
  • Besprechung der Masterarbeit/Aufgabe
  • Formalien

Results

  • ---

Next Steps

  • UseCases
  • Meilensteinplan

Problems

  • ---

Weeks 3 + 4 (CW 12 - 14)

Activities

  • UseCases
  • Meilensteinplan
  • wissenschaftliche Vorgehensweise klären
  • LaTex Dokument für Masterarbeit
  • Review

Results

  • UseCases
  • Meilensteinplan
  • Projektplan

Next Steps

  • Konzeptionierung
  • Iterationsplanung
  • Antrittsvortrag

Problems

  • ---

Week 5 (CW 15)

Activities

  • Planung von Itertionen
  • Implementierung am Partial Sharing
  • Antrittsvortrag

Results

  • Konzept für Partial Sharing
  • beginnende Implementierung Partial Sharing
  • Iterationsplanung Partial Sharing

Next Steps

  • weitere Implementierung
  • weitere Iterationsplanung

Problems

  • ---

Week 6 + 7 (CW 16 - 18)

Activities

  • Implementierung am Partial Sharing
  • verschiedene Bugs aus dem Bugtracker fixen
  • manuelles Testen

Results

  • verbessertes Partial Sharing / Baum in Wizard

Next Steps

Problems

  • Inconsistenzen bei der Erzeugung, dem Löschen und dem Verschieben von Dateien

Week 8 + 9 (CW 18 - 20)

Activities

  • Patch vom Partial Sharing publizieren
  • Änderungs und Verbesserungsvorschläge umsetzen
  • verschiedene Bugs aus dem Bugtracker fixen
  • erstes Design für Lazy Sharing überlegen

Results

  • stabiles Partial Sharing ohne Inconsistenzprobleme
  • Lazy Sharing Blockdiagramm

Next Steps

  • Partial Sharing beenden und Lazy Sharing Konzept erstellen

Problems

  • ---

Week 10 + 11 (CW 20 - 22)

Activities

  • Partial Sharing Feature auf aktuellen Trunk anpassen
  • Lazy Sharing Feature anfangen zu implementieren
  • verschiedene Bugs aus dem Bugtracker fixen

Results

  • verfeinertes Lazy Sharing Blockdiagramm

Next Steps

Problems

  • ---

Week 12 + 13 (CW 23 - 24)

Activities

  • Ansatz für Lazy Sharing implementiert
  • Änderungen am Partial Sharing

Results

  • erster rudimentärer Ansatz für Lazy Sharing

Next Steps

Problems

  • ---

Week 14 + 15 (CW 25 - 26)

Activities

  • adapting partial sharing on some performance issues and a aditional review
  • using FindBugs
  • bug fixing
  • thesis writing
  • ATM role in release week
  • reviewing

Results

Next Steps

Problems

  • ---

Week 16 + 17 (CW 27 - 28)

Activities

  • bug fixing
  • work on scientific approach
  • thesis writing

Results

Next Steps

Problems

  • ---

Week 18 + 19 (CW 29 - 30)

Activities

  • implementing the need based approach (in running session)
  • minor bug fixing
  • fixing presentation issue of partial sharing

Results

  • ---

Next Steps

  • work further on need based sync

Problems

  • need based approach unreliable

Week 20 + 21 (CW 31 - 32)

Activities

  • implementing the need based approach (during project negotiation)
  • fixing follow mode
  • thesis writing

Results

  • better and reliable working follow mode

Next Steps

  • work further on need based sync

Problems

  • ---

Week 22 + 23 (CW 33 - 34)

Activities

  • finishing the need based approach
  • thesis writing

Results

  • working need based approach

Next Steps

  • thesis writing
  • final bug fixes

Problems

  • ---

Week 24 + 25 (CW 35 - 36)

Activities

  • writing and error correcting on some chapters of thesis
  • modifikations due to performance issues of need based sync
  • bug fixing

Results

  • final thesis

Next Steps

  • printing thesis
  • test writing

Problems

  • ---

Week 26 - 30 (CW 37 - 41)

Activities

  • printing the thesis paper
  • STF tests writing for partial sharing and need based synchronisation
  • smaller fixes on patch of need based sync
  • preparation of final presentation
  • smaller bugfixes

Results

  • final presentation

Next Steps

  • ---

Problems

  • ---