Results 1  10
of
133
Introducing OBJ
, 1993
"... This is an introduction to the philosophy and use of OBJ, emphasizing its operational semantics, with aspects of its history and its logical semantics. Release 2 of OBJ3 is described in detail, with many examples. OBJ is a wide spectrum firstorder functional language that is rigorously based on ..."
Abstract

Cited by 136 (30 self)
 Add to MetaCart
This is an introduction to the philosophy and use of OBJ, emphasizing its operational semantics, with aspects of its history and its logical semantics. Release 2 of OBJ3 is described in detail, with many examples. OBJ is a wide spectrum firstorder functional language that is rigorously based on (order sorted) equational logic and parameterized programming, supporting a declarative style that facilitates verification and allows OBJ to be used as a theorem prover.
TACCLE: a methodology for objectoriented software Testing At the Class and Cluster LEvels
 ACM Transactions on Software Engineering and Methodology
, 2001
"... Objectoriented programming consists of several different levels of abstraction, namely the algorithmic level, class level, cluster level, and system level. The testing of objectoriented software at the algorithmic and system levels is similar to conventional programming testing. Testing at the cla ..."
Abstract

Cited by 79 (18 self)
 Add to MetaCart
Objectoriented programming consists of several different levels of abstraction, namely the algorithmic level, class level, cluster level, and system level. The testing of objectoriented software at the algorithmic and system levels is similar to conventional programming testing. Testing at the class and cluster levels poses new challenges. Since methods and objects may interact with one another dynamically with unforeseen combinations and invocations, they are much more complex to simulate and test than the static hierarchy of functional calls in conventional programs. In this paper, we propose a methodology for objectoriented software testing at the class and cluster levels.
In classlevel testing, it is essential to determine whether objects produced from the execution of implemented systems would preserve the properties defined by the specification, such as behavioral equivalence and nonequivalence. Our classlevel testing methodology addresses both of these aspects. For the testing of behavioral equivalence, we propose to select fundamental pairs of equivalent ground terms as test cases using a blackbox technique based on algebraic specifications, and then determine by means of a whitebox technique whether the objects resulting from executing such test cases are observationally equivalent. To address the testing of behavioral nonequivalence, we have identified and analyzed several nontrivial problems in the current literature. We propose to classify term equivalence into four types, thereby setting up new concepts and deriving important properties. Based on these results, we propose an approach to deal with the problems in the generation of nonequivalent ground terms as test cases.
Relatively little research has contributed to clusterlevel testing. In this paper, we also discuss blackbox testing at the cluster level. We illustrate the feasibility of using Contract, a formal specification language for the behavioral dependencies and interactions among cooperating objects of different classes in a given cluster. We propose an approach to test the interactions among different classes using every individual messagepassing rule in the given Contract specification. We also present an approach to examine the interactions among composite messagepassing rules. We have developed four testing tools to support our methodology.
Observational logic
 IN ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY (AMAST'98
, 1999
"... We present an institution of observational logic suited for statebased systems specifications. The institution is based on the notion of an observational signature (which incorporates the declaration of a distinguished set of observers) and on observational algebras whose operations are required ..."
Abstract

Cited by 57 (10 self)
 Add to MetaCart
(Show Context)
We present an institution of observational logic suited for statebased systems specifications. The institution is based on the notion of an observational signature (which incorporates the declaration of a distinguished set of observers) and on observational algebras whose operations are required to be compatible with the indistinguishability relation determined by the given observers. In particular, we introduce a homomorphism concept for observational algebras which adequately expresses observational relationships between algebras. Then we consider a flexible notion of observational signature morphism which guarantees the satisfaction condition of institutions w.r.t. observational satisfaction of arbitrary firstorder sentences. From the proof theoretical point of view we construct a sound and complete proof system for the observational consequence relation. Then we consider structured observational specifications and we provide a sound and complete proof system for such specifications by using a general, institutionindependent result of [6].
Behavioral coherence in objectoriented algebraic specification
, 1998
"... Abstract: We extend the classical hidden algebra formalism by a rearrangement of the basic concepts. This rearrangement of the hidden algebra formalism permits an extension to novel concepts which bring new practical strength to the speci cation and veri cation methodologies. The main novel concep ..."
Abstract

Cited by 39 (7 self)
 Add to MetaCart
Abstract: We extend the classical hidden algebra formalism by a rearrangement of the basic concepts. This rearrangement of the hidden algebra formalism permits an extension to novel concepts which bring new practical strength to the speci cation and veri cation methodologies. The main novel concept, which constitutes the core of this work, is that of behavioural coherence, which is essentially a property of preservation of behavioural structures. We de ne this concept and study its main denotational and computational properties, and also show how the extension of hidden algebra with behavioural coherence still accommodates the coinduction proof method advocated by classical hidden algebra and, very importantly, permits operations with several hidden sorts in the arity. The emphasis of this paper is however on the methodologies related to behavioural coherence. We present the basic methodologies of behavioural coherence by means of examples actually run under the CafeOBJ system, including many proofs with the system exiled to appendices.
Observer Complete Definitions are Behaviourally Coherent
 OBJ/CAFEOBJ/MAUDE AT FORMAL METHODS '99
, 1999
"... We consider observational specifications of statebased systems which incorporate the declaration of a distinguished set of observer operations. These observers determine an indistinguishability relation for states which is called "observational equality". An important requirement for ..."
Abstract

Cited by 34 (6 self)
 Add to MetaCart
We consider observational specifications of statebased systems which incorporate the declaration of a distinguished set of observer operations. These observers determine an indistinguishability relation for states which is called "observational equality". An important requirement for the nonobserver operations is the compatibility with the observational equality. In the CafeOBJ language (and in extended hidden algebra) this property is called "behavioural coherence". In this presentation we introduce the notion of an "observer complete definition" and we show that any (nonobserver) operation which is defined using this pattern is behaviourally coherent. We also discuss some consequences of this result for relating observational logic and extended hidden algebra semantics and for proving the correctness of observational implementations.
Formalising Ontologies and Their Relations
 In Proceedings of DEXA’99
, 1999
"... . Ontologies allow the abstract conceptualisation of domains, but a given domain can be conceptualised through many different ontologies, which can be problematic when ontologies are used to support knowledge sharing. We present a formal account of ontologies that is intended to support knowledg ..."
Abstract

Cited by 30 (1 self)
 Add to MetaCart
(Show Context)
. Ontologies allow the abstract conceptualisation of domains, but a given domain can be conceptualised through many different ontologies, which can be problematic when ontologies are used to support knowledge sharing. We present a formal account of ontologies that is intended to support knowledge sharing through precise characterisations of relationships such as compatibility and refinement. We take an algebraic approach, in which ontologies are presented as logical theories. This allows us to characterise relations between ontologies as relations between their classes of models. A major result is cocompleteness of specifications, which supports merging of ontologies across shared subontologies. 1 Introduction Over the last decade ontologies  best characterised as explicit specifications of a conceptualisation of a domain [17]  have become increasingly important in the design and development of knowledge based systems, and for knowledge representations generally. They...
Extra Theory Morphisms for Institutions: logical semantics for multiparadigm languages
, 1996
"... We extend the ordinary concept of theory morphism in institutions to extra theory morphisms. Extra theory morphism map theories belonging to different institutions across institution morphisms. We investigate the basic mathematical properties of extra theory morphisms supporting the semantics of log ..."
Abstract

Cited by 29 (8 self)
 Add to MetaCart
We extend the ordinary concept of theory morphism in institutions to extra theory morphisms. Extra theory morphism map theories belonging to different institutions across institution morphisms. We investigate the basic mathematical properties of extra theory morphisms supporting the semantics of logical multiparadigm languages, especially structuring specifications (module systems) a la OBJClear. They include model reducts, free constructions (liberality), colimits, model amalgamation (exactness), and inclusion systems. We outline a general logical semantics for languages whose semantics satisfy certain "logical" principles by extending the institutional semantics developed within the ClearOBJ tradition. Finally, in the Appendix, we briefly illustrate it with the concrete example of CafeOBJ. Keywords Algebraic specification, Institutions, Theory morphism. AMS Classifications 68Q65, 18C10, 03G30, 08A70 2 1 Introduction Computing Motivation This work belongs to the research are...
Coalgebra semantics for hidden algebra: parameterized objects and inheritance
 the 12th Workshop on Algebraic Development Techniques
, 1998
"... Abstract. The theory of hidden algebras combines standard algebraic techniques with coalgebraic techniques to provide a semantic foundation for the object paradigm. This paper focuses on the coalgebraic aspect of hidden algebra, concerned with signatures of destructors at the syntactic level and wi ..."
Abstract

Cited by 24 (0 self)
 Add to MetaCart
Abstract. The theory of hidden algebras combines standard algebraic techniques with coalgebraic techniques to provide a semantic foundation for the object paradigm. This paper focuses on the coalgebraic aspect of hidden algebra, concerned with signatures of destructors at the syntactic level and with finality and coffee constructions at the semantic level. Our main result shows the existence of cofree constructions induced by maps between coalgebraic hidden specifications. Their use in giving a semantics to parameterised objects and inheritance is then illustrated. The cofreeness result for hidden algebra is generalised to abstract coalgebra and a universal construction for building object systems over existing subsystems is obtained. Finally, existence of final/cofree constructions for arbitrary hidden specifications is discussed. 1
Composing Hidden Information Modules over Inclusive Institutions
 In From ObjectOrientation to Formal Methods: Essays in Honor of JohanOle Dahl
, 2003
"... This paper studies the composition of modules that can hide information, over a very general class of logical systems called inclusive institutions. Two semantics are given for composition of such modules using five familiar operations, and a property called conservativity is shown necessary and suf ..."
Abstract

Cited by 24 (4 self)
 Add to MetaCart
This paper studies the composition of modules that can hide information, over a very general class of logical systems called inclusive institutions. Two semantics are given for composition of such modules using five familiar operations, and a property called conservativity is shown necessary and sufficient for these semantics to agree. The first semantics extracts the visible properties of the result of composing the visible and hidden parts of modules, while the second uses only the visible properties of the components; the semantics agree when the visible consequences of hidden information are enough to determine the result of the composition. A number of "laws of software composition" are proved relating the composition operations. Inclusive institutions simplify many proofs.
A Note on Test Oracles and Semantics of Algebraic Specifications
"... Algebraic testing is an automated software testing method based on algebraic formal specifications. It tests if a program correctly implements an algebraic specification by checking if the equations of the specification are satisfied. One of the key techniques of algebraic testing is the use of obs ..."
Abstract

Cited by 23 (5 self)
 Add to MetaCart
(Show Context)
Algebraic testing is an automated software testing method based on algebraic formal specifications. It tests if a program correctly implements an algebraic specification by checking if the equations of the specification are satisfied. One of the key techniques of algebraic testing is the use of observation contexts as a test oracle so that the comparison of values of structured data can be realised by comparing values of simple data types. This leads to a behavioural semantics of algebraic specifications and divides sorts into observable and nonobservable. To represent the structure of objectoriented programs and to facilitate incremental integration testing, this paper extends the notion of observable sorts by introducing a partial ordering between sorts to represent the importation relation between classes. In this framework, the validity of test oracles is formally proved in final algebra semantics. 1.