Results 21  30
of
163
ObjectOriented Nets with Algebraic Specifications: The COOPN/2 Formalism
 Advances in Petri Nets on ObjectOrientation, volume to appear of Lecture Notes in Computer Science
, 1997
"... This paper presents and formally defines the COOPN/2 formalism (Concurrent ObjectOriented Petri Net) which is devised for the specification of large concurrent systems. We introduce the basic principles of the formalism, and describe how some aspects of objectorientation  such as the notions ..."
Abstract

Cited by 25 (9 self)
 Add to MetaCart
This paper presents and formally defines the COOPN/2 formalism (Concurrent ObjectOriented Petri Net) which is devised for the specification of large concurrent systems. We introduce the basic principles of the formalism, and describe how some aspects of objectorientation  such as the notions of class/object, object reference, inheritance and subtyping  are taken into account. In COOPN/2, classes (considered as templates) are described by means of algebraic nets in which places play the role of attributes, and methods are external parameterized transitions. A semantic extension for the management of the object references is defined. Inheritance and subtyping are clearly distinguished. Interaction between objects consists of synchronizations. Synchronization expressions are provided which allow the designer to select interaction policies between the partners. We also provide a step semantics which expresses the true concurrency of the object behaviors. Finally, in orde...
Hidden Coinduction: Behavioral Correctness Proofs for Objects
 Mathematical Structures in Computer Science
, 1999
"... This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. The main contribution is powerful hidden coinduction techniques for proving behavio ..."
Abstract

Cited by 24 (8 self)
 Add to MetaCart
This paper unveils and motivates an ambitious programme of hidden algebraic research in software engineering, beginning with our general goals, continuing with an overview of results, and including some future plans. The main contribution is powerful hidden coinduction techniques for proving behavioral correctness of concurrent systems; several mechanical proofs are given using OBJ3. We also show how modularization, bisimulation, transition systems, concurrency and combinations of the functional, constraint, logic and object paradigms fit into hidden algebra. 1. Introduction
Categorybased Semantics for Equational and Constraint Logic Programming
, 1994
"... This thesis proposes a general framework for equational logic programming, called categorybased equational logic by placing the general principles underlying the design of the programming language Eqlog and formulated by Goguen and Meseguer into an abstract form. This framework generalises equation ..."
Abstract

Cited by 24 (10 self)
 Add to MetaCart
This thesis proposes a general framework for equational logic programming, called categorybased equational logic by placing the general principles underlying the design of the programming language Eqlog and formulated by Goguen and Meseguer into an abstract form. This framework generalises equational deduction to an arbitrary category satisfying certain natural conditions; completeness is proved under a hypothesis of quantifier projectivity, using a semantic treatment that regards quantifiers as models rather than variables, and regards valuations as model morphisms rather than functions. This is used as a basis for a model theoretic categorybased approach to a paramodulationbased operational semantics for equational logic programming languages. Categorybased equational logic in conjunction with the theory of institutions is used to give mathematical foundations for modularisation in equational logic programming. We study the soundness and completeness problem for module imports i...
A Formalization of Objects Using Equational Dynamic Logic
, 1991
"... Ordersorted equational logic is extended with dynamic logic to a specification language for dynamic objects. Special attention is paid to different concepts of encapsulation that play a role in objectorientation. It is argued that the resulting language, CMSL, meets those requirements of the ob ..."
Abstract

Cited by 24 (9 self)
 Add to MetaCart
Ordersorted equational logic is extended with dynamic logic to a specification language for dynamic objects. Special attention is paid to different concepts of encapsulation that play a role in objectorientation. It is argued that the resulting language, CMSL, meets those requirements of the objectoriented database system manifesto [6] that are applicable to objectoriented conceptual models (as opposed to OO databases).
Static Semantic Analysis and Theorem Proving for CASL
 In F. ParisiPresicce (Ed.): Recent Trends in Algebraic Development Techniques
, 1998
"... . This paper presents a static semantic analysis for CASL, the Common Algebraic Specification Language. Abstract syntax trees are generated including subsorts and overloaded functions and predicates. The static semantic analysis, through the implementation of an overload resolution algorithm, checks ..."
Abstract

Cited by 22 (12 self)
 Add to MetaCart
. This paper presents a static semantic analysis for CASL, the Common Algebraic Specification Language. Abstract syntax trees are generated including subsorts and overloaded functions and predicates. The static semantic analysis, through the implementation of an overload resolution algorithm, checks and qualifies these abstract syntax trees. The result is a fully qualified CASL abstract syntax tree where the overloading has been resolved. This abstract syntax tree corresponds to a theory in the institution underlying CASL, subsorted partial firstorder logic with sort generation constraints (SubPCFOL). Two ways of embedding SubPCFOL in higherorder logic (HOL) of the logical framework Isabelle are discussed: the first one from SubPFOL to HOL via PFOL (partial firstorder logic) first drops subsorting and then partiality, and the second one is the counterpart via SubFOL (subsorted firstorder logic). The C in SubPCFOL stands for sort generation constraints, which are translated separat...
Operational termination of membership equational programs. the ordersorted way
, 2008
"... Our main goal is automating termination proofs for programs in rewritingbased languages with features such as: (i) expressive type structures, (ii) conditional rules, (iii) matching modulo axioms, and (iv) contextsensitive rewriting. Specifically, we present a new operational termination method for ..."
Abstract

Cited by 21 (9 self)
 Add to MetaCart
Our main goal is automating termination proofs for programs in rewritingbased languages with features such as: (i) expressive type structures, (ii) conditional rules, (iii) matching modulo axioms, and (iv) contextsensitive rewriting. Specifically, we present a new operational termination method for membership equational programs with features (i)(iv) that can be applied to programs in membership equational logic (MEL). The method first transforms a MEL program into a simpler, yet semantically equivalent, conditional ordersorted (OS) program. Subsequent trasformations make the OSprogram unconditonal, and, finally, unsorted. In particular, we extend and generalize to this richer setting an ordersorted termination technique for unconditional OS programs proposed by Ölveczky and Lysne. An important advantage of our method is that it minimizes the use of conditional rules and produces simpler transformed programs whose termination is often easier to prove automatically.
Minimal Transition System Semantics for Lightweight Class and Behavior Diagrams
, 1998
"... We give a semantics for lightweight UML class diagrams and ultralightweight statecharts in terms of labeled step transition systems that embody a minimal change, maximal step semantics, and in which changes generated in a step have effect in the following step. In order to define the semantics, ..."
Abstract

Cited by 21 (2 self)
 Add to MetaCart
We give a semantics for lightweight UML class diagrams and ultralightweight statecharts in terms of labeled step transition systems that embody a minimal change, maximal step semantics, and in which changes generated in a step have effect in the following step. In order to define the semantics, we introduce dynamic step logic. 1 Introduction 1.1 Purpose In this paper we define a mixed formal specification language whose diagram syntax is a very simple subset of the UML syntax [27] and whose textual syntax is a version of ordersorted dynamic logic. We refer to this language as ultralightweight UML (ultraLUML). The visual part of ultraLUML consists of ultraleightweight class diagrams (ultraLCDs), which declare the decomposition of the system into objects, and of extended Mealy state diagrams (EMDs), which define object behavior. The textual part of utraLUML is a version of dynamic logic and can be used to write a specification that is equivalent to a diagrammatic specificati...
A Small OpenMath Type System
 ACM SIGSAM Bulletin
, 1999
"... This paper describes the "lightweight" Small Type System of OpenMath. It is based on various discussion with the OpenMath Consortium, and notably with the NAG team. ..."
Abstract

Cited by 20 (5 self)
 Add to MetaCart
This paper describes the "lightweight" Small Type System of OpenMath. It is based on various discussion with the OpenMath Consortium, and notably with the NAG team.
Social and Semiotic Analyses for Theorem Prover User Interface Design
 Formal Aspects of Computing
, 1999
"... We describe an approach to user interface design based on ideas from social science, narratology (the theory of stories), cognitive science, and a new area called algebraic semiotics. Social analysis helps to identify certain roles for users with their associated requirements, and suggests ways to m ..."
Abstract

Cited by 19 (11 self)
 Add to MetaCart
We describe an approach to user interface design based on ideas from social science, narratology (the theory of stories), cognitive science, and a new area called algebraic semiotics. Social analysis helps to identify certain roles for users with their associated requirements, and suggests ways to make proofs more understandable, while algebraic semiotics, which combines semiotics with algebraic specification, provides rigorous theories for interface functionality and for a certain technical notion of quality. We apply these techniques to designing user interfaces for a distributed cooperative theorem proving system, whose main component is a website generation and proof assistance tool called Kumo. This interface integrates formal proving, proof browsing, animation, informal explanation, and online background tutorials, drawing on a richer than usual notion of proof. Experience with using the interface is reported, and some conclusions are drawn.
From Total Equational to Partial First Order Logic
, 1998
"... The focus of this chapter is the incremental presentation of partial firstorder logic, seen as a powerful framework where the specification of most data types can be directly represented in the most natural way. Both model theory and logical deduction are described in full detail. Alternatives to pa ..."
Abstract

Cited by 19 (8 self)
 Add to MetaCart
The focus of this chapter is the incremental presentation of partial firstorder logic, seen as a powerful framework where the specification of most data types can be directly represented in the most natural way. Both model theory and logical deduction are described in full detail. Alternatives to partiality, like (variants of) error algebras and ordersortedness are also discussed, showing their uses and limitations. Moreover, both the total and the partial (positive) conditional fragment are investigated in detail, and in particular the existence of initial (free) models for such restricted logical paradigms is proved. Some more powerful algebraic frameworks are sketched at the end. Equational specifications introduced in last chapter, are a powerful tool to represent the most common data types used in programming languages and their semantics. Indeed, Bergstra and Tucker have shown in a series of papers (see [BT87] for a complete exposition of results) that a data type is semicompu...