MARKOS – semantyczne repozytorium otwartego oprogramowania
-
Upload
bartekel -
Category
Technology
-
view
118 -
download
1
Transcript of MARKOS – semantyczne repozytorium otwartego oprogramowania
![Page 1: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/1.jpg)
MARKOS – semantyczne repozytorium
otwartego oprogramowania
Alicja Laskowska, Paweł Kędziora, Marcin Krystek,
Bartosz Lewandowski, Cezary Mazurek, Juliusz Pukacki
Konferencja INFOBAZY 2014, Gdańsk-Sopot, 8-10 września 2014r.
![Page 2: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/2.jpg)
Otwarte oprogramowanie (open source, OSS, FLOSS) –
pozycja, znaczenie
The Future of Open Source – 2014, http://www.slideshare.net/blackducksoftware/2014-future-of-open-source-survey-results
![Page 3: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/3.jpg)
Otwarte oprogramowanie - popularność
95%
By 2016, 95% of IT organizations will leverage open-source software in their mission-critical IT
portfolios.
Gartner, 2012
![Page 4: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/4.jpg)
Reużywalność (re-use)
• Możliwość wielokrotnego wykorzystania gotowych i
sprawdzonych komponentów
• Czas implementacji vs. jakość tworzonego kodu
• Różne poziomy granularności
– Fragmenty kodu,
– Klasy, biblioteki
– Całe projekty
• „Stymulatory”
– Wyszukiwanie kodu
– Analiza struktury kodu i zależności
– Analiza licencji
![Page 5: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/5.jpg)
Istniejące rozwiązania
![Page 6: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/6.jpg)
Wyzwanie
• Brak globalnego widoku pokazującego strukturę kodu,
zależności strukturalne i licencyjne
• Środowiska programistyczne (IDEs)
– Analiza struktury oprogramowania
– Konieczność importu wszystkich analizowanych
komponentów
– Brak analizy licencji
– Brak bardziej złożonych analiz
• Repozytoria kodu (forges), wyszukiwarki
– Wsparcie dla wyszukiwania, analizy aktywności w
projektach, prezentacja metryk
– Brak analizy struktury kodu
– Prosta informacja o licencjach
– Brak analizy powiązań pomiędzy projektami
![Page 7: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/7.jpg)
MARKOS - wizja
• Usługa wspomagająca programistów / architektów / kierowników projektów / prawników
• Semantyczne repozytorium / automatyczna usługa sieciowa
• Źródła: heterogeniczne i rozproszone zasoby informacyjne
• Zintegrowany widok na dane projektowe i kod źródłowy
– Wyszukiwanie i analiza kodu
– Struktura kodu, zależności, licencje
– Wiele języków programowania
• Interfejs „dla ludzi i maszyn”
– Web
– LinkedData
• Pakiet OSS
![Page 8: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/8.jpg)
Architektura systemu MARKOS
• Pozyskiwanie metadanych projektów OSS
• Analiza oprogramowania i licencji
• Przechowywanie danych w semantycznym
repozytorium
• Interfejs „dla ludzi i maszyn”
![Page 9: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/9.jpg)
Repozytorium semantyczne
• Centralne repozytorium systemu MARKOS
• Ontologia
– Dedykowana ontologia na bazie m.in. DOAP, QUALIPSO
– model hierarchiczno-modułowy
• podstawowe koncepty: encja (Entity), kontener (Container)
• koncepty wspólne dla języków programowania: program (Program), plik źródłowy
(SourceFile), biblioteka (Library)
• koncepty specyficzne dla danego języka oprogramowania
• Interfejsy
– Java API (SPARQL -> obiekty/kolekcje obiektów Java)
– LinkedData (RDF)
– Niskopoziomowe API (trójki)
![Page 10: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/10.jpg)
Funkcje systemu MARKOS
Zaawansowane wyszukiwanie kodu „ponad” repozytoriami,
![Page 11: MARKOS – semantyczne repozytorium otwartego oprogramowania](https://reader034.fdocuments.net/reader034/viewer/2022052413/55a7ce6d1a28abe6408b485a/html5/thumbnails/11.jpg)
Podsumowanie
• Inspiracja – Integracja - Implementacja
• MARKOS - semantyczne repozytorium kodu źródłowego oraz skojarzona z nim automatyczna
usługa sieciowa, dostarczająca zintegrowany widok na dane projektowe i kod źródłowy,
pochodzące z heterogenicznych i rozproszonych zasobów informacyjnych
• Repozytorium zaindeksowanych projektów OSS
– Aktualnie ponad 600 projektów zaindeksowanych
– Uzupełnienie innych otwartych repozytoriów dot. OSS, np. FLOSSMETRICS
• Uniknięcie tzw. długu technologicznego (technical debt)
• Pakiet OSS
– Budowa społeczności
– Dalszy rozwój