首页> 外文学位 >PaniniJ: Adding the capsule programming abstraction to Java to provide linguistic support for modular reasoning in concurrent program design.
【24h】

PaniniJ: Adding the capsule programming abstraction to Java to provide linguistic support for modular reasoning in concurrent program design.

机译:PaniniJ:在Java中添加了胶囊编程抽象,为并发程序设计中的模块化推理提供语言支持。

获取原文
获取原文并翻译 | 示例

摘要

Increasing the speed of single-core processors has been facing practical challenges. Instead, multi- core architecture has been ascending for the past decade as the dominant architecture. To gain full advantage of multi-core processors, it is unavoidable for programmers to write concurrent programs. However, writing and reasoning about concurrent programs is often difficult for programmers. One reason for the difficulty stems from the hurdle of dealing with concurrency abstractions, the other reason is the difficulty in getting rid of concurrency related bugs. To address these problems, a new abstraction for concurrent programming has been proposed called capsule. Capsules are inspired by the long- standing ideas explored in the context of message-passing concurrency (MPC) abstractions and other similar models. Although the jury is still out on MPC abstractions as the de facto abstraction for concurrency, their wide availability and advantages combine to warrant research on the use of this model for concurrency. Capsules explore a new point in this design space to balance flexibility and analyzability in the MPC programming models. Unlike common avatars of the MPC model, a capsule is statically deployed and configured, confines its local states, permits only a single activity within itself, and communicates with other capsules in a logically synchronous manner. This thesis focuses on the realization, applicability and performance of this new abstraction. A major contribution of this work is the realization of capsules. We have implemented capsules as an extension of javac, the industrial strength standard Java compiler. The implementation shows that it is feasible to extend an object- oriented language with capsules. The default compilation strategy of capsules is based on threads. In this work, we also show alternative compilation strategies to improve the flexibility and adaptability of capsules. This shows that the capsule abstraction can be decoupled from concrete strategies for processing capsule messages and different underlying message processing mechanisms can be deployed without changing the user facing source code. This work also shows the strategy used to retain meta-information about capsules after compilation, so that capsule-oriented programs enjoy the property of separate compilation.
机译:提高单核处理器的速度一直面临实际挑战。取而代之的是,在过去十年中,多核体系结构一直在占主导地位。为了充分利用多核处理器的优势,程序员不可避免地要编写并发程序。但是,对于程序员来说,编写并发程序并进行推理通常很困难。困难的一个原因是处理并发抽象的障碍,另一个原因是难以摆脱与并发相关的错误。为了解决这些问题,已经提出了用于并发编程的新抽象,称为胶囊。胶囊的灵感来自在消息传递并发(MPC)抽象和其他类似模型的背景下探索的悠久历史。尽管对于将MPC抽象作为并发的事实抽象尚无定论,但它们的广泛可用性和优势相结合,值得对使用此模型进行并发进行研究。胶囊在MPC编程模型中探索了一个新的观点,以平衡灵活性和可分析性。与MPC模型的普通化身不同,胶囊是静态部署和配置的,其局部状态受限制,其内部仅允许单个活动,并以逻辑同步的方式与其他胶囊通信。本文重点研究了这种新抽象的实现,适用性和性能。这项工作的主要贡献是胶囊的实现。我们已经将胶囊实现为工业强度标准Java编译器javac的扩展。该实现表明,用胶囊扩展面向对象的语言是可行的。胶囊的默认编译策略基于线程。在这项工作中,我们还显示了替代的编译策略,以提高胶囊的灵活性和适应性。这表明可以将胶囊抽象与用于处理胶囊消息的具体策略分离,并且可以部署不同的基础消息处理机制,而无需更改面向用户的源代码。这项工作还展示了用于在编译后保留有关胶囊的元信息的策略,以便面向胶囊的程序享有单独编译的特性。

著录项

  • 作者

    Lin, Eric.;

  • 作者单位

    Iowa State University.;

  • 授予单位 Iowa State University.;
  • 学科 Computer science.
  • 学位 M.S.
  • 年度 2016
  • 页码 85 p.
  • 总页数 85
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号