3. Systemy pracy grupowej

advertisement
SYSTEMY WSPÓŁPRACY ASYNCHRONICZNEJ TYPU
GROUPWARE I ICH ZASTOSOWANIA W
PROJEKTOWANIU
Zadanie BK, 2009
Adam Pawlak, Paweł Fraś, Dariusz Stachańczyk
ZUCiM
Instytut Elektroniki
Politechniki Śląskiej
Gliwice, 11-16-2009
STRESZCZENIE ............................................................................................................................................. 4
1.
WSPÓŁPRACA ASYNCHRONICZNA I JEJ ROLA W PROJEKTOWANIU ................................. 5
2.
ELEMENTY WSPÓŁPRACY ASYNCHRONICZNEJ ........................................................................ 7
2.1
Organizacja pracy oparta na współdzielonych przestrzeniach roboczych ........................................................ 7
2.2
Gromadzenie i zarządzanie udostępnionymi dokumentami............................................................................ 7
2.3
Zarządzanie zasobami przy pomocy diagramów przepływu pracy .................................................................. 7
2.4
Tworzenie wizualnej reprezentacji współdzielonych przestrzeni .................................................................... 7
2.5
Wersjonowanie dokumentów ........................................................................................................................ 8
2.6
Wirtualne środowisko .................................................................................................................................... 8
2.7
Tworzenie społeczności .................................................................................................................................. 8
2.8
Komunikacja synchroniczna ............................................................................................................................ 9
2.9
Komunikacja asynchroniczna .......................................................................................................................... 9
2.10
Kontrola użytkowników .................................................................................................................................. 9
2.11
System powiadomień ................................................................................................................................... 10
2.12
Reprezentacja kontekstu pracy ..................................................................................................................... 10
2.13
Bezpieczeństwo ............................................................................................................................................ 10
3.
SYSTEMY PRACY GRUPOWEJ ........................................................................................................11
3.1
CURE (http://cure.sourceforge.net) .............................................................................................................. 11
3.2
Microsoft Office Live Workspace (http://workspace.office.live.com/) ......................................................... 12
3.3
Dokumenty Google (http://docs.google.com) .............................................................................................. 13
3.4
BSCW (http://public.bscw.de/) .................................................................................................................... 14
3.5
Moodle (http://moodle.org/ ) ...................................................................................................................... 17
4.
PRZYKŁADY ZASTOSOWAŃ W PROJEKTOWANIU .................................................................18
4.1
Wykorzystanie środowiska CURE w projektowaniu IP komponentu USB PHY ............................................... 18
5.
WNIOSKI ..............................................................................................................................................21
6.
PERSPEKTYWY ..................................................................................................................................22
LITERATURA ..............................................................................................................................................23
STRESZCZENIE
Współpraca projektantów w grupie odnosi się do wszystkich procesów, które są niezbędne w celu
zrealizowania określonego zadania. Wraz z rozwojem komputerowych stacji roboczych oraz sieci
Internet, stała się możliwa współpraca nawet w silnie rozproszonych zespołach projektowych.
Współpraca ta może być wspierana przez różnorodne narzędzia, które są bardziej lub mniej
odpowiednie dla określonych metodologii projektowania. Celem niniejszego raportu jest wskazanie
na podstawowy rodzaj rozproszonej współpracy, a mianowicie na współprace asynchroniczną i jej
atrybuty.
Systemy współpracy asynchronicznej zwane także środowiskami współdzielonych przestrzeni
roboczych (ang. collaborative software, groupware, workgroup support systems) to oprogramowanie
wspierające grupę ludzi (np. projektantów) realizujących wspólne zadanie w sposób asynchroniczny1.
Asynchroniczna współpraca jest wystarczająca i często nawet preferowana w stosunku do
(wirtualnego) spotkania w wielu sytuacjach projektowych. Asynchroniczna współpraca wymaga żeby
członkowie zespołu mieli dostęp do wspólnie realizowanego projektu, by: modyfikować, dyskutować i
koordynować problemy, które pojawiają się podczas projektowania, a także by mieli świadomość
stanu realizacji zadań wykonywanych współbieżnie przez pozostałych członków grupy. Jakkolwiek
rozważana współpraca asynchroniczna dotyczy głównie współpracy w zespole rozproszonym, to
jednak znajduje również swoje zastosowanie w zespołach ko-lokowanych tj. pracujących w jednym
miejscu.
W raporcie wskazano i wyjaśniono różne aspekty współpracy asynchronicznej w grupie projektowej.
Dokonano krótkiego przeglądu systemów wspierających ten rodzaj współpracy zwanych także
środowiskami współdzielonych przestrzeni roboczych. Analizowano funkcjonalność wybranych
systemów współpracy pod kątem ich wykorzystania w projektowaniu systemów elektronicznych.
Rozpatrzono, m.in.: systemy CURE, BSCW, Share Point, oraz Google Docs. Odniesiono je również do
funkcjonalności oferowanej przez platformę zdalnej edukacji PŚ.
Przedstawiono wnioski, które dotyczą wykorzystania metod i narzędzi do współpracy
asynchronicznej w praktyce projektowej inżyniera elektronika. Dalszym celem pracy jest opracowanie
stanowiska laboratoryjnego do przygotowywanego dydaktycznego „Laboratorium Inżynierii
Rozproszonej”. Stanowisko laboratoryjne zademonstruje studentom zasadnicze własności
asynchronicznego środowiska współpracy w oparciu o jeden wybrany system (np. CURE ).
Tematyka niniejszego raportu jest częścią dyscypliny nazywanej CSCW – Computer Supported Cooperative
Work, oraz odpowiednio CSCWD – Computer Supported Cooperative Work in Design. CSCWD oferuje zwykle
nowe dla projektantów metody i narzędzia wspierające ich prace w rozproszonych zespołach projektowych.
1
1. WSPÓŁPRACA ASYNCHRONICZNA I JEJ ROLA W PROJEKTOWANIU
Projektowanie złożonych systemów elektronicznych zawierających heterogeniczne komponenty,
jak elementy analogowe i cyfrowe, układy optyczne, mechatroniczne (sensory), oraz złożone
programy sterujące, wymaga współpracy multi-dyscyplinarnych zespołów projektowych, które
wykorzystują różnorodne narzędzia. Tymi narzędziami są narzędzia typu CAD, narzędzia
modelowania i symulacji, optymalizacji, bazy danych oraz systemy przetwarzania wiedzy.
Projektanci lub grupy projektantów pracują w ramach większych zespołów projektowych
współbieżnie i niezależnie przez pewne okresy czasu używając różnych narzędzi projektowych,
które są ulokowane w różnych miejscach.
Współbieżna, rozproszona realizacja zadań
projektowych prowadzi do sytuacji, w których projektanci pracują na różnych wersjach i
poziomach abstrakcji projektu używając różnych perspektyw zajmując się przy tym różnymi
komponentami i aspektami projektowanego systemu. Wsparcie dla współpracy projektantów w
rozproszonych zespołach, aby spełnić ww. wymagania, musi wychodzić poza tradycyjne systemy
CAD. Systemy wspierające rozproszoną współprace w zespole projektowym muszą umożliwiać
projektantom dzielenie się informacją i danymi projektowymi, efektywną współpracę i koordynację
działań w ramach wspólnie realizowanego projektu.
Zadaniem niniejszego raportu jest praktyczne spojrzenie na wybrane zagadnienie rozproszonej
współpracy, a mianowicie współpracę asynchroniczną poprzez pryzmat jej użyteczności dla zespołu
projektowego. Generalnie rzecz ujmując, współpraca asynchroniczna jest obok współpracy
synchronicznej elementem komunikacji i współdziałania pomiędzy członkami zespołu w celu
realizacji wspólnego zadania. O ile współpraca synchroniczna wymaga synchronicznej, tj.
realizowanej w czasie rzeczywistym pracy lub komunikacji (telekonferencja bądź videokonferencja, czat, etc), o tyle współpraca asynchroniczna odbywa się w sposób asynchroniczny
pozwalając uczestnikom grupy na realizację własnych zadań w okresach czasu dla nich bardziej
odpowiednich.
Poniższy schemat ilustruje podział metod i narzędzi wspierających współpracę w zależności od
miejsca i czasu jej realizacji. Jak widać z tej klasyfikacji, wiele metod i narzędzi wspiera
asynchroniczny rodzaj pracy. Sądzimy, że studenci – przyszli projektanci powinni zapoznać się w
trakcie studiów ze starannie wybranymi metodami i narzędziami, na które w tym raporcie
wskazujemy.
Rys. 1 Rodzaje współpracy w zależności od miejsca i czasu.
Współpraca asynchroniczna jest zwykle charakteryzowana, jako współpraca obejmująca
pracowników (np. projektantów) w różnych miejscach i w różnym czasie. Innymi słowy
rozproszony zespół projektowy realizuje wspólny projekt, w którym projektanci wykonują swoje
zadania w czasie dla nich odpowiednim.
Współpraca asynchroniczna bardzo dobrze się sprawdza w sytuacjach, w których projektanci nie
muszą zbyt często interaktywnie koordynować pomiędzy sobą realizowanych zadań i nie muszą
śledzić na bieżąco tj. w czasie rzeczywistym, postępów prac współpracowników. Współpracownicy
w takim układzie mogą pracować niezależnie przez dłuższe okresy czasu zanim udostępnią wyniki
swojej pracy zespołowi. Praktyki projektowe w firmach zwykle też wspierają współpracę
asynchroniczną, aby zwiększyć efektywność pracy projektantów i ograniczyć im strumień
zewnętrznych przerwań w pracy.
Globalny charakter pracy, w której projektanci mogą pracować w różnych strefach czasowych, a
także mobilny charakter pracy, w której członek zespołu może być w różnych okresach czasu
dostępny on-line, również sprzyjają współpracy asynchronicznej [12].
Ważne dla pracy asynchronicznej jest udostępnianie wyników prac przez poszczególnych członków
zespołu (ang. sharing) wraz z informacja o kontekście wykonanego zadania. Natychmiastowe
powiadamianie członków zespołu o wykonanym zadaniu zwykle nie jest potrzebne, a nawet nie jest
wskazane. Niezbędna koordynacja działań zespołu powinna być zaplanowana szczególnie
starannie, by wspierać rozproszoną współpracę, a nie być czynnikiem krępującym projektantów
poprzez nadmierne monitorowanie postępu prac.
2. ELEMENTY WSPÓŁPRACY ASYNCHRONICZNEJ
2.1 ORGANIZACJA PRACY OPARTA NA WSPÓŁDZIELONYCH PRZESTRZENIACH ROBOCZYCH
Przestrzeń robocza (zwana też obszarem roboczym, ang. workspace) to wirtualna przestrzeń, w
której można gromadzić, zapisywać, otwierać i udostępniać dane w postaci elektronicznej. Obszar
roboczy może służyć do grupowania pokrewnych informacji dotyczących projektów. Może on
służyć jednej osobie lub grupie. Dostęp do obszaru roboczego można uzyskać z dowolnego
komputera wyposażonego w przeglądarkę sieci Web oraz połączenie internetowe.
2.2 GROMADZENIE I ZARZĄDZANIE UDOSTĘPNIONYMI DOKUMENTAMI
Podstawą współpracy asynchronicznej jest gromadzenie i udostępnianie w ramach grupy
dokumentów, danych projektowych oraz innych informacji związanych z realizowanymi przez
grupę zadaniami. Określone są też reguły zarządzania współdzielonymi dokumentami i innymi
zasobami.
2.3 ZARZĄDZANIE ZASOBAMI PRZY POMOCY DIAGRAMÓW PRZEPŁYWU PRACY
Inżynier elektronik ma do dyspozycji różnorodne zasoby, których powinien użyć w celu realizacji
zadania projektowego. Są to przede wszystkim narzędzia projektowe, bazy wirtualnych
komponentów, zbiory wzorców projektowania (ang. design patterns) oraz dokumentacja i dane
projektowe. Zasoby te są na ogół rozproszone.
Zarządzanie zasobami przy pomocy diagramów przepływu pracy (ang. workflow management) [17]
[19] ma wiele zalet, m.in. te, że diagramy są reprezentowane graficznie w sposób bardziej
przyjazny dla użytkownika. Diagramy przepływu pracy wspomagają organizację pracy grupową.
2.4 TWORZENIE WIZUALNEJ REPREZENTACJI WSPÓŁDZIELONYCH PRZESTRZENI
Przestrzeń robocza ma najczęściej postać strony www . Najpopularniejszym sposobem dostępu do
takiej przestrzeni jest zwykła przeglądarka internetowa. Ze względu na wykorzystaną technologię w
wielu przypadkach powinna ona mieć wsparcie dla technologii JavaScript oraz apletów java.
Witryny udostępniające przestrzenie robocze posiadają system zarządzania treścią (ang. Content
Management System, CMS), dzięki któremu możliwe jest tworzenie i modyfikacje stron bez
znajomości technologii w jakiej taka strona jest stworzona. Autorzy dostarczają proste w obsłudze
edytory typu WYSIWYG (ang. 'What You See Is What You Get) lub dla nieco zaawansowanych
użytkowników edytory html lub wiki.
2.5 WERSJONOWANIE DOKUMENTÓW
System kontroli wersji plików pozwala na przeglądnięcie historii wprowadzonych zmian oraz daje
możliwość przywrócenia starszej wersji. W przypadku edytowania pliku przez dwie czy więcej
osób jednocześnie, gdy edycja jest przeprowadzana poza obszarem roboczym, zmiany
wprowadzone przez użytkowników nie są widziane przez pozostałych. Możliwość porównania
zmian wprowadzonych przez wielu użytkowników w wielu wersjach dokumentu umożliwia
wprowadzenie wszystkich zmian w jednym ostatecznym dokumencie.
W przypadku systemów, gdzie dokumenty można edytować on-line niebezpieczeństwo
równoległego tworzenia dwóch czy więcej dokumentów z jednego źródłowego istnieje jedynie w
przypadku utracenia połączenia z serwerem.
Z drugiej strony systemy, które umożliwiają edycję plików poza środowiskiem pozwalają na edycję
dokumentów bez połączenia z siecią Internet.
2.6 WIRTUALNE ŚRODOWISKO
Środowisko współpracy jest w tym sensie wirtualne, że nie jest nie jest związane z konkretną
maszyną, ani z konkretnym miejscem pracy. Użytkownik grupy może używać własnego środowiska
zwykle na dowolnej maszynie z dostępem do sieci. Użytkownik może w znacznym stopniu
spersonalizować własne środowisko, tak by odpowiadało jego przyzwyczajeniom, oraz by mógł w nim
pracować możliwie najefektywniej.
2.7 TWORZENIE SPOŁECZNOŚCI
Osoby korzystające z rozwiązań systemów współpracy asynchronicznej tworzą wirtualną
społeczność. Każda z osób ma własne preferencje, które może w ograniczonym przez
oprogramowanie stopniu uzewnętrznić. Posiadanie przez każdego użytkownika własnej "strony
domowej" w ramach przestrzeni roboczej umożliwia takie działania. Strona domowa pozwala
użytkownikowi na umieszczenie niezbędnych informacji o sobie takich jak sposoby kontaktu, czy
też informacje na temat postępu w wykonywaniu zadań.
2.8 KOMUNIKACJA SYNCHRONICZNA
Mimo, iż systemy współpracy asynchronicznej koncentrują się właśnie na usługach
asynchronicznych, to w wielu przypadkach komunikacja synchroniczna jest wskazana, a nawet
niezbędna. Dlatego autorzy takich systemów udostępniają często w nich funkcjonalność, jaką dają
komunikatory. W przypadku współpracy użytkowników opartej na współdzielonych obszarach
roboczych komunikacja synchroniczna pozwala na bieżąco wymieniać uwagi na temat
edytowanego przez wiele osób pliku. Dzięki temu użytkownicy nie musza korzystać z dodatkowych
aplikacji (komunikatorów), a konwersacja jest powiązana z konkretnym zadaniem i jej historia jest
dostępna.
2.9 KOMUNIKACJA ASYNCHRONICZNA
Komunikacja asynchroniczna nie wymaga od adresata wiadomości natychmiastowej reakcję.
Pozwala to na bardziej swobodną wymianę informacji między współpracującymi osobami czy
zespołami. Nadawca jest świadomy, że jego informacja nie zostanie natychmiast przetworzona
przez adresata i daje mu czas na odpowiedź czy reakcję. Najpowszechniejszym przykładem
komunikacji asynchroniczna jest poczta elektroniczna (email).
Komunikacja asynchroniczna jest szczególnie przydatna w przypadku współpracy zespołów
pracujących w różnych strefach czasowych. Mimo jej niewątpliwych zalet w zastosowaniach
inżynierskich, w których projektanci wymieniają duże ilości danych w formie załączników, ma
wady jak choćby takie, że dane są replikowane na komputerach odbiorców. W takiej sytuacji dużo
bardziej efektywne jest udostępnianie danych projektowych w odpowiedniej przestrzeni projektu
[27] na wspólnym serwerze grupy.
2.10 KONTROLA UŻYTKOWNIKÓW
W przypadku współpracy wielu użytkowników zachowanie poufności danych jest bardzo ważne. Z
drugiej strony z punktu widzenia użytkowników ważne jest by kontrola uprawnień dotycząca
udostępnianych dokumentów mogła przebiegać w możliwie prosty sposób. Część popularnych
rozwiązań pozwala samym użytkownikom na decydowanie, kto i w jakim zakresie może korzystać
z ich plików. Konta administracyjne służą bardziej do zarządzania całym środowiskiem niż do
ingerowania we współpracę między użytkownikami.
2.11 SYSTEM POWIADOMIEŃ
Systemy powiadomień umożliwia informowanie użytkowników poprzez pocztę elektroniczną,
komunikatory, SMS o interesujących zdarzeniach w przestrzeniach roboczych, których są
członkami. Mogą przyczynić się do szybszej reakcji użytkownika na zadane mu pytanie (np. za
pomocą systemów komunikacji asynchronicznej), jednakże nie zmienia to faktu, że adresat sam
decyduje, kiedy odpowiedzieć na takie pytanie.
2.12 REPREZENTACJA KONTEKSTU PRACY
Niezależna praca asynchroniczna w grupie ma wiele zalet tak długo, jak długo użytkownik jest
świadomy kontekstu swej pracy. Użytkownik może koordynować swe działania z pracą pozostałych
członków grupy wykorzystując narzędzia reprezentacji kontekstu pracy. Kontekst pracy może być
reprezentowany na wiele sposobów. Jednym z nich są diagramy przepływu pracy (ang. workflows).
2.13 BEZPIECZEŃSTWO
Aspekt bezpieczeństwa, tak w przypadku wykorzystania obszarów roboczych do celów
prywatnych, jak i do celów firmowych jest bardzo ważny. Część serwisów nie umożliwia instalacji
środowiska na własnych serwerach, na co nie wszystkie firmy mogą się zgodzić. W takich
przypadkach wszystkie dokumenty przechowywane są na serwerach dostarczyciela serwisu
(providera) i to on jest odpowiedzialny za dostępność usług i zapewnienie bezpieczeństwa danych.
W pozostałych przypadkach dbałość o ten aspekt należy do administratorów firmy, którzy mogą
wprowadzić dodatkowe zabezpieczenia w dostępnie do usług takie jak szyfrowanie transmisji (np.
SSL), czy ograniczenie dostępu przez osoby postronnych (np. VPN).
3. SYSTEMY PRACY GRUPOWEJ
3.1
CURE (HTTP://CURE.SOURCEFORGE.NET)
CURE jest systemem umożliwiającym współpracę rozproszonych zespołów przy użyciu tylko
standardowej przeglądarki internetowej. Serwer CURE jest oparty na standardowych technologiach
takich jak serwer Tomcat, serwlety, poczta elektroniczna działająca w oparciu o serwer James (na
licencji open-source) oraz technologii Web services w oparciu o Apache Axis. Sewerem
bazodanowy oparty jest na MySQL.
Rys. 2 Widok pokoi w środowisku CURE
Z perspektywy użytkownika organizacja pracy w CURE opiera się na analogii do pokoi. Cała
przestrzeń robocza jest podzielona na pokoje, do których prowadzą drzwi zamknięte na klucz.
Użytkownik posiadający klucz do danego pokoju może do niego wejść i w zależności od rodzaju
klucza ma prawo do różnych akcji. Rożne rodzaje kluczy umożliwiają bardziej szczegółową
kontrolę dostępu. Dostęp ten dotyczy samego klucza, pokoju oraz dokumentów, które mogą się w
nim znaleźć.
Rys. 3 Definicja uprawnień
W powyższym przypadku użytkownik otrzymał klucz do pokoju, który ma prawo odrzucić.
Użytkownik ma prawo do edycji dokumentów znajdujących się w tym pokoju. Nadane uprawnienia
pozwalają na tworzenie nowych pokoi i zarządzanie nimi.
Przestrzeń robocza w CURE ma postać strony www, którą można edytować korzystając ze składni
WIKI w przypadku tekstu oraz TEX w przypadku równań matematycznych. Użytkownik może
umieszczać w przestrzeni roboczej dowolne pliki, które mogą być dostępne dla innych
użytkowników. Przestrzeń robocza w CURE nie umożliwia edycji plików w trybie on-line. Każdy
plik musi być wcześniej pobrany na komputer użytkownika, tam edytowany i z powrotem zapisany
w przestrzeni.
CURE jest wolnym oprogramowaniem rozpowszechnianym na licencji Apache, co umożliwia
stworzenie jego prywatnych instalacji.
3.2
MICROSOFT OFFICE LIVE WORKSPACE (HTTP://WORKSPACE.OFFICE.LIVE.COM/)
MS Office Workspace jest serwisem, który umożliwia przechowywanie i udostępnianie innym
użytkownikom dokumentów, arkuszy kalkulacyjnych, prezentacji zgodnych z formatem Microsoft
Office a także notatek, list zadań, kontaktów, kalendarzy zgodnych z formatem Microsoft Outlook.
Edycja dokumentów jest możliwa tylko za pomocą oprogramowania zewnętrznego tzn. MS Office
oraz MS Outlook, a na portalu możliwy jest tylko ich podgląd uwzględniający formatowanie tekstu.
Próba edycji dokumentu owocuje pobraniem pliku na komputer użytkownika i uruchomieniem
odpowiedniej aplikacji, a po zakończeniu plik zostaje przesłany do obszaru roboczego i tam
zapisany w nowej wersji.
Rys. 4 Interfejs użytkownika w MS Office Live Workspace
Skorzystanie z serwisu wymaga wcześniejszej rejestracji na stronie Microsoft i zaakceptowanie
warunków. Udostępnienie dokumentu innym osobom jest związane z podaniem adresu email
adresata.
3.3
DOKUMENTY GOOGLE (HTTP://DOCS.GOOGLE.COM)
Narzędzie „Dokumenty Google” jest częścią usług Aplikacje Google udostępnionych darmowo
przez firmę Google. Serwis ten umożliwia operacje na dokumentach, arkuszach kalkulacyjnych
oraz prezentacjach.
W przypadku dokumentów umożliwia on przesyłanie dokumentów w formacie MS Office,
OpenOffice, RTF, HTML dokumentów tekstowych i ich edycję edytorem typu WYSIWYG na
stronie www. Edytor umożliwia m.in. formatowanie dokumentów, sprawdzanie pisowni,
publikowanie dokumentów w postaci stron internetowych. Podobnie w przypadku prezentacji
użytkownik może przesłać plik w formacie MS Office lub OpenOffice i edytować go za pomocą
wbudowanego edytora WYSIWYG. Może również taką prezentację "wyświetlić" za pomocą
Internetu wielu użytkownikom jednocześnie. Dokumenty Google posiadają również wsparcie dla
arkuszy kalkulacyjnych. Użytkownik może importować arkusze jak poprzednio w formatach MS
Office i OpenOffice a także uniwersalnych takich jak csv czy txt.
Jedną podstawowych zalet Dokumentów Google jest możliwość edycji plików równocześnie przez
wielu użytkowników. Użytkownicy pracujący nad tym samym dokumentem są informowani o
miejscu i zakresie zmian dokonywanych przez innego użytkownika.
Dokumenty Google posiadają system powiadomień umożliwiający wysyłanie dziennych
podsumowań zmian dokonanych w subskrybowanych dokumentach. Podsumowanie takie wysyłane
jest za pomocą poczty elektronicznej i zawiera zakres zmian, jaki został wprowadzony przez
każdego z użytkowników w dokumencie. Możliwe jest również powiadamianie wysyłane
natychmiast po dokonanej zmianie.
Udostępnienie pliku do tylko do odczytu lub do edycji wiąże się z podaniem adresu email
użytkownika, który ma takie uprawnienia otrzymać. Możliwie jest również udostępnienie całych
katalogów z dokumentami.
Dokumenty Google umożliwiają również przeglądanie i edycję plików w trybie offline dzięki
dodatkowemu oprogramowaniu Google Gears. W takim przypadku kopia dokumentów jest
przechowywana na komputerze użytkownika i jest automatycznie synchronizowana z serwerem.
Rys. 5 Interfejs użytkownika w Dokumentach Google (źródło: Google)
3.4
BSCW (HTTP://PUBLIC.BSCW.DE/)
Środowisko BSCW (Basic Support for Cooperative Work) rozwijane jest od połowy lat 90-tych
przez Fraunhofer Institute for Applied Information Technology oraz OrbiTeam Software GmbH &
Co. KG. W chwili obecnej BSCW jest jednym z najbardziej znanych środowisk wykorzystujących
sieć Internet do organizacji i wsparcia współpracy rozproszonych zespołów. System BSCW bazuje
na idei współdzielonych przestrzeni roboczych (ang. collaborative workspace) dostępnych poprzez
interfejs WWW. Współdzielona przestrzeń robocza środowiska BSCW jest odpowiednikiem
folderu w systemie komputerowym, którego zawartość dostępna jest tylko dla wybranej grupy
użytkowników. Oczywiście, na serwerze BSCW może być udostępnionych wiele przestrzeni
roboczych dla różnych grup, a poszczególni użytkownicy BSCW mogą być jednocześnie członkami
kilku przestrzeni roboczych. Współdzielona przestrzeń robocza BSCW (Rys. 6) może zawierać
szereg różnego rodzaju obiektów, reprezentujących różne typy danych, takich jak pliki
dokumentów, foldery, linki do stron WWW, własne strony WWW, itd. Dodatkowo, przestrzeń
robocza może zawierać komponenty usprawniające komunikację pomiędzy użytkownikami (blog,
forum, email) czy organizację pracy zespołowej (wspólny kalendarz, lista zadań, książka
adresowa).
Rys. 6 Współdzielona przestrzeń robocza systemu BSCW (źródło: Pomoc systemu BSCW)
Mając na uwadze kluczowe problemy związane z organizacją i koordynacją współpracy poprzez
Internet, twórcy BSCW zaimplementowali w środowisku szereg funkcji, które umożliwiają
efektywne wsparcie rozproszonych zespołów realizujących wspólnie wybrane zadania. Do
najważniejszych cech i funkcji środowiska BSCW zaliczyć należy:
- Mechanizm autoryzacji i zarządzania prawami dostępu – przestrzeń robocza dostępna jest tylko
dla zarejestrowanych użytkowników BSCW, a każdy obiekt w niej zapisany może mieć
indywidualnie nadawane prawa dostępu. W ten sposób wybrani użytkownicy mogą mieć pełny
dostęp do danego obiektu, podczas gdy pozostali będą mieli prawo do odczytu lub wcale nie będą
mieli dostępu do tego elementu.
- Wbudowany system kontroli wersji – dokumenty w przestrzeni roboczej mogą być zapisywane z
wykorzystaniem mechanizmu kontroli wersji, co jest szczególnie użyteczne w przypadku
dokumentów edytowanych wspólnie przez kilku użytkowników.
- Integracja narzędzi ułatwiających komunikację – BSCW oferuje rozwiązania wspierające zarówno
komunikację asynchroniczną (email, forum dyskusyjne, blog) jak również dzięki integracji z
popularnymi komunikatorami internetowymi pozwalają na komunikację synchroniczną.
- Konfigurowalny system powiadomień - informacje o działaniach poszczególnych członków
zespołu są ważnym elementem ułatwiającym koordynację wspólnej pracy. Systemu BSCW
udostępnia tzw. Event service (raport zdarzeń), narzędzie które dostarcza użytkownikom informacje
o działalności innych osób, w odniesieniu do poszczególnych obiektów i dokumentów należących
do współdzielonej przez nich przestrzeni roboczej. Dodatkowo użytkownik środowiska BSCW
może być na bieżąco informowany kto z pozostałych członków zespołu zalogowany jest w chwili
obecnej w przestrzeni roboczej.
- Organizacja zadań za pomocą diagramów przepływu pracy (workflow management) – jednym z
obiektów współdzielonej przestrzeni roboczej środowiska BSCW może być tzw. Flow Folder – za
pomocą tego elementu można definiować ciąg zadań, które należy wykonać w danym projekcie. Do
każdego zadanie mogą zostać przypisane odpowiedzialne za dany etap osoby, które po zakończeniu
pracy przekazują wyniki i kontrolę nad diagramem pracy osobom odpowiedzialnym za kolejny
etap. Inny wariant wykorzystania diagramów pracy oferowany przez BSCW bazuje na szeregu
zadań, dla których można zdefiniować wymagane dane wejściowe i spodziewane rezultaty ( Rys. 7)
– tym samym można stworzyć sieć działań angażującą poszczególnych członków przestrzeni
roboczej, przypisując im indywidualne zadania.
Rys. 7 Diagram przepływu pracy BSCW stworzony z wykorzystaniem sieci zadań (źródło: Pomoc systemu
BSCW)
3.5
MOODLE (HTTP://MOODLE.ORG/ )
Wykorzystane
do
budowy
platformy
zdalnej
edukacji
Politechniki
Śląskiej
(http://platforma.polsl.pl) środowisko Moodle jest pakietem programów, którego głównym
zastosowaniem jest tworzenie stron WWW kursów internetowych. Pomimo tego, rozbudowana
funkcjonalność środowiska Moodle pozwala zakwalifikować je również jako narzędzie wspierające
rozproszoną pracę grupową. Głównymi komponentami środowiska Moodle są tzw. kursy, które
mogą być postrzegane jako analogia współdzielonych przestrzeni roboczych środowiska BSCW.
Dostęp do poszczególnych kursów może być indywidualnie przydzielany wybranym,
zarejestrowanym użytkownikom środowiska przez administratora danego kursu. W zależności od
specyfiki projektu przestrzeń robocza kursu może zawierać szereg różnych elementów (Rys. 8)
takich jak: strony WWW, dokumenty, foldery plików, linków do plików lub stron WWW, itd.
Rys. 8 Przykład kursu na platformie Moodle
Poza możliwościami publikacji i wymiany dowolnego typu dokumentów, środowisko Moodle
udostępnia szereg narzędzi wspierających komunikację pomiędzy uczestnikami danego kursu.
Użytkownicy Moodle mogą korzystać zarówno z narzędzi komunikacji asynchronicznej takich jak
email czy fora dyskusyjne, jak również komunikacji synchronicznej, np. poprzez chat, który może
być udostępniony, jako jeden z komponentów danego kursu. Elementem mającym ważny wpływ na
komunikację i jakość pracy zespołu jest również świadomość dostępności innych użytkowników –
Moodle wyświetla informację o aktualnie aktywnych w środowisku użytkownikach, do których w
prosty sposób można wysłać wiadomość. Ważną cechą środowiska Moodle jest rozbudowany
system powiadomień i raportowania aktywności poszczególnych użytkowników kursu. Uczestnicy
danego kursu są informowani za pomocą wiadomości email o wszystkich zmianach kluczowych
komponentów kursu, np. nowych wiadomościach na forum czy nowych dokumentach dostępnych
w przestrzeni roboczej kursu. Dodatkowo, historia zmian poszczególnych komponentów i
aktywność uczestników kursu jest rejestrowana, co pozwala na monitorowanie postępów prac i
działań poszczególnych użytkowników.
4. PRZYKŁADY ZASTOSOWAŃ W PROJEKTOWANIU
4.1
WYKORZYSTANIE ŚRODOWISKA CURE W PROJEKTOWANIU IP KOMPONENTU USB
PHY
W ramach projektu MAPPER [28] przeprowadzono szereg eksperymentów, w których
wykorzystano w praktyce środowisko CURE, jako platformę współpracy dla inżynierów
elektroników w projektowaniu komponentu IP. Były to m.in.:



Wirtualne spotkanie projektantów w celu uszczegółowienia specyfikacji projektu USB PHY
(MAPPER WP2, Pilot 1);
Rozproszone projektowanie i weryfikacja w ramach dwóch oddziałów firmy Evatronix
(MAPPER WP2, Pilot 2);
Rozproszone projektowanie i weryfikacja pomiędzy firmami Evatronix oraz advICo.
(MAPPER WP2, Pilot 3).
Celem wirtualnego spotkania było opracowanie specyfikacji technicznej projektowanego
komponentu USB oraz wypracowanie wspólnego interfejsu między częściami analogową oraz
cyfrową projektowanymi przez dwie różne firmy. W tym celu stworzono specjalne dwa pokoje,
pierwszy dla celów dyskusji nad specyfikacją projektu, drugi dla celów technicznych takich jak
tworzenie kodu, analiza błędów, sposoby weryfikacji itp. W ramach tych pokoi każdy z partnerów
tworzył własne strony zawierające prezentacje i inne materiały na temat części analogowej oraz
cyfrowej niezbędne dla innych użytkowników.
Rysunek poniżej ilustruje fragment interfejsu GUI środowiska CURE wraz z planem wirtualnych
pokoi, w ramach, których odbywała się współpraca. Użytkownik posiadający odpowiedni klucz
miał możliwość wejścia do pokoju związanego z odpowiednim pakietem roboczym i stworzenia
tam dokumentacji w formie strony www lub zapisania na serwerze dokumentów przygotowanych
wcześniej na swoim komputerze.
Rys. 9 Pokoje dla celów projetu MAPPER
Poniższy rysunek (Rys. 10) jest fragmentem przestrzeni roboczej zawierającej m.in. wspólną dla
obu części projektu specyfikację. Widoczna tabela zawiera spis sygnałów między częścią
analogową a cyfrową projektu USB PHY.
W górnej części rysunku widoczne są ikony umożliwiające nawigację po środowisku CURE,
operacje na przestrzeniach roboczych, dostęp do forum dyskusyjnego związanego z aktualnym
pokojem.
Rys. 10 Przestrzeń robocza zawierająca specyfikację projektu
Kolejny rysunek (Rys. 11) przedstawia inny fragment tego pokoju. Zawiera on inną część
specyfikacji projektu. Jest to opis transmisji danych między częścią analogową oraz cyfrową z
uwzględnieniem zależności czasowych.
Rys. 11 Przestrzeń robocza zawierająca specyfikację projektu
Poniższy rysunek (Rys. 12) przedstawia fragment przestrzeni roboczej wykorzystywanej do weryfikacji
projektu (pakiet WP3). Przestrzeń robocza została zorganizowana w taki sposób, by projektanci
nieznający środowiska projektowego części cyfrowej mogli testować wpływ zmian w części analogowej
na cały projekt. Dzięki zintegrowaniu CURE ze środowiskiem TRMS[14] [15] projektanci części
analogowej mieli możliwość skorzystania z narzędzi projektantów części cyfrowej bez ich instalowania
w swojej firmie [14]. W omawianym przypadku projektanci części analogowej (firma advICo)
korzystając z odpowiedniego linku w tabeli mogli uruchomić kompilację oraz symulację całego projektu
i sprawdzić, jaki skutek na cały projekt miały zmiany wprowadzone w części analogowej wykorzystując
w tym celu narzędzia zainstalowane w innej firmie (Evatronix).
Rys. 12 Przestrzeń robocza dla weryfikacji projektu
W ramach stworzonych pokoi użytkownicy korzystali z wbudowanych w środowisko systemów
komunikacji asynchronicznej z powiadamianiem poprzez e-mail, a także rozwiązań typu chat.
Mogli też skorzystać z systemu kontroli wersji dla tworzonych stron oraz dyskusji, a także
wykorzystać interfejs do serwera cvs dla plików projektowych.
W kolejnych dwóch eksperymentach użytkownicy mieli możliwość prowadzenia dyskusji na
tematy związane z samych projektowaniem i weryfikacją komponentu IP (z możliwością
zachowania historii zmian), a także mieli możliwość wywoływania zdalnych narzędzi dzięki
integracji ze środowiskiem TRMS [14] [15].
Dyskusje tych eksperymentów przedstawiono w [11], [4] oraz [5].
5. WNIOSKI
Inżynierowie pracujący z CURE [1] w ramach krótko omówionego wyżej procesu projektowania
wskazali na następujące zalety środowiska współpracy asynchronicznej, które ułatwiły im pracę:
- środowisko CURE umożliwiło projektantom udostępnianie w ramach międzynarodowej grupy
projektowej: specyfikacji projektu i jej uszczegółowianie oraz danych projektu w trakcie całego
procesu projektowania;
- sprawne zarządzanie użytkownikami – projektantami oraz danymi projektowymi, definiowanie
praw dostępu do poszczególnych pokoi wirtualnej przestrzeni;
- monitorowanie postępu prac projektowych oraz informowanie o wszystkich napotkanych
problemach, także informowanie członków grupy o sprawach organizacyjnych związanych z
projektem, jak np. terminarz telekonferencji oraz fizycznych spotkań grupy, harmonogram prac
dokumentacyjnych.
- asynchroniczna komunikacja z wykorzystaniem wbudowanego w CURE system poczty
elektronicznej, a także synchroniczna komunikacja z wykorzystaniem narzędzie “chat” oraz
“messanger”.
Proces projektowania układu IP USB PHY wraz ze szczegółowymi wnioskami projektantów dot.
współpracy asynchronicznej z wykorzystaniem środowiska CURE zostały przedstawione w
pracach: [4], [5], [27] oraz [11].
6. PERSPEKTYWY
Środowiska do pracy grupowej są intensywnie rozwijane zarówno, jako narzędzia komercyjne [14]
jak i prototypy badawczo-rozwojowe. Wiele projektów badawczych jest realizowanych, jak:
ECOSPACES [22], COSPACES [24], AMI@WORK [25], które zajmują się różnymi aspektami
przestrzeni współpracy (ang. collaborative workspaces). Przedstawione w raporcie zagadnienia
pracy asynchronicznej są częścią tematyki, dot. nowoczesnych środowisk współpracy (ang.
collaborative working environments) [20], które są realizowane, jako środowiska integrujące wiele
rodzajów usług wspierających rozproszoną pracę, w tym pracę asynchroniczną. W związku z
rozwojem szerokopasmowego dostępu do sieci Internet, postuluje się integrację usług
wspierających pracę asynchroniczną z komunikacją synchroniczną [20].
Dominującym paradygmatem realizacji nowych środowisk współpracy jest paradygmat oparty na
usługach, a środowiska są realizowane w architekturze SOA (ang. service-oriented architecture).
Przedstawiona wyżej elementy funkcjonalności środowiska współpracy asynchronicznej byłby
realizowane, jako specjalistyczne usługi, a następnie integrowane w środowisku typu SOA.
Użytkownicy byliby dodatkowo wspierani poprzez dostęp do biblioteki wzorników (ang. patterns)
wspierających grupę w realizacji asynchronicznej współpracy.
Zasadniczym celem niniejszego raportu jest wskazanie na podstawowe atrybuty współpracy
asynchronicznej projektantów pracujących w rozproszonym zespole projektowym. Zagadnienia te
będę elementem ćwiczenia pt. „Współpraca asynchroniczna projektantów i jej wsparcie przy
pomocy systemów typu groupware” w przygotowywanym Laboratorium Inżynierii Rozproszonej.
LITERATURA
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
Środowisko współpracy CURE: http://cure.sourceforge.net/
Till Schümmer, CURE in a Nutshell, Report, Cooperative Systems Department FernUniversität
in Hagen, 2007.
Till Schummer, Stephan Lukosch, Patterns for Computer-Mediated Interaction,
Wiley 2007.
W. Sakowski, S. Grzybek, P. Penkala, A. Pawlak, P. Fraś, Mixed-signal USB IP Core Design Using
Distributed Collaborative Approach, 16th Int. Conference (IEEE) Mixed Design of Integrated
Circuits and Systems, Łódź, 25-27.06.2009.
Adam Pawlak, Piotr Penkala, Paweł Fraś, Wojciech Sakowski, Guenter Grau, Szymon Grzybek,
Alexander Stanitzki, Distributed Collaborative Design of a Mixed-Signal IP Component ,
DSD2009, 12th EUROMICRO Conference on Digital System Design, Architectures, Methods and
Tools, Patras, Greece, 27-29 August 2009.
Wikipedia, the free encyclopedia http://en.wikipedia.org
Dokumenty google, http://docs.google.com
Microsoft Office Live Workspace, (http://workspace.office.live.com/)
MAPPER Project Deliverable D2, Model-driven Services Version 1, April 26, 2006.
MAPPER Project Deliverable D10, Model-driven Services Version 2, May 16, 2007.
MAPPER Project Deliverable D15, Collaborative design process model, analysis, and evaluation,
April 3rd, 2008.
W. Keith Edwards, et al. Designing and Implementing Asynchronous Collaborative Applications
with Bayou, Xerox Palo Alto Research Center, Proc. of 10th ACM Symposium on User Interface
Software and Technology (UIST’97), Banff, Alberta, Canada, Oct. 14-17, 1997.
Daniel Suthers, Ravikiran Vatrapu, Samuel Joseph, Nathan Dwyer and Richard Medina,
Representational Effects in Asynchronous Collaboration: A Research Paradigm and Initial
Analysis, Proc. of the 39th Hawaii International Conference on System Sciences, 2006.
Xu, J., J. Zhang, T. Harvey and J. Young, 2008. A survey of asynchronous collaboration tools.
Inform. Technol. J., 7: 1182-1187.
Adam Pawlak, Piotr Penkala, Paweł Fraś, Web services-based collaborative system for
distributed engineering, PRO-VE'08 9th IFIP Working Conference on Virtual Enterprises,
Poznań, Poland, 8 - 10 Sept. 2008.
Tool Registration and Management System (TRMS), SUT, http://www.ecolleg.org/trms/
T. Schattkowsky, W. Mueller, A. Pawlak. Workflow Management Middleware for Secure
Distance-Spanning Collaborative Engineering. In L. Fischer (ed.) The Workflow Handbook 2004,
WfMC, Lighthouse Point, FL, USA, 2004.
[18]
Regli W., Internet - enabled Computer Aided Design, Internet Computing, Jan-Feb. 1997.
[19]
Lavana H., Khetawat A., Brglez F., Koźmiński K.: Executable Workflows: A Paradigm for
Collaborative Design on the Internet, Proc. 34th DAC, 9-13 June 1997, Anaheim.
EUROPEAN COMMISSION, Information Society and Media Directorate-General, New
Collaborative Working Environments 2020, Report on industry-led FP7 consultations and 3rd
Report of the Experts Group on Collaboration@Work, 2006.
[20]
[21]
[22]
[23]
[24]
[25]
[26]
[27]
[28]
[29]
Wolfgang Prinz, Nils Jeners, Rudolf Ruland, Supporting the change of cooperation patterns by
integrated collaboration tools, Proc. 10th IFIP Working Conference on Virtual Enterprises
(PROVE‘09), 7-9 October 2009, Thessaloniki, Greece.
ECOSPACES, http://www.ami-communities.eu/wiki/ECOSPACE
Peristeras V., Decker S., Nasirifard P.“ECOSPACE: Reference Architecture in a Nutshell“.
EcoSpace Newsletter nº 2 2007.
COSPACES, http://www.cospaces.org/
AMI@WORK, http://www.ami-communities.eu/wiki/AMI%40Work_on-line_Communities
WfMC – Workflow Management Coalition, http://www.wfmc.org/
Adam Pawlak, Wojciech Sakowski, Piotr Penkala, Paweł Fraś, Szymon Grzybek, Distributed
Collaborative Design - A Case Study for Mixed-signal IP Core, artykuł zgłoszony do Przeglądu
Elektrotechnicznego.
THE FUTURE WORKSPACE: MOBILE AND COLLABORATIVE WORKING PERSPECTIVES, Eds.
Hans Schaffers, Torsten Brodt, Marc Pallot,Wolfgang Prinz, 2006 MOSAIC Consortium,
Telematica Instituut, The Netherlands, www.telin.nl
MAPPER, http://mapper.eu.org
Download