Pub Date : 1993-09-20DOI: 10.1109/KBSE.1993.341192
D. Perry, S. S. Popovich
There are four fundamental aspects of use and reuse in building systems from components: conceptualization, retrieval, selection and correct use. The most important barrier to use and reuse is that of conceptualization. The Inscape environment is a specification-based software development environment integrated by the constructive use of formal interface specifications. The purpose of the formal interface specifications and the semantic interconnections is to make explicit the invisible semantic dependencies that result in conventionally-built systems. The important ingredient provided by Inquire in conceptualization, retrieval, selection and use is the set of predicates that describe the semantics of the elements in the interface. These predicates define the abstractions that are germane to the module interface and describe the properties of data objects and the assumptions and results of operations in a module. Use and reuse of components is based on a component's ability to provide needed semantics at a particular point in a system. It is the purpose of Inquire, the browser and predicate-based search mechanism, to aid both the environment and the user in the search for the components that will provide the desired predicates that are required to build and evolve an implementation correctly.<>
{"title":"Inquire: predicate-based use and reuse","authors":"D. Perry, S. S. Popovich","doi":"10.1109/KBSE.1993.341192","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341192","url":null,"abstract":"There are four fundamental aspects of use and reuse in building systems from components: conceptualization, retrieval, selection and correct use. The most important barrier to use and reuse is that of conceptualization. The Inscape environment is a specification-based software development environment integrated by the constructive use of formal interface specifications. The purpose of the formal interface specifications and the semantic interconnections is to make explicit the invisible semantic dependencies that result in conventionally-built systems. The important ingredient provided by Inquire in conceptualization, retrieval, selection and use is the set of predicates that describe the semantics of the elements in the interface. These predicates define the abstractions that are germane to the module interface and describe the properties of data objects and the assumptions and results of operations in a module. Use and reuse of components is based on a component's ability to provide needed semantics at a particular point in a system. It is the purpose of Inquire, the browser and predicate-based search mechanism, to aid both the environment and the user in the search for the components that will provide the desired predicates that are required to build and evolve an implementation correctly.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"BME-21 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121005466","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341209
S. Bhat, K. Miriyala
We have been studying a model of software specification reuse which begins with the retrieval of relevant specification components, and then successively adapts and composes these components to construct a desired complete specification. The focus of the paper is on the composition of reusable specification components. We use semantically-based composition operations-that is, operations that are designed to guarantee certain semantic properties of the composite artifact if certain properties hold of the input artifacts-to build complex specifications and to design new reusable specification components reactively. We describe the implementation of four composition operations, and illustrate their use by means of a small scenario.<>
{"title":"Operations for evolving specifications","authors":"S. Bhat, K. Miriyala","doi":"10.1109/KBSE.1993.341209","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341209","url":null,"abstract":"We have been studying a model of software specification reuse which begins with the retrieval of relevant specification components, and then successively adapts and composes these components to construct a desired complete specification. The focus of the paper is on the composition of reusable specification components. We use semantically-based composition operations-that is, operations that are designed to guarantee certain semantic properties of the composite artifact if certain properties hold of the input artifacts-to build complex specifications and to design new reusable specification components reactively. We describe the implementation of four composition operations, and illustrate their use by means of a small scenario.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117187894","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341194
E. Lutz
To be cost-effective and reliable, future expert systems must solve the knowledge base maintenance problem. We propose a maintenance assistant that allows domain experts to maintain knowledge bases by modifying documentations provided with the expert systems. Documentations are structured as hypertext documents in which hypertext nodes are linked to representation units in the knowledge base. Predefined test modifications are automatically translated into maintenance operations for the corresponding representation units.<>
{"title":"The knowledge base maintenance assistant","authors":"E. Lutz","doi":"10.1109/KBSE.1993.341194","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341194","url":null,"abstract":"To be cost-effective and reliable, future expert systems must solve the knowledge base maintenance problem. We propose a maintenance assistant that allows domain experts to maintain knowledge bases by modifying documentations provided with the expert systems. Documentations are structured as hypertext documents in which hypertext nodes are linked to representation units in the knowledge base. Predefined test modifications are automatically translated into maintenance operations for the corresponding representation units.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124165015","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341207
P. Bailes, M. Chapman, Ming Gong, I. Peake
Knowledge-based software engineering (KBSE) languages should be as expressive as possible and should allow the reflection in executable programs of their non-executable specification origins. REFINE is the KBSE language for the Software Refinery metaprogramming environment. REFINE's expressiveness is extended with recursively-enumerable sets and parallel logical connectives. A subtype system was developed for the otherwise typeless functional language G, hence the name GRIT (G-REFINE InTegration) for this effort. The relationships between REFINE programs and original specifications is made possible by using the recursively-enumerable sets as the basis for a comprehensive system of run-time-checked assertions, which are subject to both set- and type-theoretic compositions.<>
{"title":"GRIT-an extended REFINE for more executable specifications","authors":"P. Bailes, M. Chapman, Ming Gong, I. Peake","doi":"10.1109/KBSE.1993.341207","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341207","url":null,"abstract":"Knowledge-based software engineering (KBSE) languages should be as expressive as possible and should allow the reflection in executable programs of their non-executable specification origins. REFINE is the KBSE language for the Software Refinery metaprogramming environment. REFINE's expressiveness is extended with recursively-enumerable sets and parallel logical connectives. A subtype system was developed for the otherwise typeless functional language G, hence the name GRIT (G-REFINE InTegration) for this effort. The relationships between REFINE programs and original specifications is made possible by using the recursively-enumerable sets as the basis for a comprehensive system of run-time-checked assertions, which are subject to both set- and type-theoretic compositions.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132099708","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341191
Hing-Yan Lee, M. Harandi
Describes a knowledge-based retrieval mechanism for a hybrid software design system that promotes the reuse of design schemas and design cases. The retrieval relies on domain-specific knowledge whenever this is available; otherwise, it uses analogy to determine the degree of closeness of match using is-a lattices and similarity metrics.<>
{"title":"An analogy-based retrieval mechanism for software design reuse","authors":"Hing-Yan Lee, M. Harandi","doi":"10.1109/KBSE.1993.341191","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341191","url":null,"abstract":"Describes a knowledge-based retrieval mechanism for a hybrid software design system that promotes the reuse of design schemas and design cases. The retrieval relies on domain-specific knowledge whenever this is available; otherwise, it uses analogy to determine the degree of closeness of match using is-a lattices and similarity metrics.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129963673","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341202
Richard Jüllig, Yellamraju V. Srinivas
The authors describe the formal environment at Kesteral for synthesizing programs. The authors show that straightforward formalization, persistently applied at all levels of system description and system derivation, produces a scalable architecture for a synthesis environment. The primitive building blocks for framework are specifications, which encapsulate types and operations, and specification arrows, which are relations between specifications. The design of a system is represented as a diagram of specifications and arrows. Synthesis steps manipulate such diagrams, for example, by adding design detail to some specification, or by building new diagrams. A design history is a diagram of diagrams. Thus, they have a formal, knowledge-based, and machine-supported counterpart to such software engineering methodologies as CASE and OOP.<>
{"title":"Diagrams for software synthesis","authors":"Richard Jüllig, Yellamraju V. Srinivas","doi":"10.1109/KBSE.1993.341202","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341202","url":null,"abstract":"The authors describe the formal environment at Kesteral for synthesizing programs. The authors show that straightforward formalization, persistently applied at all levels of system description and system derivation, produces a scalable architecture for a synthesis environment. The primitive building blocks for framework are specifications, which encapsulate types and operations, and specification arrows, which are relations between specifications. The design of a system is represented as a diagram of specifications and arrows. Synthesis steps manipulate such diagrams, for example, by adding design detail to some specification, or by building new diagrams. A design history is a diagram of diagrams. Thus, they have a formal, knowledge-based, and machine-supported counterpart to such software engineering methodologies as CASE and OOP.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134267055","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341208
M. Feather
An implementation of bounded obligations is demonstrated. Bounded obligations facilitate the expression of requirements such as 'a user must return a book on or before its due date'. The implementation translates a simple, declarative form of a bounded obligation into the equivalent data structures and operations necessary to ensure its adherence. Incremental development and exploration is achieved by modifying a 'strict' bounded obligation to become 'violatable' together with a way of recognizing when it has been violated. Again, a simple declaration to this effect is appropriately translated by the implementation. Finally, response to such violations can also be declared and automatically translated into running code. The implementation is described and illustrated on examples drawn from a simple library system.<>
{"title":"An implementation of bounded obligations","authors":"M. Feather","doi":"10.1109/KBSE.1993.341208","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341208","url":null,"abstract":"An implementation of bounded obligations is demonstrated. Bounded obligations facilitate the expression of requirements such as 'a user must return a book on or before its due date'. The implementation translates a simple, declarative form of a bounded obligation into the equivalent data structures and operations necessary to ensure its adherence. Incremental development and exploration is achieved by modifying a 'strict' bounded obligation to become 'violatable' together with a way of recognizing when it has been violated. Again, a simple declaration to this effect is appropriately translated by the implementation. Finally, response to such violations can also be declared and automatically translated into running code. The implementation is described and illustrated on examples drawn from a simple library system.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"252 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116057781","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341204
G. Kingston, R. Vernik, Philip W. Dart
Evaluation of software can be complex and difficult. There are many tasks performed during the software life-cycle which attempt to answer a range of key concerns. A lack of visibility and understanding of the software products, of the processes used for development, and of the resources which serve as inputs to these processes is seen as a major impediment to providing answers to these concerns. This paper outlines an approach to software evaluation based on the use of description/visualization tools and knowledge-based techniques. We report on an expert assistant which we have developed to support this approach. This tool was developed using a hybrid approach which combines the benefits of database techniques and knowledge-based systems.<>
{"title":"Development of an expert assistant for software evaluation using a hybrid approach","authors":"G. Kingston, R. Vernik, Philip W. Dart","doi":"10.1109/KBSE.1993.341204","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341204","url":null,"abstract":"Evaluation of software can be complex and difficult. There are many tasks performed during the software life-cycle which attempt to answer a range of key concerns. A lack of visibility and understanding of the software products, of the processes used for development, and of the resources which serve as inputs to these processes is seen as a major impediment to providing answers to these concerns. This paper outlines an approach to software evaluation based on the use of description/visualization tools and knowledge-based techniques. We report on an expert assistant which we have developed to support this approach. This tool was developed using a hybrid approach which combines the benefits of database techniques and knowledge-based systems.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124620601","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341195
Peiwei Mi, W. Scacchi
The paper presents an integrated approach to articulate software process plans that fail. Articulation repairs a plan when a diagnosed failure occurs and reschedules changes that ensure the plan's continuation. In implementing articulation, we combine diagnosis, replanning, and rescheduling into a powerful mechanism supporting adaptive process-based software development. Use of articulation in plan execution supports recovery and repair of anticipated failures, as well as revising and improving the plans to become more effective. We also describe how a prototype knowledge-based system we developed implements the articulation approach.<>
{"title":"Articulation: an integrated approach to the diagnosis, replanning, and rescheduling of software process failures","authors":"Peiwei Mi, W. Scacchi","doi":"10.1109/KBSE.1993.341195","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341195","url":null,"abstract":"The paper presents an integrated approach to articulate software process plans that fail. Articulation repairs a plan when a diagnosed failure occurs and reschedules changes that ensure the plan's continuation. In implementing articulation, we combine diagnosis, replanning, and rescheduling into a powerful mechanism supporting adaptive process-based software development. Use of articulation in plan execution supports recovery and repair of anticipated failures, as well as revising and improving the plans to become more effective. We also describe how a prototype knowledge-based system we developed implements the articulation approach.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121821605","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 : 1993-09-20DOI: 10.1109/KBSE.1993.341199
Kevin Benner
The ARIES Simulation Component (ASC) is a tool for the validation of behaviors described by an evolving specification which may be incomplete, inconsistent, and/or ambiguous. ASC does this by the formalization of an analyst's focus, the introduction of approximations to abstract away parts of the specification unrelated to the current focus, and the automated execution of a specification of various levels of abstraction with respect to this focus. This paper describes how ASC is able to bound a large and potentially incomplete behavior space of a specification under development in a well disciplined manner such that validation techniques (in this case simulation) which are most effective on small behavior spaces are tractable. This work is a step along a path toward the scaling of dynamic analysis techniques to real-world sized problems.<>
{"title":"The ARIES Simulation Component (ASC)","authors":"Kevin Benner","doi":"10.1109/KBSE.1993.341199","DOIUrl":"https://doi.org/10.1109/KBSE.1993.341199","url":null,"abstract":"The ARIES Simulation Component (ASC) is a tool for the validation of behaviors described by an evolving specification which may be incomplete, inconsistent, and/or ambiguous. ASC does this by the formalization of an analyst's focus, the introduction of approximations to abstract away parts of the specification unrelated to the current focus, and the automated execution of a specification of various levels of abstraction with respect to this focus. This paper describes how ASC is able to bound a large and potentially incomplete behavior space of a specification under development in a well disciplined manner such that validation techniques (in this case simulation) which are most effective on small behavior spaces are tractable. This work is a step along a path toward the scaling of dynamic analysis techniques to real-world sized problems.<<ETX>>","PeriodicalId":371606,"journal":{"name":"Proceedings of 8th Knowledge-Based Software Engineering Conference","volume":" 22","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-09-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113948587","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}