Show simple item record

dc.contributor.authorAntkiewicz, Michal
dc.date.accessioned2008-09-24 20:16:34 (GMT)
dc.date.available2008-09-24 20:16:34 (GMT)
dc.date.issued2008-09-24T20:16:34Z
dc.date.submitted2008-09-12
dc.identifier.urihttp://hdl.handle.net/10012/4030
dc.description.abstractFramework-specific modeling languages (FSMLs) help developers build applications based on object-oriented frameworks. FSMLs formalize abstractions and rules of the framework's application programming interfaces (APIs) and can express models of how applications use an API. Such models, referred to as framework-specific models, aid developers in understanding, creating, and evolving application code. We present the concept of FSMLs, propose a way of specifying their abstract syntax and semantics, and show how such language specifications can be interpreted to provide reverse, forward, and round-trip engineering of framework-specific models and framework-based application code. We present a method for engineering FSMLs that was extracted post-mortem from the experience of building four such languages. The method is driven by the use cases that the FSMLs under development are to support. We present the use cases, the overall process, and its instantiation for each language. The presentation focuses on providing concrete examples for engineering steps, outcomes, and challenges. It also provides strategies for making engineering decisions. The presented method and experience are aimed at framework developers and tool builders who are interested in engineering new FSMLs. Furthermore, the method represents a necessary step in the maturation of the FSML concept. Finally, the presented work offers a concrete example of software language engineering. FSML engineering formalizes existing domain knowledge that is not present in language form and makes a strong case for the benefits of such formalization. We evaluated the method and the exemplar languages. The evaluation is both empirical and analytical. The empirical evaluation involved measuring the precision and recall of reverse engineering and verifying the correctness or forward and round-trip engineering. The analytical evaluation focused on the generality of the method.en
dc.language.isoenen
dc.publisherUniversity of Waterlooen
dc.subjectFSMLsen
dc.subjectframeworksen
dc.subjectframework-specific modelsen
dc.subjectreverse engineeringen
dc.subjectforward engineeringen
dc.subjectround-trip engineeringen
dc.subjectmodelingen
dc.subjectstatic analysisen
dc.subjectincremental code transformationen
dc.titleFramework-Specific Modeling Languagesen
dc.typeDoctoral Thesisen
dc.pendingfalseen
dc.subject.programComputer Science (Software Engineering)en
uws-etd.degree.departmentElectrical and Computer Engineeringen
uws-etd.degreeDoctor of Philosophyen
uws.typeOfResourceTexten
uws.peerReviewStatusUnrevieweden
uws.scholarLevelGraduateen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record


UWSpace

University of Waterloo Library
200 University Avenue West
Waterloo, Ontario, Canada N2L 3G1
519 888 4883

All items in UWSpace are protected by copyright, with all rights reserved.

DSpace software

Service outages