Syntax-based extraction of component behavior specifications
Syntax-based extraction of component behavior specifications
diploma thesis (DEFENDED)
![Document thumbnail](/bitstream/handle/20.500.11956/30682/thumbnail.png?sequence=7&isAllowed=y)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/30682Identifiers
Study Information System: 65346
Collections
- Kvalifikační práce [10926]
Author
Advisor
Referee
Šimko, Viliam
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Software Engineering
Date of defense
2. 2. 2010
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Pro velké softwarové systémy je možné použít komponentový způsob vývoje. Jeho výhody jsou, že lze snadno části použít opakovaně a pokud obsahuje i popis chování, tak lze systém snadněji analyzovat. Komponenty jsou tvořeny popisem rozhraní a volitelně popisem chovaní. Popis chování je možné zkoumat na porušení omezení jiných komponent při jejich použití, jestli chování je očekávané a jestli komponenty k sobě pasují. Popis chování definuje omezení použítí komponenty a jak reaguje na zavolaní každé své poskytované metody. Reakce popisuje pořadí a četnost volání metod požadovaných komponent. Manuální definování chovaní komponenty je náchylné k chybám a mělo by se zautomatizovat. Výsledkem této práce je nástroj který z kódu, který splňuje omezení, je schopen vygenerovat automaticky popis chování. Nástroj je možné použít pro automatické generování popisu chování při převodu běžného softwaru na komponenty nebo při úpravě komponenty ke kontrole změny chování změnené komonenty. Práce také obsahuje prozkoumání možných technologií využitelných pro analýzu. Nástroj je součástí mezinárodního Q-Impress projektu a využívá jeho nástroje pro svoji funkci a naopak.
There is a component based paradigm which can be used for large software systems. It has advantage that its parts - components can be resused and if contain behavior description it allows many behavior analyses. A component contains static description of interface for reusing and optionally behavior description for correctness analyses. It is possible to further analyze behavior description whether a component does not break restrictions of the required components, whether the resulted behavior is the expected one and whether all components fit together. Behavior description defines restrictions on component methods and how it reacts to an invocation of method. The reactions specify order and workflow of invoking methods from the required interfaces. Manual writing of component behavior is prone to bugs and it should be automated. The result of this work is a tool which can generate automatic behavior description from the source code that does not violate restrictions. The tool can be used to add behavior description during transformation legacy systems to component based ones or to check how source code changes affect behavior description. The work also contains an evaluation of possible technologies which can be used for analysis. The tool is a part of the international Q-Impress project and uses other...