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 条
  • [31] Detection and Repair of Architectural Inconsistencies in Java']Java
    Ghorbani, Negar
    Garcia, Joshua
    Malek, Sam
    2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, : 560 - 571
  • [32] Integrating PDF interface into Java']Java application
    Lu, Quan
    Liu, Gao
    Chen, Jing
    LIBRARY HI TECH, 2014, 32 (03) : 495 - 508
  • [33] A tool for generating Java']Java source efficiently
    Somogyi, Csongor
    Laszlo, Zoltan
    WMSCI 2005: 9th World Multi-Conference on Systemics, Cybernetics and Informatics, Vol 4, 2005, : 392 - 395
  • [34] JINDY: a Java']Java library to support invokedynamic
    Conde, Patricia
    Ortin, Francisco
    COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2014, 11 (01) : 47 - 68
  • [35] Dynamic Frames in Java']Java Dynamic Logic
    Schmitt, Peter H.
    Ulbrich, Mattias
    Weiss, Benjamin
    FORMAL VERIFICATION OF OBJECT-ORIENTED SOFTWARE, 2011, 6528 : 138 - 152
  • [36] Caching and Incrementalisation in the Java']Java Query Language
    Willis, Darren
    Pearce, David J.
    Noble, James
    ACM SIGPLAN NOTICES, 2008, 43 (10) : 1 - 17
  • [37] Expressive and Modular Predicate Dispatch for Java']Java
    Millstein, Todd
    Frost, Christopher
    Ryder, Jason
    Warth, Alessandro
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2009, 31 (02):
  • [38] Aspect Oriented Parallel Framework for Java']Java
    Medeiros, Bruno
    Sobral, Joao L.
    HIGH PERFORMANCE COMPUTING FOR COMPUTATIONAL SCIENCE - VECPAR 2016, 2017, 10150 : 220 - 233
  • [39] Systematically Refactoring Inheritance to Delegation in Java']Java
    Kegel, Hannes
    Steimann, Friedrich
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 431 - 440
  • [40] Java']Java Simulations of Embedded Control Systems
    Farias, Gonzalo
    Cervin, Anton
    Arzen, Karl-Erik
    Dormido, Sebastian
    Esquembre, Francisco
    SENSORS, 2010, 10 (09) : 8585 - 8603