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