QUICK REVIEW
[论文解读] Software (Re-)Engineering with PSF
Bob Diertens|ArXiv.org|Dec 18, 2007
Advanced Software Engineering Methodologies参考文献 14被引用 5
一句话总结
本文展示了过程规范形式化(PSF)在软件逆向工程与架构规范中的应用,将其用于基于ToolBus协调架构重构PSF编译器。通过在PSF中建模组件及其交互,作者提取了架构规范,构建了并行编译器,并通过仿真与动画进行验证,表明PSF在支持多抽象层级下模块化、可分析与可视化系统设计方面具有显著有效性。
ABSTRACT
This paper investigates the usefulness of PSF in software engineering and reengineering. PSF is based on ACP (Algebra of Communicating Processes) and as some architectural description languages are based on process algebra, we investigate whether PSF can be used at the software architecture level, but we also use PSF at lower abstract levels. As a case study we reengineer the compiler from the Toolkit of PSF.
研究动机与目标
- 评估PSF在软件工程与逆向工程中于多个抽象层级(包括系统架构与组件协调)的应用价值。
- 探究PSF是否可通过建模复杂系统的协调机制与组件交互,作为架构描述语言(ADL)使用。
- 通过将现有编译器指定为基于ToolBus的应用并利用PSF的ToolBus内部组件库,展示其逆向工程过程。
- 通过架构规范与PSF组件的重用,实现并行编译器的构建。
- 通过仿真与动画验证该方法,以支持验证与利益相关者沟通。
提出的方法
- 定义PSF的ToolBus内部组件库,包括数据类型、转换函数与工具适配器及工具-ToolBus交互的通信原语。
- 使用PSF库将PSF编译器指定为ToolBus应用,建模解析、归一化与编译阶段的处理过程。
- 利用PSF的仿真与动画功能,验证并可视化处理过程的交互与通信流。
- 从PSF规格中提取架构规范,以指导并行编译器的设计。
- 使用Perl实现并行编译器,利用ToolBus协调多个解析与归一化过程。
- 重用现有的PSF规格与实现,构建并行版本,确保一致性与模块化。
实验结果
研究问题
- RQ1PSF是否可在软件逆向工程中有效应用于架构与实现两个层级?
- RQ2当与ToolBus协调模型结合时,PSF在多大程度上可作为架构描述语言(ADL)使用?
- RQ3PSF与ToolBus的结合如何通过规格重用与模块化支持并行编译器的开发?
- RQ4与原生实现相比,使用ToolBus进行协调带来的性能开销有多大?
- RQ5PSF的仿真与动画在支持复杂系统行为的验证与利益相关者理解方面有多高效?
主要发现
- PSF对编译器的规格,包括其基于ToolBus的协调机制,使得能够提取出清晰的架构模型,有效指导了并行版本的设计。
- 并行编译器的性能优于原始的ToolBus版本(M1: 11.6秒 vs. 12.8秒),但因通信开销的存在,仍未超过原生PSF编译器的性能。
- 在配置M4下,并行编译器性能优于原生PSF编译器(11.6秒 vs. 12.8秒),表明当通信成本可控时,并行化的优势是真实可实现的。
- PSF的仿真与动画功能提供了对处理过程交互的深入洞察,显著提升了对系统行为的理解,超越了静态代码或规格审查的局限。
- PSF的模块化与参数化特性使得组件规格得以有效重用,显著降低了重构工作量,促进了并行编译器的构建。
- PSF中的ToolBus库实现了协调逻辑与组件行为的清晰分离,支持灵活且可扩展的系统设计。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。