Tematy prac magisterskich dla studentów Wydziału Informatyki i Zarządzania oraz Wydziału Elektroniki Politechniki Wrocławskiej
Jak tworzyć systemy informatyczne, by były stabilne, niezawodne, wydajne, skalowalne i otwarte na ciągły rozwój?
Jak dotąd nikomu nie udało się zdefiniować optymalnego sposobu, który spełniałby wszystkie w/w cechy, choć można stwierdzić, że Model Driven Architecture (http://www.omg.org/mda/) jest obiecującą próbą przybliżającą nas do właściwego rozwiązania. Nasz system HumanSTORE realizuje podstawowe założenia MDA, umożliwiając oddzielenie technicznego aspektu tworzenia tworzenia aplikacji od jej modelu biznesowego.
Wyobraź sobie, że tworzenie projektu systemu jest jednoczesne z jego implementacją, są gotowe transformacje i kompilatory tworzące gotowe aplikacje na podstawie abstrakcyjnego modelu oraz istnieje środowisko, które dostarcza narzędzi potrzebnych do realizacji tej idei. Jeżeli chcesz wnieść swój wkład w ich tworzenie, masz ambicje, by z efektów Twojej pracy korzystali programiści i architekci dużych systemów informatycznych i aby Twoja praca była punktem wyjścia do kolejnych prac, a nie była odłożona do szuflady...
...zapraszamy Cię do pracy nad jednym z tematów, jakie opracowali prof. Zbigniew Huzar i prof. Jan Magott wspólnie z prezesem Human Dialog - Andrzejem Krawczykiem. Zespół Human Dialog zapewni Ci gruntowne wsparcie merytoryczne oraz technologię, w której mogą powstać nowatorskie narzędzia kontrolne.
Metody i narzędzia inżynierii wydajności systemów zorientowanych na usługi
[1] Złożoność obliczeniowa systemów zdefiniowanych w środowisku HumanSTORE (prof. Zbigniew Huzar)
- Zapoznanie się z środowiskiem HumanSTORE (specyfikacja wyrażona diagramami klas z operacjami zdefiniowanymi w języku OCL).
- Wyznaczenie podzbioru diagramów klas i wyrażeń OCL.
- Klasyfikacja operacji wyrażeń OCL pod względem złożoności obliczeniowej.
- Opracowanie charakterystyk liczności obiektów w klasach (diagramy obiektów).
- Wyznaczanie złożoności obliczeniowej na podstawie diagramów klas, diagramów obiektów i wyrażeń OCL.
- Oszacowanie złożoności obliczeniowej wybranego projektu.
|
[2] Implementacja operacji na platformie J2EE na podstawie specyfikacji wyrażonej w środowisku HumanSTORE
- Zapoznanie się z środowiskiem HumanSTORE (specyfikacja wyrażona diagramami klas z operacjami zdefiniowanymi w języku OCL).
- Wyznaczenie podzbioru diagramów klas i wyrażeń OCL do implementacji.
- Transformacja specyfikacji w środowisku Human STORE w implementację na platformie J2EE.
- Szacowanie charakterystyk czasowych zaimplementowanych operacji.
|
[3] Implementacja operacji na platformie .NET na podstawie specyfikacji wyrażonej w środowisku HumanSTORE
- Zapoznanie się z środowiskiem HumanSTORE (specyfikacja wyrażona diagramami klas z operacjami zdefiniowanymi w języku OCL).
- Wyznaczenie podzbioru diagramów klas i wyrażeń OCL do implementacji.
- Transformacja specyfikacji w środowisku Human STORE w implementację na platformie .NET.
- Szacowanie charakterystyk czasowych zaimplementowanych operacji.
|
Następne lata:
[4] Charakterystyki wydajnościowe systemów zdefiniowanych w środowisku HumanSTORE
- Zapoznanie się z środowiskiem HumanSTORE (specyfikacja wyrażona diagramami klas z operacjami zdefiniowanymi w języku OCL).
- Zapoznanie się z wynikami prac [1,5].
- Wyznaczenie zależności pomiędzy metrykami obciążenia i metrykami złożoności obliczeniowej wyznaczonymi w pracy [1], a wynikami pomiarów przeprowadzonych w pracy [5].
|
[5] Zależne od platformy charakterystyki wydajnościowe systemów zaimplementowanych w środowisku HumanSTORE
- Zapoznanie się z wybranymi systemami zaimplementowanymi w środowisku HumanSTORE.
- Zapoznanie się z modelami obciążenia systemów informatycznych.
- Przeprowadzenie badań wydajności zaimplementowanych systemów dla różnych platform sprzętowo-komunikacyjnych.
- Wyznaczenie charakterystyk zorientowanych na użytkownika (średniego czasu odpowiedzi, przepustowości) w funkcji obciążenia.
|
[6] Metody szacowania wydajności wzorców projektowych oprogramowania (prof. Jan Magott)
- Wyznaczenie rozkładów czasów wykonania dla wzorców projektowych zaimplementowanych w platformie .NET.
- Wyznaczenie rozkładów czasów wykonania dla wzorców projektowych zaimplementowanych w środowisku opartym na języku JAVA (NetBeans IDE, Eclipse).
- Wyznaczenie rozkładów czasów wykonania dla współpracy wzorców projektowych zaimplementowanych w platformie .NET.
- Wyznaczenie rozkładów czasów wykonania dla współpracy wzorców projektowych zaimplementowanych w środowisku opartym na języku JAVA (NetBeans IDE, Eclipse).
- Porównanie platformy .NET i środowiska opartego na języku JAVA.
|
UWAGA: Zakres prac jest ograniczony do wzorców projektowych zamieszczonych w książce: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Wzorce projektowe
[7] Transformacje wydajnościowe diagramów aktywności (prof. Jan Magott)
- Opracowanie metod wyznaczania charakterystyk czasowych takich konstrukcji diagramów aktywności jak: złożenie sekwencyjne, złożenie równoległe, przekazywanie komunikatów, przekazywanie obiektów itd. na podstawie parametrów czasowych składowych tych konstrukcji.
- Opracowanie języka prezentacji parametrów i charakterystyk czasowych diagramów aktywności. Warianty: notatki, profil, metamodel.
- Opracowanie narzędzia wykonującego transformacje wydajnościowe diagramów aktywności.
|
[8] Transformacje wydajnościowe diagramów sekwencji (prof. Zbigniew Huzar)
- Opracowanie metod wyznaczania charakterystyk czasowych takich konstrukcji diagramów sekwencji jak złożenie sekwencyjne, złożenie równoległe, iteracja, przekazywanie komunikatów, tworzenie obiektów itd. na podstawie parametrów czasowych składowych tych konstrukcji.
- Opracowanie języka prezentacji parametrów i charakterystyk czasowych diagramów sekwencji. Warianty: notatki, profil, metamodel.
- Opracowanie narzędzia wykonującego transformacje wydajnościowe diagramów sekwencji.
|
[9] Transformacje wydajnościowe diagramów maszyn stanów (dr Tomasz Babczyński)
- Opracowanie metryk wydajnościowych adekwatnych do diagramów maszyn stanów.
- Opracowanie metod wyznaczania charakterystyk wydajnościowych takich konstrukcji jak: hierarchia, złożenie ortogonalne, rozgłaszanie komunikatów, wywołania aktywności, w funkcji charakterystyk ich składowych.
- Opracowanie języka wyrażania parametrów wydajnościowych lub zaadaptowanie profilu MARTE.
- Opracowanie narzędzia wykonującego transformacje wydajnościowe diagramów maszyn stanów.
|
[10] Generacja dynamicznych drzew niezdatności dla systemów wyrażonych w języku UML (prof. Jan Magott)
- Opracowanie języka reprezentacji parametrów niezawodnościowych elementów modeli wyrażonych w języku UML. Warianty: notatki, profil, metamodel.
- Opracowanie algorytmów transformacji modeli wyrażonych w języku UML z rozszerzeniami niezawodnościowymi w dynamiczne drzewa niezdatności.
- Implementacja powyższych algorytmów.
|
[11] Wyznaczanie wartości miar wydajnościowych modeli UML systemów komponentowych na platformie EJB za pomocą symulacji
- Określenie badanych miar wydajnościowych, metryk złożoności projektu systemu, sposobu modelowania parametrów platformy, modelowania otoczenia systemu (aktorów, scenariuszy, intensywności wywołań scenariuszy).
- Przygotowanie symulatora z wykorzystaniem istniejących bibliotek, szkieletów rozwiązań.
- Badanie przykładowych systemów komponentowych.
- Weryfikacja symulatora.
|
[12] Narzędzie wspierające budowę specyfikacji systemów wyrażonej w HumanStore na podstawie diagramów aktywności (prof. Jan Magott)
- Opracowanie wzorców modelowania specyfikacji zachowania systemu z wykorzystaniem diagramów aktywności.
- Propozycja transformacji opracowanych wzorców do specyfikacji systemów wyrażonej w HumanSTORE.
|
[13] Narzędzie wspierające budowę specyfikacji systemów wyrażonej w HumanSTORE na podstawie diagramów sekwencji (prof. Zbigniew Huzar)
- Opracowanie wzorców modelowania specyfikacji zachowania systemu z wykorzystaniem diagramów sekwencji.
- Propozycja transformacji opracowanych wzorców do specyfikacji systemów wyrażonej w HumanSTORE.
|
[14] Narzędzie wspierające budowę specyfikacji systemów wyrażonej w HumanSTORE na podstawie diagramów stanów (dr Tomasz Babczyński)
- Opracowanie wzorców modelowania specyfikacji zachowania systemu z wykorzystaniem diagramów stanów.
- Propozycja transformacji opracowanych wzorców do specyfikacji systemów wyrażonej w HumanSTORE.
|