Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Verification Runtime for SOFA
Název práce v češtině:
Název v anglickém jazyce: Verification Runtime for SOFA
Akademický rok vypsání: 2007/2008
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra softwarového inženýrství (32-KSI)
Vedoucí / školitel: doc. RNDr. Pavel Parízek, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 01.11.2007
Datum zadání: 01.11.2007
Zásady pro vypracování
SOFA is a modern component system, which provides the following features: hierarchical component model, component behavior specification and verification (via behavior protocols), distributed runtime environment, automatically generated connectors and support for SOA concepts.
The purpose of behavior verification in SOFA is, for a particular component application, (i) to detect communication errors between subcomponents of each composite component in the application, and (ii) to detect violations of certain properties by Java implementation of each primitive component; the supported properties of Java code are correspondence with the component behavior specification and absence of concurrency errors (e.g. deadlocks).
As for (ii), our current approach involves checking of each primitive component in isolation, since a single component typically generates a smaller state space than the whole application. Although in some cases it may be more efficient to check the whole component application as a single entity (i.e. as one Java program), the problem is that it is not possible to use standard runtime environment of SOFA in such a case, since it involves many advances features of Java (e.g. RMI and XML processing) that would make verification of Java code infeasible.

The goal of this thesis is to design and implement a lightweight runtime environment for SOFA ("verification runtime") that would allow feasible and efficient verification of complete component applications written in Java. In addition to that, the candidate should also implement a GUI front-end for the verification runtime and provide means for remote execution of verification tasks (e.g. on a cluster).
The Java PathFinder, which is a multi-purpose verification tool for Java byte code, is to be used as a model checking platform.
Seznam odborné literatury
1. SOFA component model, http://sofa.objectweb.org
2. T. Bures, P. Hnetynka, F. Plasil, J. Klesnil, O. Kmoch, T. Kohan, P. Kotrc: Runtime Support for Advanced Component Concepts, Proceedings of SERA 2007, IEEE CS, pages 337-345
3. Java PathFinder, http://javapathfinder.sourceforge.net
4. Environment Generator for Java PathFinder, http://dsrg.mff.cuni.cz/projects/envgen
 
Univerzita Karlova | Informační systém UK