Sub-method Structural and Behavioral Reflection

Denker, Marcus (2008). Sub-method Structural and Behavioral Reflection. (Dissertation, University of Bern, Philosophisch-naturwissenschaftliche Fakultät)

[img]
Preview
Text
denker-phd.pdf - Published Version
Available under License Creative Commons: Attribution-Share Alike (CC-BY-SA).

Download (2MB) | Preview

Computational reflection is a fundamental mechanism in object oriented languages. Reflection has proved useful in many contexts, such as in the design of development environments, language extension, and the dynamic, unanticipated adaptation of running systems We identify three problems with the current approach to reflection in object oriented languages: partial behavioral reflection needs to be anticipated, structural reflection is limited to the granularity of a method, and behavioral reflection cannot be applied to the whole system. To address these problems, we extend structural reflection to cover sub-method elements and present how sub-method structural reflection supports unanticipated partial behavioral reflection. We add the concept of context to represent meta-level execution and show how this allows behavioral reflection to be applied even to system classes. We describe an implementation in Smalltalk. Benchmarks validate the practicability of our approach. In addition, we present an experimental evaluation in which we show how the system is used for dynamic analysis. We realize dynamic feature analysis by annotating the sub-method structure of the system directly to denote features instead of recording full execution traces.

Item Type:

Thesis (Dissertation)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Denker, Marcus

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Language:

English

Submitter:

Anja Ebeling

Date Deposited:

29 Jan 2018 15:32

Last Modified:

11 Apr 2024 16:11

BORIS DOI:

10.7892/boris.104452

URI:

https://boris.unibe.ch/id/eprint/104452

Actions (login required)

Edit item Edit item
Provide Feedback