【24h】

Jose: Aspects for Design by Contract

机译:何塞:合同设计方面

获取原文

摘要

Design by contract is a practical methodology for evolving code together with its specification. The contract has important methodological implications on the design of the program. In addition, tools that instrument the code to check for contract violations help the development process by catching errors close to their sources. This is complicated by several factors, such as the need to collect preconditions from supertypes. There are two issues involved in the implementation of such a tool: the correct enforcement of the theoretical principles, and the instrumentation of the code. Most previous tools tackle both issues, but have subtle failures in one or the other. This paper describes Jose, a tool for design by contract in Java, which uses Aspect J, an aspect-oriented extension of Java, to instrument the program. This allows us to leverage the expertise of the AspectJ developers in instrumenting Java programs, and concentrate on the correct implementation of the design-by-contract principles. This approach has the added benefit that it can be generalized to other object-oriented languages that have aspect-oriented extensions. We describe the design decisions made in the implementation of Jose, and the features of AspectJ that helped or hindered this implementation.
机译:合同设计是一种实用的方法,可以与其规范一起发展代码。合同对计划设计具有重要的方法论影响。此外,仪器仪器代码检查合同违规的工具可以通过捕捉靠近其来源的错误来帮助开发过程。这是几个因素的复杂性,例如需要从超级类型收集前提。执行此类工具有两个问题:正确执行理论原则,以及代码的仪器。大多数以前的工具都解决了两个问题,但在一个或另一个中具有微妙的故障。本文介绍了JAVA的契约设计工具,它使用Apption j,java的方面拓展扩展,以仪器仪器。这使我们能够利用AspectJ开发人员在授权Java计划方面的专业知识,并专注于正确执行的设计逐项原则。这种方法具有额外的好处,可以推广到具有面向方面的扩展的其他面向对象的语言。我们描述了在实施何塞的设计决策,以及帮助或阻碍这种实施的Aspectj的功能。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号