Inlämning av Examensarbete / Submission of Thesis

Nima Tshering MSE-2010:35, pp. 59. COM/School of Computing, 2010.

The work

Författare / Author: Nima Tshering
nimatshering@gmail.com
Titel / Title: Fac tExtraction For Ruby On Rails Platform
Abstrakt Abstract:

In the field of software engineering, software architecture plays an important role particularly in areas of critical and large-scale software system development and over the years it has evolved as an important sub-discipline within the field of software engineering. However, software architecture is still an emerging discipline mainly attributed by the lack of standardized way for architectural representation and also due to lack of analysis methods that can determine if the intended architecture translates into correct implementation during the software development [HNS00]. Architecture compliance checking [KP07] is a technique used to resolve latter part of the problem and Fraunhofer SAVE (Software Architecture Visualization and Evaluation) is a compliance-checking tool that uses fact extraction. This master’s thesis provides fact extraction support to Fraunhofer SAVE for a system developed using Ruby on Rail framework by developing a fact extractor. The fact extractor was developed as an eclipse plug-in in Java that was integrated with SAVE platform, it consists of a parser that parses Ruby source code and then generates an abstract syntax tree. The architectural facts are extracted by analyzing these abstract syntax trees using a visitor pattern from which architecture of the system are generated. It is represented using the internal model of the SAVE platform. The fact extractor was validated using two reference systems of differing sizes developed using Ruby on Rails framework. A reference system with smaller size, which contains all the relevant Ruby language constructs, was used to evaluate correctness and completeness of the fact extractor. The evaluation result showed the correctness value of 1.0 or 100% and completeness value of 1.0 or 100%. Afterwards, a larger application with more complex architecture was used to validate the performance and robustness of the fact extractor. It has successfully extracted, analyzed and build the SAVE model of this large system by taking 0.05 seconds per component without crashing. Based these computations, it was concluded that the performance of the fact extractor was acceptable as it performed better than C# fact extractor.

Ämnesord / Subject: Datavetenskap - Computer Science\Software Engineering

Nyckelord / Keywords: Fact Extractor, SAVE, Ruby on Rails, Compliance checking, Parser, eclipse Plug-in

Publication info

Dokument id / Document id:
Program:/ Programme European Master on Software Engineering
Registreringsdatum / Date of registration: 12/01/2010
Uppsatstyp / Type of thesis: Masterarbete/Master's Thesis (120 credits)

Context

Handledare / Supervisor: Dipl. -Inf. Jens Knodel
Examinator / Examiner: Dr. Tony Gorschek
Organisation / Organisation: Blekinge Institute of Technology
Institution / School: COM/School of Computing

+46 455 38 50 00
I samarbete med / In co-operation with: Fraunhofer Institute of Experimental Software Engineering, Kaiserslautern, Germany

Files & Access

Bifogad uppsats fil(er) / Files attached: factextractionforrubyonrailsplatform.pdf (1128 kB, öppnas i nytt fönster)