Oprogramowanie, które myśli samodzielnie

W miarę jak społeczeństwo coraz powszechniej korzysta z wysokiej jakości oprogramowania, aplikacje muszą stawać się możliwie jak najbardziej adaptacyjne. Naukowcy z UE przyczynili się do opracowania zaawansowanych systemów oprogramowania, pozwalających na szybką adaptację do zmieniających się potrzeb użytkownika i środowisk.

Systemy samoadaptacyjne to programy komputerowe, które potrafią reagować na bieżącą sytuację i rekonfigurować się, minimalizując w ten sposób potrzebę ingerencji człowieka, dzięki czemu produkt może potencjalnie dożywotnio spełniać wymagania użytkownika. Jednakże, przy aktualnie stosowanych metodach programistycznych, systemy nie przewidują zdarzeń, a tylko reagują na nie. Efektem braku zdolności do przewidywania zmian mogą być awarie oprogramowania.

Projekt RUNMORE (Run-time model projections for software failure prediction) przyczynił się do rozwoju dynamicznie adaptacyjnych systemów, które potrafią automatycznie przewidywać zdarzenia i unikać potencjalnych awarii.

Badacze wykorzystali nową koncepcję posługującą się modelami czasu uruchamiania, nadającymi systemom oprogramowania zaawansowane możliwości rozumowania na temat potencjalnych zmian oraz zdolność zarządzania nimi. Wywodzące się z opartych na modelach technologii programistycznych modele czasu uruchamiania są wbudowane w system i inicjują reguły adaptacyjne podczas jego wykonywania. Celem prac było zbadanie, w jaki sposób można wykorzystać te modele do monitorowania i analizy zachowania złożonych systemów oprogramowania, ich środowiska wdrażania i ich użytkowników. Zespół przygotował także rozwiązanie eliminujące konflikty między szeregiem różnych wymagań podczas procesu adaptacji.

Typowym przykładem systemów adaptacyjnych są aplikacje sieci Web, które usprawniają przeglądanie internetu dzięki adaptacji treści i zachowań do preferencji użytkownika. W oparciu o ten przykład uczeni wykazali, w jaki sposób można adaptować reguły nadawania serwera zgodnie z potrzebami klientów.

W środowiskach, w których przetwarzane są duże ilości zdarzeń, technika przetwarzania złożonych zdarzeń (CEP) pozwala identyfikować znaczące dane i reagować na nie tak szybko, jak to możliwe. Uczeni znaleźli nową strukturę, która potrafi uczyć się reguł CEP poprzez eksplorację wzorców w historycznych danych dotyczących zdarzeń. Ustalenia te mogą pozwolić na opracowanie nowej klasy systemów oprogramowania, które będą uczyć się złożonych reguł, pomagających im w samodzielnej rekonfiguracji i adaptacji do zmian.

Omawiane prace przyczyniają się do powstania oprogramowania, które będzie usprawniać swoje działanie wraz z upływem czasu, dzięki gromadzeniu informacji o zmianach zachodzących w jego środowisku oraz o zmieniających się wymaganiach użytkowników. Te samoadaptacyjne systemy nie tylko automatycznie dostosowują się do zmian, ale także przewidują je.

opublikowano: 2016-02-25
Komentarze


Polityka Prywatności