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
关键词
!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 条
  • [1] Efficient runtime metaprogramming services for Java']Java
    Lagartos, Ignacio
    Manuel Redondo, Jose
    Ortin, Francisco
    JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 153 : 220 - 237
  • [2] Flexible metaprogramming and AOP in Java']Java
    Tanter, Eric
    Toledo, Rodolfo
    Pothier, Guillaume
    Noye, Jacques
    SCIENCE OF COMPUTER PROGRAMMING, 2008, 72 (1-2) : 22 - 30
  • [3] Backstage Java']Java Making a Difference in Metaprogramming
    Palmer, Zachary
    Smith, Scott F.
    ACM SIGPLAN NOTICES, 2011, 46 (10) : 939 - 958
  • [4] MetaJ: An extensible environment for metaprogramming in Java']Java
    de Oliveira, AA
    Braga, TH
    Maia, MD
    Bigonha, RD
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2004, 10 (07) : 872 - 891
  • [5] Backstage Java']Java Making a Difference in Metaprogramming
    Palmer, Zachary
    Smith, Scott F.
    OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS, 2011, : 939 - 958
  • [6] Compile-time Reflection and Metaprogramming for Java']Java
    Miao, Weiyu
    Siek, Jeremy
    PEPM '14: PROCEEDINGS OF THE ACM SIGPLAN WORKSHOP ON PARTIAL EVALUATION AND PROGRAM MANIPULATION, 2014, : 27 - 37
  • [7] Metaprogramming framework for generating persistent Java']Java applications
    Laszlo, Zoltan
    Glamseter, Steinar
    PROCEEDINGS OF THE 10TH IASTED INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND APPLICATIONS, 2006, : 99 - +
  • [8] An implementation of customizable services with Java']Java/ORB integration
    Tomono, M
    Yamanaka, A
    Tonouchi, T
    Nakajima, S
    GLOBECOM 97 - IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, CONFERENCE RECORD, VOLS 1-3, 1997, : 1719 - 1723
  • [9] Backstage Java: Making a difference in metaprogramming
    Johns Hopkins University, United States
    ACM SIGPLAN Not., 10 (939-958):
  • [10] A Java']Java API Interface for the Integration of DTV Services in Embedded Multimedia Devices
    Vidakovic, Milan
    Maruna, Tomislav
    Teslic, Nikola
    Mihic, Velibor
    IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, 2012, 58 (03) : 1063 - 1069