Komputery, które będą wydajniej zarządzać same sobą
Sprawne funkcjonowanie współczesnego świata zaawansowanych technologii jest uzależnione od milionów programów komputerowych sterujących dosłownie wszystkim, od ruchu lotniczego i telekomunikacji po służbę zdrowia i biznes. Nieprawidłowe działanie tych procesów i funkcji oprogramowania mogłoby mieć katastrofalne skutki dla całego społeczeństwa. Dlatego istotne jest, aby oprogramowanie miało zdolność adaptacji do zmian lub wyprzedzania ich w celu utrzymywania optymalnego poziomu działania. Jest to szczególnie ważne ze względu na nieuchronne zmiany i różnice warunków w środowiskach programowych i sprzętowych (na przykład w systemach cyberfizycznych sterujących otoczeniem fizycznym) oraz w systemach interaktywnych, gdzie profile użytkowników ulegają ciągłym zmianom. W tym kontekście partnerzy finansowanego ze środków UE projektu SMSCOM (Self-managing situated computing) zajęli się opracowaniem oprogramowania zdolnego do samoadaptacji i reagowania na zmiany w celu zapobiegania ewentualnym awariom. Zdefiniowano narzędzia i metody niezbędne do projektowania, weryfikowania i eksploatowania niezawodnego, samozarządzającego oprogramowania sytuacyjnego. Takie oprogramowanie mogłoby przystosowywać się do zmian różnorodnych czynników, takich jak lokalizacja, czas uruchomienia aplikacji, używane urządzenie i warunki otoczenia, na przykład natężenie światła lub temperatura. Zaprojektowane oprogramowanie realizuje funkcję samozarządzania poprzez pętlę sterującą, która wykrywa informacje sytuacyjne i wprowadza zmiany. Choć już istnieją aplikacje działające w taki sposób w różnorodnych zastosowaniach, badacze opracowali całościowe i kompleksowe podejście do samozarządzających sytuacyjnych systemów komputerowych. W okresie realizacji projektu SMSCOM stworzono nową metodologię tworzenia aplikacji samoadaptacyjnych z wykorzystaniem zautomatyzowanych narzędzi i metod formalnych. Uwzględnienie całego cyklu życia samozarządzających sytuacyjnych systemów komputerowych może odmienić oblicze projektowania oprogramowania. Badania stanowią solidną podstawę dla tworzenia lepszego, bezpieczniejszego i wydajniejszego oprogramowania już w niedalekiej przyszłości.