The java module system

Author:

Strniša Rok1,Sewell Peter1,Parkinson Matthew1

Affiliation:

1. University of Cambridge, Cambridge, United Kingdom

Abstract

Java has no module system. Its packages only subdivide the class name space, allowing only a very limited form of component-level information hiding and reuse. Two Java Community Processes have started addressing this problem: one describes the runtime system and has reached an early draft stage, while the other considers the developer's view and only has a straw-man proposal. Both are natural language documents, which inevitably contain ambiguities. In this work we design and formalize a core module system for Java. Where the JCP documents are complete, we follow them closely; elsewhere we make reasonable choices. We define the syntax, the type system, and the operational semantics of an LJAM language, defining these rigorously in the Isabelle/HOL automated proof assistant. Using this formalization, we identify various issues with the module system. We highlight the underlying design decisions, and discuss several alternatives and their benefits. Our Isabelle/HOL definitions should provide a basis for further consideration of the design alternatives, for reference implementations, and for proofs of soundness.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference30 articles.

1. Apache Felix. http://cwiki.apache.org/felix/. Apache Felix. http://cwiki.apache.org/felix/.

2. Eclipse Callisto. http://www.eclipse.org/callisto/. Eclipse Callisto. http://www.eclipse.org/callisto/.

3. Equinox. http://www.eclipse.org/equinox/. Equinox. http://www.eclipse.org/equinox/.

4. Fusion. http://en.wikipedia.org/wiki/.NET_assembly#Fusion. Fusion. http://en.wikipedia.org/wiki/.NET_assembly#Fusion.

5. Polymorphic bytecode

Cited by 9 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. An empirical analysis for software robustness vulnerability in terms of modularity quality;Systems Engineering;2023-04-18

2. Using artificial neural networks to provide guidance in extending PL/SQL programs;Software Quality Journal;2022-03-19

3. IVY 2;Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems;2019-06-18

4. Implementing type-safe software product lines using parametric traits;Science of Computer Programming;2015-01

5. Instant pickles;ACM SIGPLAN Notices;2013-11-12

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3