Mai, Yun (2001) Applying reflection in object-oriented software design. Masters thesis, Concordia University.
Preview |
Text (application/pdf)
6MBMQ64060.pdf |
Abstract
thesis work performs a series of experiments on applying reflection technique to improve software design. First, a REFLECTIVE V ISITOR pattern was captured to improve the traditional VISITOR pattern. Reflection enables a visitor to perform a run-time dispatch action on itself. The cyclic dependencies between the visitor structure and the element structure are broken, thus both of them can be reused independently. Secondly, a parser framework was developed by applying several patterns. Especially, the REFLECTION pattern is used in the design of dynamically handling a parsing process by separating the system into two levels. The base-level defines the grammar rules. The meta-level handles the complex relationships of these rules. Reflection technique is used to discover grammar rules at run-time and determines the parsing order. Third, a dynamic object model was defined for a virtual machine that can support reflection. We demonstrated Forman's theory by developing a simplified object model based on a single inheritance system with the support of only one metaclass. Finally, an extensible and reusable compiler system (front-end) for the Decaf programming language was designed and implemented.
| Divisions: | Concordia University > Gina Cody School of Engineering and Computer Science > Electrical and Computer Engineering |
|---|---|
| Item Type: | Thesis (Masters) |
| Authors: | Mai, Yun |
| Pagination: | x, 166 leaves : ill. ; 29 cm. |
| Institution: | Concordia University |
| Degree Name: | M.A. Sc. |
| Program: | Electrical and Computer Engineering |
| Date: | 2001 |
| Thesis Supervisor(s): | de Champlain, Michel |
| Identification Number: | QA 76.76 P37M35 2001 |
| ID Code: | 1484 |
| Deposited By: | lib-batchimporter |
| Deposited On: | 27 Aug 2009 17:19 |
| Last Modified: | 13 Jul 2020 19:49 |
| Related URLs: |
Repository Staff Only: item control page


Download Statistics
Download Statistics