Framework-Specific Modeling Languages

Framework-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...

Full description

Bibliographic Details
Main Author: Antkiewicz, Michal
Language:en
Published: 2008
Subjects:
Online Access:http://hdl.handle.net/10012/4030
id ndltd-WATERLOO-oai-uwspace.uwaterloo.ca-10012-4030
record_format oai_dc
spelling ndltd-WATERLOO-oai-uwspace.uwaterloo.ca-10012-40302013-01-08T18:51:42ZAntkiewicz, Michal2008-09-24T20:16:34Z2008-09-24T20:16:34Z2008-09-24T20:16:34Z2008-09-12http://hdl.handle.net/10012/4030Framework-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.enFSMLsframeworksframework-specific modelsreverse engineeringforward engineeringround-trip engineeringmodelingstatic analysisincremental code transformationFramework-Specific Modeling LanguagesThesis or DissertationElectrical and Computer EngineeringDoctor of PhilosophyComputer Science (Software Engineering)
collection NDLTD
language en
sources NDLTD
topic FSMLs
frameworks
framework-specific models
reverse engineering
forward engineering
round-trip engineering
modeling
static analysis
incremental code transformation
Computer Science (Software Engineering)
spellingShingle FSMLs
frameworks
framework-specific models
reverse engineering
forward engineering
round-trip engineering
modeling
static analysis
incremental code transformation
Computer Science (Software Engineering)
Antkiewicz, Michal
Framework-Specific Modeling Languages
description Framework-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.
author Antkiewicz, Michal
author_facet Antkiewicz, Michal
author_sort Antkiewicz, Michal
title Framework-Specific Modeling Languages
title_short Framework-Specific Modeling Languages
title_full Framework-Specific Modeling Languages
title_fullStr Framework-Specific Modeling Languages
title_full_unstemmed Framework-Specific Modeling Languages
title_sort framework-specific modeling languages
publishDate 2008
url http://hdl.handle.net/10012/4030
work_keys_str_mv AT antkiewiczmichal frameworkspecificmodelinglanguages
_version_ 1716573213144645632