Anda di halaman 1dari 37

Architektura i techniczne rozwizania w internetowym laboratorium fizyki oraz perspektywy ich rozwoju

bzdak@poczta.if.pw.edu.pl

Jacek BZDAK, Przemysaw DUDA, Jan GRABSKI, Grzegorz KALINOWSKI, Mikoaj KUBICKI, Mikoaj OLSZEWSKI, Pawe STPIE, Darek TEFELSKI

Internetowe Laboratorium Fizyki


Dzi w ILF mamy 6 eksperymentw Za pi lat moemy mie ich kilkanacie W Centralnym Laboratorium Fizyki jest realizowanych 17 zaj Student Wydziau Fizyki odbywa kilkadziesit zaj laboratoryjnych w ramach nauki na Wydziale
Nikt nie uzna magistra ktry nie speni tych kilkuset godzin na eksperymentach penowartociowym absolwentem WF PW.

Wstp
Internetowe Laboratorium Fizyki jest ju dojrzaym oprogramowaniem Cel: minimalizacja iloci pracy koniecznej do wdroenia eksperymentu.
Opaca si powici 10 godzin na mechanizm ktry zaszczdza godzin tworzenia eksperymentu!

Narzdzie: standaryzacja

Uwaga
Prezentacja dotyczy zmniejszania kosztw (upraszczania) kosztw zwizanych z oprogramowaniem Sprzt jest zupenie inn spraw!
I generalnie jest wikszy ni koszt oprogramowania Duy zakres zmiennoci, dla Badania charakterystyki licznika Geigera koszt by podobny. Dla Eksperymentu Comptona tor spektrometryczny by kilka razy droszy.

Tak czy inaczej koszt oprogramowania nie jest pomijalny.

Architektura ILF

Architektura II

Przykad: Eksperyment Comptona

Eksperyment Comptona
Pozwala to bada zalenoci energetyczne w efekcie Comptona Zadania eksperymentu:
Obracanie tarcz pomiarow Rejestracja zdarze w trybach jednoparametrycznym i dwuparametrycznym

Zdjcie ukadu pomiarowego

Wyniki eksperymentu I

Wyniki eksperymentu II

Protok XMPP

Protok XMPP
XMPP to standard komunikacji zatwierdzony przez IETF oparty na formacie XML Pierwotnie suy do obsugi internetowego chatu Wewntrz wiadomoci moemy zawrze dowoln wiadomo zgodn z XML

Zalety protokou XMPP


Oparty o XML mona wic sprawdza poprawno komunikatw Narzdzia do przetwarzania XML s atwo dostpne w kadym bardziej znaczcym jzyku programowania
Jeli byoby to podane mona stworzy serwer eksperymentu w LabView Nawet JavaScript moe tworzy wiadomoci XML

Format wiadomoci nie nas ogranicza Chat midzy uytkownikami mamy prawie `za darmo` Uytkownik o specjalistycznych potrzebach moe stworzy wasnego klienta.

Plany zwizane z protokoem


Wystandaryzowane komunikacji midzy klientem a eksperymentem
Stworzenie wasnego dialektu XMMP dla naszych celw Przykadowe elementy
Tablica wynikw Pojedynczy wynik Zestaw nastaw eksperymentu

Stworzenie bibliotek ktre umoliwi atwy odczyt naszego dialektu XMPP przez serwery eksperymentw i Hermesa

Zeus serce laboratorium

Zeus: serce laboratorium


Stworzony w Javie Przesya komunikaty XMPP i odpowiada za prawidowe ich routowanie Zapisuje przebieg eksperymentu do bazy danych
Jest to potrzebne by wysa wyniki uytkownikom ktrzy doczaj do eksperymentu Mona dokona analizy wszystkich poprzednich dowiadcze.

Routowanie komunikatw
Zeus `wie` jaki uytkownik jest podczony do jakiego eksperymentu
Eksperymentu to nie interesuje To zeus odpowiada za to eby wyniki pomiarw trafiy do uczestnikw eksperymentu

Zeus zna adresy IP dowiadcze


Dowiadczenia, co do zasady, nie s dostpne w sieci publicznej

Zapis wynikw do bazy danych

Doczanie do eksperymentu

Eksperyment nie partycypuje w tej wymianie. Nie wie nawet kto jest do niego podczony (oszczdzamy czas)

Problemy sieciowe

Odtwarzanie pocze
XMPP dziaa w oparciu o poczenia TCP/IP Podczas eksperymentu poczenie TCP/IP moe zosta zerwane
Problemy z sieci, problemy z klientem

Umoliwienie odtwarzania poczenia W planach: umoliwienie kontynuowania eksperymentu po duszej przerwie. Odtwarzanie pocze powinno by moliwie transparentne dla Eksperymentu.

Firewall

Serwery eksperymentu

Oprogramowanie serwera eksperymentu


Wieloplatformowo
Nie kontrolujemy platformy na ktrej dziaa serwer: sterowniki do urzdze mog dziaa pod wybranym systemem operacyjnym

W tej chwili cz serwerw napisanych jest w Pythonie cz w Javie Poza tym serwer nie ma zbyt wielu wymaga
Serwer moe dziaa na komputerze sprzed 5 lat. Na jednym PC moe dziaa kilka eksperymentw

Uwagi co do serwera dowiadczenia


Serwer powinien by niezaleny od konfiguracji systemu
Nie zawsze jest to moliwe

Wydajno nie jest problemem


Serwer Comptona podczas eksperymentu uruchamia cztery wtki

Jak najwicej odpowiedzialnoci przerzuci na elektronik


Wasne moduy z mikroprocesorem Oprogramowanie wasnego sprztu jest tasze. Do Comptona musielimy opracowa wasny sterownik toru spektrometrycznego.

Plany zwizane z serwerem


Moliwe e zrezygnujemy (tam gdzie to moliwe) z uruchamiania serwerw na komputerach klasy PC.
Okazuje si e prostsze rozwizania oparte na komputerach jednopytowych mog by lepsze i stabilniejsze.

Standaryzacja oprogramowania serwera (ju jest chcemy wicej)

Hermes: aplikacja kliencka

Hermes: klient ilf


Hermes napisany jest w Javie i SWT
Write once run anywhere Java Web Start - minimum instalacji W dalekich planach przejcie na eksperymenty w HTML5 (jeszcze mniej instalacji)

Architektura pluginowa
Moemy tworzy nowe eksperymenty oddzielnie od siebie Moemy atwo dodawawa i usuwa eksperymenty

Zadania w Hermesie
Hermes
Logowanie uytkownika Rezerwacja eksperymentw Wywietlanie obrazu z kamer

Plugin Api
Zapis wynikw do pliku Wywietlanie wynikw

Plugin eksperymentu (pisany dla kadego eksperymentu)


Odczyt/Wysyanie wiadomoci XMPP Startowanie/zatrzymywanie eksperymentu Zmiana parametrw eksperymentu

Plany dla Hermesa


Dalsza standaryzacja
W tym roku powstaa jednolita funkcjonalno tworzenia wykresw i zapisu danych

Minimalizacja iloci pracy potrzebnej do napisania eksperymentu Automatyzacja dodawania pluginw (eksperymentw) Mikoaj pewnie bdzie mwi wrcz o wprowadzeniu tworzenia eksperymentw w oparciu o ontologi.

Serwery kamer

Kamery
Na poprzednich diagramach nie byo kamer
Kamery s niezalenym systemem od eksperymentw! Zarwno cz hermesowa jak i eksperyment nie wiedz o kamerach!

Hermes pobiera od Zeusa adresy kamer z dowiadczenia


Nastpnie sam czy si do nich

Dwa protokoy komunikacji


Pobieranie obrazkw po HTTP Streaming RSTP

Protokoy kamer
Pobieranie obrazkw za pomoc HTTP
Zalety:
Bardzo proste do oprogramowania Zawsze dziaa (nawet za bardzo restrykcyjnym firewallem)

Wady:
Maa ilo klatek na sekund Due opnienie obrazu

RTSP
Zalety
Wydajne

Wady
Trudne do oprogramowania

Poczenie z kamer

ILF jest otwarty na wspprac


Moemy udostpnia nasz infrastruktur Moemy udostpni stworzone oprogramowanie instytucjom pracujcym nad wasnym laboratorium
Uwaga: ILF nie jest na razie open-source, jednak chcemy si nim dzieli.

Kontakt: bzdak@poczta.if.pw.edu.pl

Dzikuj za uwag

Anda mungkin juga menyukai