Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342675
Andrew Z. Tong, G. Kaiser, S. S. Popovich
We present the design of a new rule-based process engine that generalizes previous systems to support process enforcement, automation, guidance, monitoring, delegation, planning, simulation, instrumentation and potentially other applications. Our approach is fully knowledge-based, tailored by knowledge regarding the process assistance policies to be supported as well as the process definition.<>
{"title":"A flexible rule-chaining engine for process-based software engineering","authors":"Andrew Z. Tong, G. Kaiser, S. S. Popovich","doi":"10.1109/KBSE.1994.342675","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342675","url":null,"abstract":"We present the design of a new rule-based process engine that generalizes previous systems to support process enforcement, automation, guidance, monitoring, delegation, planning, simulation, instrumentation and potentially other applications. Our approach is fully knowledge-based, tailored by knowledge regarding the process assistance policies to be supported as well as the process definition.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122708670","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342669
René Dekker, Frans Ververs
We present a framework for recognition of data structures in programs, to aid in design recovery. The framework consists of an intermediate representation and a knowledge base containing information about typical implementations of abstract data types. The framework is suited for recognition of data structures combined with their characteristic operations. Abstract data structures can be recognized partially, they can be recognized even if they are delocalized and different independent interpretations of the same structures can be generated.<>
{"title":"Abstract data structure recognition","authors":"René Dekker, Frans Ververs","doi":"10.1109/KBSE.1994.342669","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342669","url":null,"abstract":"We present a framework for recognition of data structures in programs, to aid in design recovery. The framework consists of an intermediate representation and a knowledge base containing information about typical implementations of abstract data types. The framework is suited for recognition of data structures combined with their characteristic operations. Abstract data structures can be recognized partially, they can be recognized even if they are delocalized and different independent interpretations of the same structures can be generated.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"137 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134321344","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342666
V. Loia, Michel Quaggetto
OPLA is an object-oriented (OO) logic programming language built on top of Common Lisp Object System (CLOS) OPLA enhances logic programming with advanced features of OO paradigm, such as multiple-inheritance, multi-methods, and the constraint-based control flow mechanism. In particular, we discuss the features of the OPLA language used to solve non trivial problems of user-interface development, such as the management of graphical constraints on windows, and the application of law-based delegation. The novel features of OPLA are quantitatively discussed, by reporting their impact in the realization of significant applications.<>
{"title":"Integrating object-oriented paradigms and logic programming: the OPLA language","authors":"V. Loia, Michel Quaggetto","doi":"10.1109/KBSE.1994.342666","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342666","url":null,"abstract":"OPLA is an object-oriented (OO) logic programming language built on top of Common Lisp Object System (CLOS) OPLA enhances logic programming with advanced features of OO paradigm, such as multiple-inheritance, multi-methods, and the constraint-based control flow mechanism. In particular, we discuss the features of the OPLA language used to solve non trivial problems of user-interface development, such as the management of graphical constraints on windows, and the application of law-based delegation. The novel features of OPLA are quantitatively discussed, by reporting their impact in the realization of significant applications.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114412738","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342671
P. Selfridge, G. Heineman
Understanding of a software system is a prerequisite to any significant maintenance activity, and this understanding must ultimately extend to the source code itself This activity is difficult to support because of its highly interactive nature and the fact that code understanding is generally built up over time. This paper describes the Interactive Code Understanding Environment (ICUE, pronounced "IQ"), a graphical environment that supports the exploration of code and code relationships and allows the capture of significant relationships in the form of reusable graphical diagrams. ICUE provides a user with the ability to query a comprehensive code database generated from source code, view the results of queries in the form of graphs, interactively expand the graphs, hide unwanted information in several ways, and examine source code easily and directly from the graphs. ICUE also provides a mechanism for annotating, saving and manipulating these graphs to facilitate the capture of code-level software understanding as a library of such annotated graphs.<>
{"title":"Graphical support for code-level software understanding","authors":"P. Selfridge, G. Heineman","doi":"10.1109/KBSE.1994.342671","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342671","url":null,"abstract":"Understanding of a software system is a prerequisite to any significant maintenance activity, and this understanding must ultimately extend to the source code itself This activity is difficult to support because of its highly interactive nature and the fact that code understanding is generally built up over time. This paper describes the Interactive Code Understanding Environment (ICUE, pronounced \"IQ\"), a graphical environment that supports the exploration of code and code relationships and allows the capture of significant relationships in the form of reusable graphical diagrams. ICUE provides a user with the ability to query a comprehensive code database generated from source code, view the results of queries in the form of graphs, interactively expand the graphs, hide unwanted information in several ways, and examine source code easily and directly from the graphs. ICUE also provides a mechanism for annotating, saving and manipulating these graphs to facilitate the capture of code-level software understanding as a library of such annotated graphs.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"117 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126138861","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342682
L. Terveen, P. Selfridge
An important type of software design task involves constructing software artifacts from existing components. Major user tasks are locating relevant components, reusing existing artifacts, and ensuring that the artifact is complete and consistent. We developed a prototype knowledge-based graphical system that supports these tasks. It delivers information to users by adding and deleting graphical objects and changing their appearance. The system was developed in cooperation with an AT&T product organization. They created a production version of the tool for assembling sets of telecommunications features for customers. The tool lets users work at a high level and eases problems with locating relevant features, reusing feature lists, and maintaining consistency.<>
{"title":"Intelligent assistance for software construction: a case study","authors":"L. Terveen, P. Selfridge","doi":"10.1109/KBSE.1994.342682","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342682","url":null,"abstract":"An important type of software design task involves constructing software artifacts from existing components. Major user tasks are locating relevant components, reusing existing artifacts, and ensuring that the artifact is complete and consistent. We developed a prototype knowledge-based graphical system that supports these tasks. It delivers information to users by adding and deleting graphical objects and changing their appearance. The system was developed in cooperation with an AT&T product organization. They created a production version of the tool for assembling sets of telecommunications features for customers. The tool lets users work at a high level and eases problems with locating relevant features, reusing feature lists, and maintaining consistency.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129969728","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342673
David Lauzon, T. Rose
We present two support facilities for identifying design information in a repository. First, task-orientation supports the dynamic composition of repository information with respect to a designer's working context. Second, similarity-based retrieval overcomes the impediment of exact matching. When a requested repository item is not available, it supports the search for closely related items by means of matching criteria and relationships. The algorithm uses domain taxonomies to measure the virtual distance between items, rather than applying artificial numerical measures. Moreover, the criteria for calling repository items similar are determined and formulated by the user in the query, rather than being hard-wired into the retrieval interface. The combination of both features furnishes a visibility concept, that allows designers to identify design information for their specific job at hand.<>
{"title":"Task-oriented and similarity-based retrieval","authors":"David Lauzon, T. Rose","doi":"10.1109/KBSE.1994.342673","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342673","url":null,"abstract":"We present two support facilities for identifying design information in a repository. First, task-orientation supports the dynamic composition of repository information with respect to a designer's working context. Second, similarity-based retrieval overcomes the impediment of exact matching. When a requested repository item is not available, it supports the search for closely related items by means of matching criteria and relationships. The algorithm uses domain taxonomies to measure the virtual distance between items, rather than applying artificial numerical measures. Moreover, the criteria for calling repository items similar are determined and formulated by the user in the query, rather than being hard-wired into the retrieval interface. The combination of both features furnishes a visibility concept, that allows designers to identify design information for their specific job at hand.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"8 12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116956984","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342672
Chris Wild, D. Rosca
In this paper, we discuss the use of knowledge structure, called the decision space, for the evolution of formal specifications. Because evolution is a particularly intense form of reuse, what we say will also impact on reusability. We demonstrate our approach using a formal specification, written in the Z formal specification language, for an aerospace application known as the RSDIMU (Redundant Strapped Down Inertial Measurement Unit). We show that articulating the decision structure and associating it with the artifact produced can be used in the subsequent evolution of the specification. We propose a representation which separates domain knowledge into a decision/issue space and an object space and the solution space into object instances, Z schemas and resolved issues, We show the effect of several changes to the RSDIMU specification and demonstrate how different methods of resolving an issue change the focus of attention within the specifications.<>
{"title":"Evolution and reuse of formal specifications using decision structures","authors":"Chris Wild, D. Rosca","doi":"10.1109/KBSE.1994.342672","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342672","url":null,"abstract":"In this paper, we discuss the use of knowledge structure, called the decision space, for the evolution of formal specifications. Because evolution is a particularly intense form of reuse, what we say will also impact on reusability. We demonstrate our approach using a formal specification, written in the Z formal specification language, for an aerospace application known as the RSDIMU (Redundant Strapped Down Inertial Measurement Unit). We show that articulating the decision structure and associating it with the artifact produced can be used in the subsequent evolution of the specification. We propose a representation which separates domain knowledge into a decision/issue space and an object space and the solution space into object instances, Z schemas and resolved issues, We show the effect of several changes to the RSDIMU specification and demonstrate how different methods of resolving an issue change the focus of attention within the specifications.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114466313","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342663
Gregory A. Toth
This paper describes the Software Technology Risk Advisor (STRA), a knowledge-based software engineering tool that provides assistance in identifying and managing software technology risks. The STRA contains a knowledge base of software product and process needs, satisfying capabilities and capability maturity factors. After a user ranks the importance of relevant needs to his or her project, the STRA automatically infers risk areas by evaluating disparities between project needs and technology maturities. Identified risks are quantitatively prioritized and the user is given risk reduction advice and rationale for each conclusion. This paper presents methods used in the STRA, along with discussions of knowledge acquisition experimental results, current status, and related work.<>
{"title":"Software technology risk advisor","authors":"Gregory A. Toth","doi":"10.1109/KBSE.1994.342663","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342663","url":null,"abstract":"This paper describes the Software Technology Risk Advisor (STRA), a knowledge-based software engineering tool that provides assistance in identifying and managing software technology risks. The STRA contains a knowledge base of software product and process needs, satisfying capabilities and capability maturity factors. After a user ranks the importance of relevant needs to his or her project, the STRA automatically infers risk areas by evaluating disparities between project needs and technology maturities. Identified risks are quantitatively prioritized and the user is given risk reduction advice and rationale for each conclusion. This paper presents methods used in the STRA, along with discussions of knowledge acquisition experimental results, current status, and related work.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130782656","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342683
M. Feather, S. Fickas
We present a framework to structure the space of designs for a class of distributed systems. The purpose of this framework is to codify known design knowledge, and thus, when given the task of developing a new system in this class, to facilitate: navigation-finding designs applicable to the task; evaluation-identifying the strengths of weaknesses of a given design comparing alternative designs; and reification-realizing an abstract design as the solution to a concrete task. This is illustrated on the class of resource control systems operating in a distributed setting.<>
{"title":"A framework for distributed system designs","authors":"M. Feather, S. Fickas","doi":"10.1109/KBSE.1994.342683","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342683","url":null,"abstract":"We present a framework to structure the space of designs for a class of distributed systems. The purpose of this framework is to codify known design knowledge, and thus, when given the task of developing a new system in this class, to facilitate: navigation-finding designs applicable to the task; evaluation-identifying the strengths of weaknesses of a given design comparing alternative designs; and reification-realizing an abstract design as the solution to a concrete task. This is illustrated on the class of resource control systems operating in a distributed setting.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123479449","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 1994-09-20DOI: 10.1109/KBSE.1994.342684
Gordon Kotik, L. Markosian
We demonstrate REFINE Language Tools, a family of interactive, extensible software evaluation and reengineering tools. We also demonstrate applications of REFINE Language Tools to software quality assurance. These applications were built using Software Refinery and the REFINE Language Tools' application programmer's interface. REFINE Language Tools provide functionality for evaluating and reengineering code in Ada, C, COBOL and FORTRAN. Each REFINE Language Tool has an extensive application programmer's interface (API) for building customizations. REFINE Language Tools use an intuitive X Window System-based graphical user interface.<>
我们展示了REFINE Language Tools,这是一系列交互式、可扩展的软件评估和再工程工具。我们还演示了REFINE语言工具在软件质量保证方面的应用。这些应用程序是使用Software Refinery和REFINE Language Tools的应用程序程序员接口构建的。REFINE Language Tools提供了用Ada、C、COBOL和FORTRAN评估和重新设计代码的功能。每个REFINE Language Tool都有一个用于构建定制的广泛的应用程序程序员接口(API)。REFINE Language Tools使用直观的基于X窗口系统的图形用户界面
{"title":"Application of REFINE Language Tools to software quality assurance","authors":"Gordon Kotik, L. Markosian","doi":"10.1109/KBSE.1994.342684","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342684","url":null,"abstract":"We demonstrate REFINE Language Tools, a family of interactive, extensible software evaluation and reengineering tools. We also demonstrate applications of REFINE Language Tools to software quality assurance. These applications were built using Software Refinery and the REFINE Language Tools' application programmer's interface. REFINE Language Tools provide functionality for evaluating and reengineering code in Ada, C, COBOL and FORTRAN. Each REFINE Language Tool has an extensive application programmer's interface (API) for building customizations. REFINE Language Tools use an intuitive X Window System-based graphical user interface.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"160 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1994-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116399636","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}