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.342667
Françoise Balmas
We present a pattern matcher specially developed far the parsing of LISP functions. Its main features are patterns defined by context-free grammars, parametrized patterns, multi-step matching, as well as dynamic synthesis of new patterns. We have designed a model far the conceptual description of functions, which abstracts computations performed by a function, but is still complete enough to be executable. It constitutes a key for the understanding of the function. The augmented pattern matcher is used by our system PRISME to analyze LISP functions and to synthesize conceptual descriptions. We are currently working on the extension of the system in order to handle programs and to use the conceptual descriptions as guide to program verification and optimization.<>
{"title":"An augmented pattern matcher as a tool to synthesize conceptual descriptions of programs","authors":"Françoise Balmas","doi":"10.1109/KBSE.1994.342667","DOIUrl":"https://doi.org/10.1109/KBSE.1994.342667","url":null,"abstract":"We present a pattern matcher specially developed far the parsing of LISP functions. Its main features are patterns defined by context-free grammars, parametrized patterns, multi-step matching, as well as dynamic synthesis of new patterns. We have designed a model far the conceptual description of functions, which abstracts computations performed by a function, but is still complete enough to be executable. It constitutes a key for the understanding of the function. The augmented pattern matcher is used by our system PRISME to analyze LISP functions and to synthesize conceptual descriptions. We are currently working on the extension of the system in order to handle programs and to use the conceptual descriptions as guide to program verification and optimization.<<ETX>>","PeriodicalId":412417,"journal":{"name":"Proceedings KBSE '94. Ninth Knowledge-Based Software Engineering Conference","volume":"142 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":"115212235","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}