Results 1 - 10
of
16
Learning at the Knowledge Level
, 1986
"... When Newell introduced the concept of the knowledge level as a useful level of description for computer systems, he focused on the representation of knowledge. This paper applies the knowledge level notion to the problem of knowledge acquisition. Two interesting issues arise. First, some existing ma ..."
Abstract
-
Cited by 68 (3 self)
- Add to MetaCart
When Newell introduced the concept of the knowledge level as a useful level of description for computer systems, he focused on the representation of knowledge. This paper applies the knowledge level notion to the problem of knowledge acquisition. Two interesting issues arise. First, some existing machine learning programs appear to be completely static when viewed at the knowledge level. These programs improve their performance without changing their "knowledge." Second, the behavior of some other machine learning programs cannot be predicted or described at the knowledge level. These programs take unjustified inductive leaps. The first programs are called symbol level learning (SLL) programs; the second, non-deductive knowledge level learning (NKLL) programs. The paper analyzes both of these classes of learning programs and speculates on the possibility of developing coherent theories of each. A theory of symbol level learning is sketched, and some reasons are presented for believing...
Extending design environments to software architecture design
- Automated Software Engineering
, 1996
"... Domain-oriented design environments are cooperative problem-solving systems that support designers in complex design tasks. In this paper we present the facilities and architecture of Argo, a domain-oriented design environment for software architecture. Argo’s architecture is motivated by the desire ..."
Abstract
-
Cited by 44 (10 self)
- Add to MetaCart
Domain-oriented design environments are cooperative problem-solving systems that support designers in complex design tasks. In this paper we present the facilities and architecture of Argo, a domain-oriented design environment for software architecture. Argo’s architecture is motivated by the desire to achieve reuse and extensibility of the design environment. It separates domain-neutral code from domain-oriented code, which is distributed among intelligent design materials as opposed to being centralized in the design environment. Argo’s facilities are motivated by the observed cognitive needs of designers. These facilities extend previous work in design environments to support reflection-in-action, opportunistic design, and comprehension and problem-solving. Keywords: Domain-oriented design environments, critics, software architectures, architectural styles, humancomputer interaction, human cognitive skills.
A formal approach to domain-oriented software design environments
- In Proc. 9th Knowledge-Based Software Engineering Conference
, 1994
"... This paper describes a formal approach to domain-oriented software design environments, based on declarative domain theories, formal specifications, and deductive program synthesis. A declarative domain theory defines the semantics of a domain-oriented specification language and its relationship to ..."
Abstract
-
Cited by 31 (6 self)
- Add to MetaCart
This paper describes a formal approach to domain-oriented software design environments, based on declarative domain theories, formal specifications, and deductive program synthesis. A declarative domain theory defines the semantics of a domain-oriented specification language and its relationship to implementation-level subroutines. Formal specification development and reuse is made accessible to users through an intuitive graphical interface that guides them in creating diagrams denoting formal specifications. Deductive program synthesis ensures that specifications are correctly implemented. This approach has been implemented in AMPHION, a generic KBSE system that targets scientific subroutine libraries. AMPHION has been applied to the domain of solar system kinematics. AMPHION enables space scientists to develop, modify, and reuse specifications an order of magnitude more rapidly than manual program development. Program synthesis is efficient and completely automatic.
Elicitation of Requirements from Multiple Perspectives
, 1991
"... The success of large software engineering projects depends critically on the specification, which must represent the requirements of a large number of people with widely differing perspectives. Conventional approaches to software engineering do not address the process of identifying and integrating ..."
Abstract
-
Cited by 30 (5 self)
- Add to MetaCart
The success of large software engineering projects depends critically on the specification, which must represent the requirements of a large number of people with widely differing perspectives. Conventional approaches to software engineering do not address the process of identifying and integrating these perspectives, but instead concentrate on the maintenance of a single consistent description. This results in a specification which represents only one point of view, often the analyst's, excluding suggestions which do not fit with this view. The processes which led to the adoption of this point of view will go unrecorded, making any rationale attached to such a specification incomplete. Other participants will not be able to validate it properly, as it does not relate to their requirements. This thesis integrates ideas drawn from the study of knowledge acquisition, computer-supported co-operative work and negotiation into a model of the specification activity which allows the capture ...
AMPHION: Automatic programming for scientific subroutine libraries
- Intl. Symp. on Methodologies for Intelligent Systems
, 1994
"... Abstract. This paper describes AMPHION 1, a knowledge-based software engineering (KBSE) system that guides a user in developing a formal specification of a problem and then implements this specification as a program consisting of calls to subroutines from a library. AMPHION is domain independent and ..."
Abstract
-
Cited by 23 (3 self)
- Add to MetaCart
Abstract. This paper describes AMPHION 1, a knowledge-based software engineering (KBSE) system that guides a user in developing a formal specification of a problem and then implements this specification as a program consisting of calls to subroutines from a library. AMPHION is domain independent and is specialized to an application domain through a declarative domain theory. A user is guided in creating a diagram that represents the formal specification through menus based upon the domain theory and the current state of the specification. The diagram also serves to document the specification. Program synthesis is based upon constructive theorem proving, and is efficient and totally automatic. 1
Creating Specifications from Code: Reverse-Engineering Techniques
- Journal of Software Maintenance: Research and Practice
, 1991
"... Reverse-engineering application codes back to the design and specification stage may entail the recreation of lost information for an application, or the extraction of new information. We describe techniques which produce abstractions in object-oriented and functional notations, thus aiding the comp ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Reverse-engineering application codes back to the design and specification stage may entail the recreation of lost information for an application, or the extraction of new information. We describe techniques which produce abstractions in object-oriented and functional notations, thus aiding the comprehension of the essential structure and operations of the application, and providing formal design information which may make the code much more maintainable and certainly more respectable. The two types of application considered here are (1) data processing applications written in Cobol -- of primary importance due to their pre-dominance in present computing practice -- and (2) scientific applications written in Fortran. These two require somewhat different abstraction approaches. 1 Introduction The Programming Research Group at Oxford University is participating in the ESPRIT II project REDO 1 on the Maintenance, Validation and Documentation of Software Systems. As part of this proje...
Quality Information Systems: Repository Support for Evolving Process Models
"... . Relationships between Total Quality Management and process support in CASE environments are established in two ways: firstly, by analysing the repository requirements for each stage in the SEI process maturity model, enhanced by team support aspects; secondly, by presenting a quality-centered proc ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
. Relationships between Total Quality Management and process support in CASE environments are established in two ways: firstly, by analysing the repository requirements for each stage in the SEI process maturity model, enhanced by team support aspects; secondly, by presenting a quality-centered process model that formally differentiates but also integrates the aspects of process definition, process evaluation, and process improvement. 1 This work was supported in part by ESPRIT Basic Research Action 6353 (NATURE) which is concerned with Novel Approaches to the Theory Underlying Requirements Engineering and by the state NordrheinWestfalen, Germany. 2 3 3 1 Introduction Quality Assurance and Quality Control are common methods for ensuring the quality of a product (not only for software products). Quality Assurance is defined in ISO 8402 as the aspect of the overall management function that determines and implements the quality policy; where quality policy is defined as the overall...
Negotiation and the Role of the Requirements Specification
, 1993
"... this document for granted, concentrating instead on the downstream areas of software development. In this chapter, we argue that the problems of requirements engineering deserve greater study. To understand why this is so, we consider the role of the specification in the software engineering process ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
this document for granted, concentrating instead on the downstream areas of software development. In this chapter, we argue that the problems of requirements engineering deserve greater study. To understand why this is so, we consider the role of the specification in the software engineering process, and describe issues which must be addressed during specification construction. The difficulties of requirements engineering come from many directions, including the sheer quantity of knowledge involved, the inherent uncertainty, and the need for negotiation where there are conflicting requirements. We conclude that a prescriptive framework to support negotiation of requirements is highly desirable, and describe a number of objectives for such a framework.
Distributed Intelligent Control and Management: Concepts, Methods and Tools for Developing DICAM Applications
, 1992
"... We are developing a generic control architecture suitable for use as a single intelligent agent or as multiple cooperating agents. The generic architecture combines a task-oriented domain controller with a meta-controller that schedules activities within the domain controller. The domain controller ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We are developing a generic control architecture suitable for use as a single intelligent agent or as multiple cooperating agents. The generic architecture combines a task-oriented domain controller with a meta-controller that schedules activities within the domain controller. The domain controller provides functions for model-based situation assessment and planning, and inter-controller communication. Typically, these functions are performed by modules taken from a repository of reusable software. In tasks that are simple, deterministic or time-stressed, the modules may be compiled into or replaced by conventional control algorithms. In complex, distributed, cooperative, non-deterministic or unstressed situations, these modules will usually exploit knowledge-based reasoning and deliberative control. To improve the controller development process, we are combining many of the best ideas from software engineering and knowledge engineering in a software environment. This environment incl...

