An Overview of Reflection and Its Use in Cooperation
---
paper_title: Semantics and implementation of schema evolution in object-oriented databases

paper_content:

Object-oriented programming is well-suited to such data-intensive application domains as CAD/CAM, AI, and OIS (office information systems) with multimedia documents. At MCC we have built a prototype object-oriented database system, called ORION. It adds persistence and sharability to objects created and manipulated in applications implemented in an object-oriented programming environment. One of the important requirements of these applications is schema evolution, that is, the ability to dynamically make a wide variety of changes to the database schema. In this paper, following a brief review of the object-oriented data model that we support in ORION, we establish a framework for supporting schema evolution, define the semantics of schema evolution, and discuss its implementation.
---
paper_title: Models of Expertise in Knowledge Acquisition

paper_content:

Publisher Summary This chapter presents the models of expertise in knowledge acquisition. The conceptual models, which are developed from interpretation models, consist most often of combinations of models for generic tasks. The conceptual model consists of a diagnostic task, which has as one of its sub tasks a planning task. Project management consists of alternating planning, monitoring, diagnostic, and remedying tasks. The interpretation models provide support for developing the interference and task layers, but far less support exists for domain structures. However, this reflects the state of the art in artificial intelligence (AI), where formalisms are developed for knowledge representation, but there is little insight in what good representations (models) are for objects and actions in a domain. Current research in AI toward models for time, space, substance, and processes may in the near future become valuable for analyzing domains and constructing robust domain knowledge bases. These models or domain theories can be developed into tools that provide initial structures for major domain concepts. The majority of these studies indicate that KCLM as a bridge between data and the design of the KBS is useful. The studies also indicate that KCLM and the interpretation models with KADS are not completely stable and fully developed.
---
paper_title: KADS: a modelling approach to knowledge engineering

paper_content:

Abstract This paper discusses the KADs approach to knowledge engineering. In KADS, the development of a knowledge-based system (KBS) is viewed as a modelling activity. A KBS is not a container filled with knowledge extracted from an expert, but an operational model that exhibits some desired behaviour that can be observed in terms of real-world phenomena. Five basic principles underlying the KADS approach are discussed, namely (i) the introduction of partial models as a means to cope with the complexity of the knowledge engineering process, (ii) the KADS four-layer framework for modelling the required expertise, (iii) the re-usability of generic model components as templates supporting top-down knowledge acquisition, (iv) the process of differentiating simple models into more complex ones and (v) the importance of structure—preserving transformation of models of expertise into design and implementation. The actual activities that a knowledge engineer has to undertake are briefly discussed. We compare the KADS approach to related approaches and discuss experiences and future developments. The approach is illustrated throughout the paper with examples in the domain of troubleshooting audio equipment.
---
paper_title: Debugging concurrent systems based on object groups

paper_content:

This paper presents a debugging method for Concurrent Object-Oriented Systems. Our method is based upon a new notion called Object Groups. An Object Group is a collection of objects which forms a natural unit for performing collective tasks. An Object Group’s Task differs from C. Manning’s nested transaction which is based on the nested request-reply bilateral message passing structures. Each Object Group’s Task permits more general message passing structures. The language constructs which specify and use Object Groups have been introduced into an object-oriented concurrent language ABCL/l. The paper also describes ABCL/l’s debugging tools based on Object Groups.
---

Title: An Overview of Reflection and Its Use in Cooperation

Section 1: Introduction
Description 1: Introduce the concept of reflection in information systems, its importance, and provide an overview of the research paper's objectives.

Section 2: Approaches to Reflection
Description 2: Discuss various models and methodologies for reflection in knowledge-based systems and programming languages, including KADS and CLOS.

Section 3: KADS: (Knowledge Acquisition and Design System)
Description 3: Provide an overview of the KADS methodology, its origins, and its application in developing knowledge-based systems.

Section 4: KADS: The Four-layer Model of Expertise
Description 4: Explain the four-layer model of expertise in KADS, focusing on domain knowledge, inference knowledge, task knowledge, and strategic knowledge.

Section 5: REFLECT: The Meta-level Architecture
Description 5: Describe the REFLECT project's approach to enhancing the strategy layer of KADS for reasoning about problem-solving competence.

Section 6: CLOS: Common Lisp Object System
Description 6: Introduce CLOS and its self-describing facilities, emphasizing its meta-object protocols and extensions for programming reflection.

Section 7: Summary
Description 7: Summarize the differences between task reflection and programming reflection, and introduce the concept of operational reflection, which integrates both.

Section 8: Cooperation through Reflection
Description 8: Explain the benefits of reflection in cooperative information systems, particularly in multi-database environments, and introduce the concept of operational reflection.

Section 9: Cooperative Aspects of the R-OK Model
Description 9: Describe the R-OK (Reflective Object Knowledge) model and its four types of metaobjects for facilitating cooperation among pre-existing information systems.

Section 10: Formalisation
Description 10: Formalize the reflective aspects of the R-OK model using the Z notation and explain its application in inheritance, location, and action within information systems.

Section 11: Reflective Cooperative Processing Activities
Description 11: Provide examples of how reflection can be used for cooperative processing, including cooperative instantiation and emergency triggers.

Section 12: Self-explanation
Description 12: Discuss the principle of self-explanation in reflective systems and its implications for model utility, completeness, and consistency.