Towards the Integration of Metaprogramming Services into Java']Java

被引:1
|
作者
Lagartos, Ignacio [1 ]
Manuel Redondo, Jose [1 ]
Ortin, Francisco [1 ]
机构
[1] Univ Oviedo, Comp Sci Dept, C Calvo Sotelo S-N, Oviedo 33007, Spain
来源
ENASE: PROCEEDINGS OF THE 12TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING | 2017年
关键词
!text type='Java']Java[!/text; Metaprogramming; Structural Intercession; Dynamic Code Evaluation; Static Typing; Early Type Error Detection; RUNTIME PERFORMANCE; SUPPORT; DESIGN;
D O I
10.5220/0006355802770284
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic languages are widely used in scenarios where runtime adaptability is a strong requirement. The metaprogramming features provided by these languages allow the dynamic adaptation of the structure of classes and objects, together with the evaluation of dynamically generated code. These features are used to build software capable of adapting to runtime changing environments. However, this flexibility is counteracted with the lack of static type checking provided by statically typed languages such as Java. Static type checking supports the earlier detection of type errors, involving a valuable tool in software development. In this position paper, we describe the steps we are following to add some runtime metaprogramming services to Java. We intend to provide the runtime flexibility of structural intercession and dynamic code evaluation provided by most dynamic languages, without losing the robustness of the compile-time type checking of Java. The metaprogramming services are provided as a library so, unlike other existing systems, any standard virtual machine and language compiler could be used.
引用
收藏
页码:277 / 284
页数:8
相关论文
共 50 条
  • [41] Nonblocking collectives for scalable Java']Java communications
    Ramos, Sabela
    Taboada, Guillermo L.
    Exposito, Roberto R.
    Tourino, Juan
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2015, 27 (05) : 1169 - 1187
  • [42] FeatherTrait: A modest extension of Featherweight Java']Java
    Liquori, Luigi
    Spiwack, Arnaud
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (02):
  • [43] Design pattern implementation in Java']Java and AspectJ
    Hannemann, J
    Kiczales, G
    ACM SIGPLAN NOTICES, 2002, 37 (11) : 161 - 173
  • [44] Effective sign extension elimination for Java']Java
    Kawahito, M
    Komatsu, H
    Nakatani, T
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2006, 28 (01): : 106 - 133
  • [45] An instruction folding solution for a Java']Java processor
    Tan Yiyu
    Yau Chihang
    Fong, Anthony S.
    Yang Xiaojian
    COMPUTER SYSTEMS SCIENCE AND ENGINEERING, 2009, 24 (03): : 133 - 143
  • [46] An Architecture to use Easy Java']Java-Java']Javascript Simulations in New Devices
    Saenz, Jacobo
    Esquembre, Francisco
    Garcia, Felix J.
    de la Torre, Luis
    Dormido, Sebastian
    IFAC PAPERSONLINE, 2015, 48 (29): : 129 - 133
  • [47] jDSSAT: A Java']JavaScript Module for DSSAT-CSM integration
    Resenes, Jonas de Abreu
    Pavan, Willingthon
    Holbig, Carlos Amaral
    Cunha Fernandes, Jose Mauricio
    Shelia, Vakhtang
    Porter, Cheryl
    Hoogenboom, Gerrit
    SOFTWAREX, 2019, 10
  • [48] Analysis and Reduction of Memory Inefficiencies in Java']Java Strings
    Kawachiya, Kiyokuni
    Ogata, Kazunori
    Onodera, Tamiya
    ACM SIGPLAN NOTICES, 2008, 43 (10) : 385 - 401
  • [49] Efficient runtime aspect weaving for Java']Java applications
    Rodriguez-Prieto, Oscar
    Ortin, Francisco
    O'Shea, Donna
    INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 100 : 73 - 86
  • [50] Classbox/J: Controlling the scope of change in Java']Java
    Bergel, A
    Ducasse, S
    Nierstrasz, O
    ACM SIGPLAN NOTICES, 2005, 40 (10) : 177 - 189