Popis tématu

Diplomová práce v oboru Softwarové inženýrství.

Rozšíření nástroje pro verzování OSGi komponent

EN: Enhancing a OSGi component versioning tool

1. Nastudujte vlastnosti jazyka Java včetně verze JDK 7, zejména s ohledem na typové relace.
2. Seznamte se s komponentovým modelem OSGi, detailně pak s možnostmi deklarací závislostí v manifestu komponenty i v rozšiřujících službách.
3. Stávající implementaci služeb porovnání a verzování OSGi komponent rozšiřte na základě získaných poznatků o zohlednění generických typů, anotací a vlastností specifických pro OSGi.
4. Implementaci důkladně otestujte.
5. Vytvořte nástroje pro snadné využívání těchto služeb.

Literatura: dodá vedoucí práce

----

Literatura
* OSGi specifikace (core + compendium) + RFC připravovaných rozšíření + Spring DM
* Java Lang Spec a JSR k anotacím, closures
* Cardelli subtyping
* články o subtypingu a verzování komponent (Brada, Bauml, Valenta)

Pro testování bude třeba (a) vytvořit množství syntetických testů zahrnující všechny možné kombinace Java language možností, (b) poshánět co nejširší spektrum real life bundlů.

V rámci přípravy k poslednímu bodu (a na základě zkušeností současných diplomantů) by se hodilo celou množinu souvisejících implementačních projektů bundelizovat a mavenizovat.

----
Motivace:


V předchozích DP jsme implementovali nástroj pro automatické nastavování čísel verzí na softwarových modulech/komponentách, na základě analýzy a porovnání jejich rozhraní. Zůstávají v něm nedořešené části - důkladné otestování a odladění modulu porovnávajícího typové reprezentace, implementace porovnání několika aspektů jazyka Java (generiky, anotace) a nastavení správných čísel nebo rozsahů verzí na importovaných balících (je potřeba upravit čísla nastavená vývojářem komponenty). Cílem projektu je navrhnout a implementovat vhodné řešení, a nad kompletní ověřenou implementací připravit základní tooling pro produkční používání nástroje.

Práce je motivována spoluprácí s členy projektu Apache ACE (centrální úložiště OSGi komponent a jejich automatické nasazování/upgrade na cílových stanicích).

Za kvalitní implementaci je možno získat finanční odměnu.

Téma vypsal: Doc. Ing. Přemysl Brada, MSc., Ph.D. (UC 354)

Vypsáno pro akademický rok 2010/2011 dne: 2010-06-12

Zadáno komu: B.Mixánek (ex Jakub Truneček) (dokončeno: 2011-06-22)

Aktualizováno 0