Using Java']Java reflection to automate extension language parsing

被引:0
|
作者
Parson, D [1 ]
机构
[1] Bell Labs, Lucent Technol, Murray Hill, NJ 07974 USA
关键词
D O I
10.1145/331963.331974
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An extension language is an interpreted programming language designed to be embedded in a domain-specific framework. The addition of domain-specific primitive operations to an embedded extension language transforms that vanilla extension language into a domain-specific language. The LUxWORKS processor simulator and debugger from Lucent uses Tcl as its extension language. After an overview of extension language embedding and LUxWORKS experience, this paper looks at using Java reflection and related mechanisms to solve three limitations in extension language - domain framework interaction. The three limitations are gradual accumulation of ad hoc interface code connecting an extension language to a domain framework, over-coupling of a domain framework to a specific extension language, and inefficient command interpretation. Java reflection consists of a set of programming interfaces through which a software module in a Java system can discover the structure of classes, methods and their associations in the system. Java reflection and a naming convention for primitive domain operations eliminate ad hoc interface code by supporting recursive inspection of a domain command interface and translation of extension language objects into domain objects. Java reflection, name-based dynamic class loading, and a language-neutral extension language abstraction eliminate language over-coupling by transforming the specific extension language into a runtime parameter. Java reflection and command objects eliminate inefficiency by bypassing the extension language interpreter for stereotyped commands. Overall, Java reflection helps to eliminate these limitations by supporting reorganization and elimination of handwritten code, and by streamlining interpretation.
引用
收藏
页码:67 / 80
页数:14
相关论文
共 50 条
  • [31] I-Java']Java: An Extension of Java']Java with Incomplete Objects and Object Composition
    Bettini, Lorenzo
    Bono, Viviana
    Turin, Erica
    SOFTWARE COMPOSITION, PROCEEDINGS, 2009, 5634 : 27 - 44
  • [32] Computational reflection for embedded Java']Java systems
    Di Stefano, A
    Fargetta, M
    Tramontana, E
    ON THE MOVE TO MEANINGFUL INTERNET SYSTEMS 2003: OTM 2003 WORKSHOPS, 2003, 2889 : 437 - 450
  • [33] Towards partially evaluating reflection in Java']Java
    Braux, M
    Noyé, J
    ACM SIGPLAN NOTICES, 1999, 34 (11) : 2 - 11
  • [34] An Internet-based distributed virtual educational system for Java']Java language using Java']Java web player
    Kim, D
    Lee, D
    Lee, S
    Choi, KS
    Woo, S
    IC'04: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON INTERNET COMPUTING, VOLS 1 AND 2, 2004, : 450 - 454
  • [35] The Extension of Java']Java Annotated Concurrency Specification
    Liu Ruixiang
    Liu Wei
    Zhu Hong
    2009 INTERNATIONAL FORUM ON COMPUTER SCIENCE-TECHNOLOGY AND APPLICATIONS, VOL 1, PROCEEDINGS, 2009, : 448 - +
  • [36] A Small Extension to Java']Java for Class Refinement
    Nishizawa, Muga
    Chiba, Shigeru
    APPLIED COMPUTING 2008, VOLS 1-3, 2008, : 160 - 165
  • [37] Jam - A smooth extension of Java']Java with mixins
    Ancona, D
    Lagorio, G
    Zucca, E
    ECOOP 2000 - OBJECT-ORIENTED PROGRAMMING, 2000, 1850 : 154 - 178
  • [38] FeatherTrait: A modest extension of Featherweight Java']Java
    Liquori, Luigi
    Spiwack, Arnaud
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (02):
  • [39] 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
  • [40] Developing a Java']Java based RFID application to automate student attendance monitoring
    Kuriakose, R. B.
    Vermaak, H. J.
    PROCEEDINGS OF THE 2015 PATTERN RECOGNITION ASSOCIATION OF SOUTH AFRICA AND ROBOTICS AND MECHATRONICS INTERNATIONAL CONFERENCE (PRASA-ROBMECH), 2015, : 48 - 53