基于模型的逆向工程工具设计

S. Jarzabek, Guosheng Wang
{"title":"基于模型的逆向工程工具设计","authors":"S. Jarzabek, Guosheng Wang","doi":"10.1002/(SICI)1096-908X(199809/10)10:5%3C353::AID-SMR178%3E3.0.CO;2-","DOIUrl":null,"url":null,"abstract":"SUMMARY Tools built in an ad hoc way and without proper models often display problems for both tool users and designers. Firstly, without systematic analysis and good understanding of the underlying software process model, we have little chance to design a tool that will adequately address user’s needs. Next, because one tool is often used in many different situations and by people who have different working habits, tools should be flexible and allow a user to customise tools functionalities. Ad hoc built tools usually are not flexible enough, as possible variations in tool functions had not been incorporated into the tool architecture to make future customisations possible. Finally, ad hoc design practice does not lead to accumulating the tool design know-how, makes it difficult to repeat successful solutions and slows down the process of understanding and improving tool design methods. We applied conceptual modelling in design of tools for software maintenance to alleviate some of the above problems. In this paper, we describe a model-based method to designing reverse engineering tools. The design starts by modelling low level source program design models, higher level design models to be recovered and heuristic rules a reverse engineering tool uses to recover higher level designs from lower level designs. On one hand, conceptual models lead to better understanding of tool requirements. On the other hand, model-based approach leads to the design of a generic design abstractor, a component of a reverse engineering tool that evaluates reverse engineering heuristics. A generic design abstractor adds flexibility to reverse engineering tools in two ways: (1) we can customise the generic design abstractor to meet requirements of a reverse engineering project in hand and (2) a programmer (an end-user of a reverse engineering tool) can define new reverse engineering heuristics and tune in recovered designs.","PeriodicalId":383619,"journal":{"name":"J. Softw. Maintenance Res. Pract.","volume":"103 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1998-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":"{\"title\":\"Model-based design of reverse engineering tools\",\"authors\":\"S. Jarzabek, Guosheng Wang\",\"doi\":\"10.1002/(SICI)1096-908X(199809/10)10:5%3C353::AID-SMR178%3E3.0.CO;2-\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"SUMMARY Tools built in an ad hoc way and without proper models often display problems for both tool users and designers. Firstly, without systematic analysis and good understanding of the underlying software process model, we have little chance to design a tool that will adequately address user’s needs. Next, because one tool is often used in many different situations and by people who have different working habits, tools should be flexible and allow a user to customise tools functionalities. Ad hoc built tools usually are not flexible enough, as possible variations in tool functions had not been incorporated into the tool architecture to make future customisations possible. Finally, ad hoc design practice does not lead to accumulating the tool design know-how, makes it difficult to repeat successful solutions and slows down the process of understanding and improving tool design methods. We applied conceptual modelling in design of tools for software maintenance to alleviate some of the above problems. In this paper, we describe a model-based method to designing reverse engineering tools. The design starts by modelling low level source program design models, higher level design models to be recovered and heuristic rules a reverse engineering tool uses to recover higher level designs from lower level designs. On one hand, conceptual models lead to better understanding of tool requirements. On the other hand, model-based approach leads to the design of a generic design abstractor, a component of a reverse engineering tool that evaluates reverse engineering heuristics. A generic design abstractor adds flexibility to reverse engineering tools in two ways: (1) we can customise the generic design abstractor to meet requirements of a reverse engineering project in hand and (2) a programmer (an end-user of a reverse engineering tool) can define new reverse engineering heuristics and tune in recovered designs.\",\"PeriodicalId\":383619,\"journal\":{\"name\":\"J. Softw. Maintenance Res. Pract.\",\"volume\":\"103 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1998-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"11\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"J. Softw. Maintenance Res. Pract.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1002/(SICI)1096-908X(199809/10)10:5%3C353::AID-SMR178%3E3.0.CO;2-\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"J. Softw. Maintenance Res. Pract.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1002/(SICI)1096-908X(199809/10)10:5%3C353::AID-SMR178%3E3.0.CO;2-","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11

摘要

以特别的方式构建的工具,如果没有适当的模型,通常会给工具用户和设计人员带来问题。首先,如果没有系统的分析和对底层软件过程模型的良好理解,我们几乎没有机会设计出能够充分满足用户需求的工具。其次,由于一个工具经常在许多不同的情况下被具有不同工作习惯的人使用,因此工具应该是灵活的,并允许用户自定义工具功能。特别构建的工具通常不够灵活,因为工具功能的可能变化没有被合并到工具体系结构中,以使将来的定制成为可能。最后,特别的设计实践不会导致工具设计知识的积累,使得很难重复成功的解决方案,并且减缓了理解和改进工具设计方法的过程。我们将概念建模应用于软件维护工具的设计,以缓解上述一些问题。本文描述了一种基于模型的逆向工程工具设计方法。设计开始于对低级源程序设计模型、要恢复的高级设计模型和启发式规则进行建模,逆向工程工具使用启发式规则从低级设计中恢复高级设计。一方面,概念模型可以更好地理解工具需求。另一方面,基于模型的方法导致了通用设计抽象器的设计,这是评估逆向工程启发式的逆向工程工具的一个组件。通用设计抽象器以两种方式为逆向工程工具增加了灵活性:(1)我们可以定制通用设计抽象器以满足手头的逆向工程项目的需求;(2)程序员(逆向工程工具的最终用户)可以定义新的逆向工程启发式并调整恢复的设计。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Model-based design of reverse engineering tools
SUMMARY Tools built in an ad hoc way and without proper models often display problems for both tool users and designers. Firstly, without systematic analysis and good understanding of the underlying software process model, we have little chance to design a tool that will adequately address user’s needs. Next, because one tool is often used in many different situations and by people who have different working habits, tools should be flexible and allow a user to customise tools functionalities. Ad hoc built tools usually are not flexible enough, as possible variations in tool functions had not been incorporated into the tool architecture to make future customisations possible. Finally, ad hoc design practice does not lead to accumulating the tool design know-how, makes it difficult to repeat successful solutions and slows down the process of understanding and improving tool design methods. We applied conceptual modelling in design of tools for software maintenance to alleviate some of the above problems. In this paper, we describe a model-based method to designing reverse engineering tools. The design starts by modelling low level source program design models, higher level design models to be recovered and heuristic rules a reverse engineering tool uses to recover higher level designs from lower level designs. On one hand, conceptual models lead to better understanding of tool requirements. On the other hand, model-based approach leads to the design of a generic design abstractor, a component of a reverse engineering tool that evaluates reverse engineering heuristics. A generic design abstractor adds flexibility to reverse engineering tools in two ways: (1) we can customise the generic design abstractor to meet requirements of a reverse engineering project in hand and (2) a programmer (an end-user of a reverse engineering tool) can define new reverse engineering heuristics and tune in recovered designs.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信