12
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.

MARKOS – semantyczne repozytorium otwartego oprogramowania

Embed Size (px)

Citation preview

Page 1: MARKOS – semantyczne repozytorium otwartego oprogramowania

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

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

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

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

Istniejące rozwiązania

Page 6: MARKOS – semantyczne repozytorium otwartego oprogramowania

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

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

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

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

Funkcje systemu MARKOS

Zaawansowane wyszukiwanie kodu „ponad” repozytoriami,

Page 11: MARKOS – semantyczne repozytorium otwartego oprogramowania

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

Page 12: MARKOS – semantyczne repozytorium otwartego oprogramowania

Dziękuję za uwagę[email protected]

www.markosproject.eu

www.sourceforge.net/markosproject