You are on page 1of 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 STPIEO, Darek TEFELSKI

Internetowe Laboratorium Fizyki


Dzi w ILF mamy 6 eksperymentw Za pid lat moemy mied ich kilkanacie W Centralnym Laboratorium Fizyki jest realizowanych 17 zajd Student Wydziau Fizyki odbywa kilkadziesit zajd 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 powicid 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 badad zalenoci energetyczne w efekcie Comptona Zadania eksperymentu:
Obracanie tarcz pomiarow Rejestracja zdarzeo 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 zawrzed dowoln wiadomod zgodn z XML

Zalety protokou XMPP


Oparty o XML mona wic sprawdzad poprawnod komunikatw Narzdzia do przetwarzania XML s atwo dostpne w kadym bardziej znaczcym jzyku programowania
Jeli byoby to podane mona stworzyd serwer eksperymentu w LabView Nawet JavaScript moe tworzyd wiadomoci XML

Format wiadomoci nie nas ogranicza Chat midzy uytkownikami mamy prawie `za darmo` Uytkownik o specjalistycznych potrzebach moe stworzyd 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 wysad wyniki uytkownikom ktrzy doczaj do eksperymentu Mona dokonad analizy wszystkich poprzednich dowiadczeo.

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 dowiadczeo


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 zostad zerwane
Problemy z sieci, problemy z klientem

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

Firewall

Serwery eksperymentu

Oprogramowanie serwera eksperymentu


Wieloplatformowod
Nie kontrolujemy platformy na ktrej dziaa serwer: sterowniki do urzdzeo mog dziaad pod wybranym systemem operacyjnym

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

Uwagi co do serwera dowiadczenia


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

Wydajnod nie jest problemem


Serwer Comptona podczas eksperymentu uruchamia cztery wtki

Jak najwicej odpowiedzialnoci przerzucid na elektronik


Wasne moduy z mikroprocesorem Oprogramowanie wasnego sprztu jest taosze. Do Comptona musielimy opracowad 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 byd 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 tworzyd nowe eksperymenty oddzielnie od siebie Moemy atwo dodawawad i usuwad 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 funkcjonalnod 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 czd 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 ilod klatek na sekund Due opnienie obrazu

RTSP
Zalety
Wydajne

Wady
Trudne do oprogramowania

Poczenie z kamer

ILF jest otwarty na wspprac


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

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

Dzikuj za uwag

You might also like