形式部分抽象的综合
Synthesis from Formal Partial Abstractions
摘要:
开发复杂的软件系统是昂贵的,耗时的和容易出错的。模型驱动开发(MDD)通过将抽象的应用模型转换为代码级的实现,有望提高软件的生产率、时效性、质量和成本。然而,构建软件合成所需的建模语言和翻译器仍然非常困难。这种困难反过来限制了MDD的适用性,并使得MDD工具难以实现可靠性。本论文的研究旨在降低成本,扩大适用性,并通过嵌入建模语言建立形式语言和使用分析器提供了这样的语言合成的目的,以减少需要手工编码的翻译,提高质量的模型驱动的开发系统。本论文,特别是,探讨了所提出的方法,使用关系逻辑表示的合金作为通用规约语言,和合金分析器作为通用分析器。因此,合成由有限域约束满足驱动。这项工作的一个重要方面是它的重点是系统的特定方面的部分规范,如应用程序架构和目标平台,并从这些规范的部分代码库的合成。这项工作的贡献包括新的见解,方法和工具(1)综合架构模型从抽象的应用程序模型;(2)综合部分,特定于平台的应用程序框架从应用程序架构;(3)综合对象关系映射权衡空间和数据库模式的数据库支持的面向对象的应用程序。
英文摘要:
Developing complex software systems is costly, time-consuming and error-prone. Model- driven development (MDD) promises to improve software productivity, timeliness, quality and cost through the transformation of abstract application models to code-level implementations. However, it remains unreasonably difficult to build the modeling languages and translators required for software synthesis. This difficulty, in turns, limits the applicability of MDD, and makes it hard to achieve reliability in MDD tools. This dissertation research seeks to reduce the cost, broaden the applicability, and increase the quality of model-driven development systems by embedding modeling languages within established formal languages and by using the analyzers provided with such languages for synthesis purposes to reduce the need for hand coding of translators. This dissertation, in particular, explores the proposed approach using relational logic as expressed in Alloy as the general specification language, and the Alloy Analyzer as the general-purpose analyzer. Synthesis is thus driven by finite-domain constraint satisfaction. One important aspect of this work is its focus on partial specifications of particular aspects of the system, such as application architectures and target platforms, and synthesis of partial code bases from such specifications. Contributions of this work include novel insights, methods and tools for (1) synthesizing architectural models from abstract application models; (2) synthesizing partial, platform-specific application frameworks from application architectures; and (3) synthesizing object-relational mapping tradeoff spaces and database schemas for database-backed object-oriented applications.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。