The Reflection architectural pattern is an elegant reusable solution to design software applications based on a metamodel that provides a self-representation of the types used in the domain model. This provides significant benefits in terms of adaptability, maintainability, self-awareness, and direct involvement of domain experts in the configuration stage. However, while virtuous in the perspective of objectoriented development, the meta-model adds a level of indirection that may result in poor performance. The complexity is further exacerbated when the object-oriented domain model is mapped to a relational database. We identify four performance anti-patterns that may naturally occur in the design of a meta-modeling architecture, and for each of them we propose a refactoring intervention on the object model and on the database mapping strategy. Experimental results are reported to characterize the gain obtained applying the proposed refactoring techniques to a real case of data management system, in order to provide a roadmap for engineering the performance of meta-modeling architectures.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.