QUICK REVIEW
[论文解读] Software (Re-)Engineering with PSF II: from architecture to implementation
Bob Diertens|ArXiv.org|Dec 19, 2007
Advanced Software Engineering Methodologies参考文献 24被引用 4
一句话总结
本文提出了一种基于PSF II的软件逆向工程方法,展示了如何通过过程规范形式化(PSF)中的形式化架构规格,实现从高层架构到可执行实现的系统性细化。通过使用PSF对模拟器的架构进行建模,应用垂直和水平实现技术,并集成动画与历史机制,作者构建了一个更具可维护性、可重用性且形式化可验证的系统——尽管由于大量进程并发,导致性能下降了30倍。
ABSTRACT
This paper presents ongoing research on the application of PSF in the field of software engineering and reengineering. We build a new implementation for the simulator of the PSF Toolkit starting from the specification in PSF of the architecture of a simple simulator and extend it with features to obtain the architecture of a full simulator. We apply refining and constraining techniques on the specification of the architecture to obtain a specification low enough to build an implementation from.
研究动机与目标
- 探索PSF II在软件工程与逆向工程中的应用,特别是用于构建和细化系统架构。
- 通过自底向上的重新设计,解决原始PSF Toolkit模拟器的局限性,采用形式化规格技术。
- 评估基于PSF的架构规格在实现从架构到实现的系统性细化方面的有效性。
- 在保持形式正确性的前提下,为模拟器增强新功能,如历史机制和改进的GUI。
- 评估在形式化指定系统中,可维护性、可重用性与性能之间的权衡。
提出的方法
- 使用专为软件架构描述定制的PSF库来指定模拟器的架构,抽象自ToolBus库。
- 应用水平和垂直实现技术,将架构规格细化为基于ToolBus的具体系统设计。
- 利用PSF Toolkit自动从规格生成动画,实现行为的实时验证。
- 通过扩展架构级和系统级规格,将历史机制集成到模拟器中,展示了系统的可扩展性。
- 将完整模拟器实现为ToolBus应用程序,重用现有组件规格,支持组件重用。
- 通过动画和交互式模拟验证设计,使利益相关者无需了解底层实现细节即可检查行为。
实验结果
研究问题
- RQ1PSF II如何被有效用于对软件架构进行建模与细化,以生成可执行实现?
- RQ2在复杂系统的逆向工程中,使用形式化架构规格的实际优势与权衡是什么?
- RQ3基于PSF的规格在不破坏设计的前提下,能在多大程度上支持逐步添加新功能(如历史机制)?
- RQ4使用过程代数和形式化通信原语如何提升系统的可维护性和组件重用性?
- RQ5当采用PSF方法中细粒度并发进程实现系统时,会引发哪些性能与可用性权衡?
主要发现
- PSF中的架构规格实现了从简单模拟器设计到完整功能系统的平稳、渐进式过渡,特征扩展过程中未出现重大设计中断。
- 新实现降低了代码复杂度和代码行数,显著提升了可维护性和组件重用性。
- 动画与模拟的集成实现了行为的实时验证,使设计变更和功能添加更加透明且可测试。
- 历史机制成功地在架构和系统设计层面实现,展示了基于PSF的细化过程的灵活性。
- 尽管由于高并发进程和进程间通信开销,性能下降了30倍,但系统在交互式和小规模模拟中仍保持可用。
- PSF Toolkit在快速原型设计、动画生成和验证方面发挥了关键作用,动画作为与不熟悉代码库的利益相关者沟通的有效工具。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。