Results 1 
6 of
6
OOD Frameworks in Componentbased Software Development in Computational Logic
, 1998
"... . Current Objectoriented Design (OOD) methodologies tend to focus on objects as the unit of reuse, but it is increasingly recognised that frameworks, or groups of interacting objects, are a better unit of reuse. Thus, in nextgeneration Componentbased Development (CBD) methodologies, we can expect ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
. Current Objectoriented Design (OOD) methodologies tend to focus on objects as the unit of reuse, but it is increasingly recognised that frameworks, or groups of interacting objects, are a better unit of reuse. Thus, in nextgeneration Componentbased Development (CBD) methodologies, we can expect components to be frameworks rather than objects. In this paper, we describe a preliminary attempt at a formal semantics for OOD frameworks in CBD in computational logic. 1 Introduction Most of the existing (semiformal) Objectoriented Design (OOD) methods such as Fusion [4, 6] and Syntropy [5] use classes or objects as the basic unit of design or reuse. These methods are based on the traditional view of an object, as shown in Figure 1, which regards an object as a closed entity with one fixed role. visible functions structure internal encapsulated Fig. 1. Traditional view of an object. This, however, does not reflect the nature of objects (and classes that describe them) in practical syst...
Frameworks in Catalysis: Pictorial Notation and Formal Semantics
 Proc. 1st IEEE Int. Conf. on Formal Engineering Methods
, 1997
"... In OO Design, it is widely recognised that the distribution of tasks between objects and the contracts between them are key to effective design. In composing designs from reusable parts, the parts are therefore frameworks, namely descriptions of the interactive relationships between objects which pa ..."
Abstract

Cited by 9 (8 self)
 Add to MetaCart
In OO Design, it is widely recognised that the distribution of tasks between objects and the contracts between them are key to effective design. In composing designs from reusable parts, the parts are therefore frameworks, namely descriptions of the interactive relationships between objects which participate in the interactions. Designs are then built by composing these frameworks, and any object in the final design will play (various) roles from several frameworks. Practitioners of OO Design use pictorial notations for design. However, in order to reason formally about design, we need a sound (formal) semantics for the diagrams. In this paper, we show that frameworks can be formalised as manysorted theories, and then present a pictorial representation of such theories, developed in the Catalysis project. 1. Introduction Formal methods for program or system development need to have a good pictorial notation if they are to be adopted by practitioners for realworld work. Such a notati...
Formal Development of Correct Classes in Computational Logic
 Proc. BCSFACS Northern Formal Methods Workshop, Electronic Workshops in Computing Series
, 1997
"... Quality software must be reusable, extensible and reliable. In computational logic , we have developed an approach to constructing programs that are formally correct. Our approach can provide a basis for constructing software that is (formally) reusable and extensible, and not just reliable but form ..."
Abstract

Cited by 5 (5 self)
 Add to MetaCart
Quality software must be reusable, extensible and reliable. In computational logic , we have developed an approach to constructing programs that are formally correct. Our approach can provide a basis for constructing software that is (formally) reusable and extensible, and not just reliable but formally correct. In this paper, we explain our notion of correct classes, and how to develop them. 1 Introduction Quality software must be reusable, extensible (or maintainable), and reliable. Objectoriented programming is seen as a suitable programming paradigm for constructing such software. It achieves reusability and extensibility by the use of classes (of objects) with inheritance. Reliability can be gained by verifying assertions which correspond to invariants on classes and prepostconditions on their methods. In computational logic, we have developed an approach to constructing programs that are formally correct (wrt their specifications). Our approach is declarative in the sense tha...
Isoinitial Models for Logic Programs: A Preliminary Study
 Proceedings of the 1998 Joint Conference on Declarative Programming
, 1998
"... The Herbrand model H of a definite logic program P is an initial model among the class of all the models of P , interpreting P as an initial theory. Such a theory proves (computes) only positive literals (atoms) in P , so it does not deal with negation. In this paper, we introduce isoinitial models ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
The Herbrand model H of a definite logic program P is an initial model among the class of all the models of P , interpreting P as an initial theory. Such a theory proves (computes) only positive literals (atoms) in P , so it does not deal with negation. In this paper, we introduce isoinitial models of logic programs. We show that isoinitial semantics deals with negation, and works in a uniform way for definite and normal logic programs. Moreover, the lack of an isoinitial model signals the absence of information. Thus it also provides a unifying semantics for closed and open logic programs. Keywords: Semantics, isoinitial models, negation 1 Introduction The intended model of a standard (Horn clause) logic program P is its Herbrand model H. It interprets P under the Closed World Assumption [11]. Considering the class of all the models of P , H interprets P as an initial (Horn) theory [5]. A distinguishing feature of an initial theory P is that, in general, it proves (computes) only p...
Logical Foundations for . . .
, 1995
"... We present a formalism for reasoning about declarative objectoriented programs. Classes are represented as firstorder theories that contain logic programs as methods. Inheritance, genericity and related concepts are represented by operations on such theories which preserve the consistency of these ..."
Abstract
 Add to MetaCart
We present a formalism for reasoning about declarative objectoriented programs. Classes are represented as firstorder theories that contain logic programs as methods. Inheritance, genericity and related concepts are represented by operations on such theories which preserve the consistency of these theories as well as the correctness of the programs specified by their axioms. Our approach provides a logical basis for the construction of correct and reusable programming systems.