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 条
  • [21] JTL - the Java']Java tools language
    Cohen, Tal
    Gil, Joseph
    Maman, Itay
    ACM SIGPLAN NOTICES, 2006, 41 (10) : 89 - 108
  • [22] The KaffeOS Java']Java runtime system
    Back, G
    Hsieh, WC
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2005, 27 (04): : 583 - 630
  • [23] Mapping UML designs to Java']Java™
    Harrison, W
    Barton, C
    Raghavachari, M
    ACM SIGPLAN NOTICES, 2000, 35 (10) : 178 - 187
  • [24] Extended static checking for Java']Java
    Flanagan, C
    Leino, KRM
    Lillibridge, M
    Nelson, G
    Saxe, JB
    Stata, R
    ACM SIGPLAN NOTICES, 2002, 37 (05) : 234 - 245
  • [25] Understanding the shape of Java']Java software
    Baxter, Gareth
    Frean, Marcus
    Noble, James
    Rickerby, Mark
    Smith, Hayden
    Visser, Matt
    Melton, Hayden
    Tempero, Ewan
    ACM SIGPLAN NOTICES, 2006, 41 (10) : 397 - 412
  • [26] Extended Static Checking for Java']Java
    Flanagan, Cormac
    Leino, K. Rustan M.
    Lillibridge, Mark
    Nelson, Greg
    Saxe, James B.
    Stata, Raymie
    ACM SIGPLAN NOTICES, 2013, 48 (04) : 22 - 33
  • [27] Compact and efficient strings for Java']Java
    Haeubl, Christian
    Wimmer, Christian
    Moessenboeck, Hanspeter
    SCIENCE OF COMPUTER PROGRAMMING, 2010, 75 (11) : 1077 - 1094
  • [28] Generic ownership for generic Java']Java
    Potanin, Alex
    Noble, James
    Clarke, Dave
    Biddle, Robert
    ACM SIGPLAN NOTICES, 2006, 41 (10) : 311 - 324
  • [29] Micro patterns in Java']Java code
    Gil, J
    Maman, I
    ACM SIGPLAN NOTICES, 2005, 40 (10) : 97 - 116
  • [30] Programming with Actors in Java']Java 8
    Nobakht, Behrooz
    de Boer, Frank S.
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: SPECIALIZED TECHNIQUES AND APPLICATIONS, PT II, 2014, 8803 : 37 - 53