REDSEEDS pracuje nad automatycznym przeszukiwaniem repozytorium oprogramowania
Zespół naukowców pracuje w ramach projektu finansowanego ze środków unijnych nad automatycznym sposobem przeszukiwania centralnego repozytorium oprogramowania w celu wydobycia "artefaktów" programistycznych z aktualnie używanych systemów, aby wstawiać je do nowych systemów. Finansowany ze środków unijnych projekt REDSEEDS (System budowania oprogramowania w oparciu o wymagania) uzyskał niemal 3 mln EUR z tematu "Technologie społeczeństwa informacyjnego" Szóstego Programu Ramowego (6PR). Narzędzia i centralne repozytorium stworzone w ramach projektu REDSEEDS znacznie ułatwią pracę programistom, nie wspominając już o tym, że będzie ona znacznie mniej nużąca czy otępiająca. Do tej pory programiści musieli pisać oprogramowanie od zera, nawet jeśli istniało już podobne stworzone na potrzeby innej aplikacji lub sytuacji. Dzięki innowacji REDSEEDS, programiści będą w stanie stworzyć oprogramowanie, które spełnia dokładnie ich potrzeby. Zespół REDSEEDS opracował język specyfikacji wymagań, umożliwiający programistom wykorzystanie jednego interfejsu do formułowania swoich zapytań. Po wprowadzeniu wymagań do systemu proces zapytania odbywa się automatycznie. W tym czasie technologia obsługująca repozytorium przeszukuje je i dostarcza użytkownikom odpowiedzi, których szukali. "Zasadnicza różnica, jaką wprowadza nasza platforma polega na tym, że możliwe jest po prostu naszkicowanie wymogów własnego proponowanego systemu, które są następnie automatycznie porównywane z wymogami i możliwościami istniejących systemów" - wyjaśnia koordynator projektu REDSEEDS, Michał Śmiałek z Politechniki Warszawskiej oraz z Infovide SA w Polsce. "Wyniki są wyświetlane wraz z wyszczególnieniem różnic i podobieństw między starym a nowym systemem." Mówiąc krótko, programista może wybrać odpowiednie, przydatne dla siebie artefakty i pobrać je z istniejących systemów w celu wprowadzenia do nowego systemu. "W tym kontekście, przez artefakt rozumiemy artefakt programistyczny, który został stworzony na komputerze przez programistę" - mówi profesor Śmiałek. "To może być jakikolwiek model, dokument czy program, który jest wynikiem projektu programistycznego" - dodaje. "W ramach projektu można stworzyć kilka artefaktów służących za modele wzorcowe, a następnie artefakt, który jest kodem określającym sposób pracy systemu. Produkt końcowy również jest artefaktem obsługiwanym przez inne artefakty - czyli model i kod." Automatyczne dopasowywanie modeli wzorcowych, a następnie analizowanie, które fragmenty kodu można wykorzystać ponownie umożliwia programistom zestawienie wymogów nowego systemu z wymogami wcześniejszych systemów. W ten sposób otrzymujemy szybsze i wydajniejsze narzędzi dla programistów. "Jeżeli masz problem podobny to tego, który został wcześniej rozwiązany, wprowadzasz model i kod, i może oczywiście pojawić się konieczność nieznacznego dostosowania do nowego problemu, ale większość pracy została już wykonana w poprzednim projekcie" - mówi profesor Śmiałek. Na przykład "osoba logująca się do witryny musi nacisnąć klawisz, powodujący pojawienie się formularza, którego wypełnienie jest obowiązkowe. Naciskasz Enter i system sprawdza poprawność danych i rejestruje je w pamięci" - mówi. "Ten typ funkcjonalności można wykorzystywać w różnych typach domen programistycznych, ponieważ tak różne czynności jak rejestracja komputera w magazynie i rejestracja użytkownika w systemie online mogą posługiwać się taką samą logiką, więc znaczna część tego samego modelu i kodu systemu może być skopiowana." Repozytorium zostanie wprowadzone na rynek po atestacji. "Atrakcyjność handlowa produktu polega na znacznym ograniczeniu nakładu pracy wymaganego do stworzenia nowej aplikacji, a to oznacza możliwość opracowywania większej liczby bardziej rozbudowanych systemów przy wykorzystaniu takich samych zasobów ludzkich, co na pewno spotka się z dużym zainteresowaniem." Partnerzy projektu REDSEEDS pochodzą z Austrii, Litwy, Łotwy, Niemiec, Polski, Turcji i Wlk. Brytanii.