Write a Blog >>
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Sun 22 Oct 2017 14:30 - 15:00 at Regency B - Runtime Reflection Chair(s): Cyrus Omar

Code annotations are the core of the main APIs and frameworks for enterprise development, and are widely used on several applications. However, despite these APIs and frameworks made advanced uses of annotations, the language API for annotation reading is far from their needs. In particular, annotation reading is still a relatively complex task, that can consume a lot of development time and that can couple the framework internal structure to its annotations. This paper proposes an annotation-based API to retrieve metadata from code annotations and populate an instance with meta-information ready to be used by the framework. The proposed API is based on best practices and approaches for metadata denition documented on patterns, and has been implemented by a framework named Esnge Metadata. We evaluated the approach by refactoring an existing framework to use it through Esnge Metadata. The original and the refactored versions are compared using several code assessment techniques, such as software metrics, DSM (Dependency Structure Matrix) and bad smells detection, followed by a qualitative analysis based on source code inspection. As a result, the case study revealed that the usage of the proposed API can reduce the coupling between the metadata reading code and the annotations.

Sun 22 Oct (GMT-07:00) Tijuana, Baja California change

13:30 - 15:00: Meta 2017 - Runtime Reflection at Regency B
Chair(s): Cyrus OmarCarnegie Mellon University
meta-201713:30 - 14:00
Takuo WatanabeTokyo Institute of Technology
File Attached
meta-201714:00 - 14:30
Javier PimásPalantir Solutions, Stefan MarrUniversity of Kent
File Attached
meta-201714:30 - 15:00
Phyllipe LimaINPE - National Institute for Space Research, Eduardo GuerraINPE - National Institute for Space Research, Marco NardesINPE - National Institute for Space Research, Andrea MocciUniversita della Svizzera italiana (USI), Gabriele BavotaUniversità della Svizzera italiana (USI), Michele LanzaUniversità della Svizzera italiana (USI)