Results 1 - 10
of
10
Logical Support for Modularisation
- LOGICAL ENVIRONMENTS
, 1993
"... Modularisation is important for managing the complex structures that arise in large theorem proving problems, and in large software and/or hardware development projects. This paper studies some properties of logical systems that support the definition, combination, parameterisation and reuse of ..."
Abstract
-
Cited by 79 (26 self)
- Add to MetaCart
Modularisation is important for managing the complex structures that arise in large theorem proving problems, and in large software and/or hardware development projects. This paper studies some properties of logical systems that support the definition, combination, parameterisation and reuse of modules. Our results show some new connections among: (1) the preservation of various kinds of conservative extension under pushouts; (2) various distributive laws for information hiding over sums; and (3) (Craig style) interpolation properties. In addition, we study differences between syntactic and semantic formulations of conservative extension properties, and of distributive laws. A model theoretic property that we call exactness plays an important role in some results. This paper explores the interplay between syntax and semantics, and thus lies in the tradition of abstract model theory. We represent logical systems as institutions. An important technical foundation is a new ...
Constructing Specification Morphisms
- Journal of Symbolic Computation
, 1993
"... This paper is part of a broader research program to explore a mechanizable model of software development based on algebraic specifications and specification morphisms. An algebraic specification (or simply a specification) defines a language and constrains its possible meanings via axioms and infere ..."
Abstract
-
Cited by 36 (4 self)
- Add to MetaCart
This paper is part of a broader research program to explore a mechanizable model of software development based on algebraic specifications and specification morphisms. An algebraic specification (or simply a specification) defines a language and constrains its possible meanings via axioms and inference rules. Specifications can be used to express many kinds of software-related artifacts, including domain models (Srinivas(1991)), formal requirements (Astesiano and Wirsing (1987), Ehrig and Mahr (1990), Partsch (1990), Sannella and Tarlecki (1985)), programming languages (Broy et al. (1987), Goguen and Winkler (1988), Hoare (1989)), abstract data types (Goguen et al. (1978), Guttag and Horning (1978)), and abstract algorithms (Smith and Lowry (1990)). There has been much work on operations for constructing larger specifications from smaller specifications (Astesiano and Wirsing (1987), Burstall and Goguen (1977), Sannella and Tarlecki (1988)). A specification morphism translates the language of one specification into the language of another specification in a way that preserves theorems. Specification morphisms underlie several aspects of software development, including specification refine-
Toward a Classification Approach to Design
- Proc. of AMAST'96
, 1996
"... This paper addresses the problem of how to construct refinements of specifications formally and incrementally. The key idea is to use a taxonomy of abstract design concepts, each represented by a design theory. An abstract design concept is applied by constructing a specification morphism from its d ..."
Abstract
-
Cited by 30 (4 self)
- Add to MetaCart
This paper addresses the problem of how to construct refinements of specifications formally and incrementally. The key idea is to use a taxonomy of abstract design concepts, each represented by a design theory. An abstract design concept is applied by constructing a specification morphism from its design theory to a requirement specification. Procedures for propagating constraints, computing colimits, and constructing specification morphisms provide computational support for this approach. Although we conjecture that classification generally applies to the incremental application of knowledge represented in a taxonomy of design theories, this paper mainly focuses on algorithm design theories and presents several examples of design by classification.
A Kernel Specification Formalism with Higher-Order Parameterisation
- PROC. 7TH INTL. WORKSHOP ON SPECIFICATION OF ABSTRACT DATA TYPES, WUSTERHAUSEN. SPRINGER LNCS 534
, 1991
"... A specification formalism with parameterisation of an arbitrary order is presented. It is given a denotational-style semantics, accompanied by an inference system for proving that an object satisfies a specification. The inference system incorporates, but is not limited to, a clearly identified t ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
A specification formalism with parameterisation of an arbitrary order is presented. It is given a denotational-style semantics, accompanied by an inference system for proving that an object satisfies a specification. The inference system incorporates, but is not limited to, a clearly identified type-checking component. Special effort is made to carefully distinguish between parameterised specifications, which denote functions yielding classes of objects, and specifications of parameterised objects, which denote classes of functions yielding objects. To deal with both of these in a uniform framework, it was convenient to view specifications, which specify objects, as objects themselves, and to introduce a notion of a specification of specifications. The formalism includes the basic specification-building operations of the ASL specification language. This choice, however, is orthogonal to the new ideas presented. The formalism is also institution-independent, although this iss...
Structuring and Modularity
- on Algebraic Foundations of Systems Specification, chapter 6
, 1996
"... this paper, we will describe the main techniques for the semantic definition of some of the most used structuring and modular constructs. Our main aim will be to study the generic, "institutionindependent ", version of each construct. However, in order to provide intuition, in most cases, we will fi ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
this paper, we will describe the main techniques for the semantic definition of some of the most used structuring and modular constructs. Our main aim will be to study the generic, "institutionindependent ", version of each construct. However, in order to provide intuition, in most cases, we will first study these constructions in connection to equational logic.
The Institution of Multialgebras - a general framework for algebraic software development
, 2002
"... this technicality ..."
Compositionality and Compatibility of Parameterization and Parameter Passing in Specification Languages
- Mathematical Structures in Computer Science
, 1995
"... In this paper we continue previous work from Sannella, Sokolowski and Tarlecki on parameterization in specification languages. Within the loose approach, we define specification and model level semantics for two kinds of parameterizations (parameterized specifications and specifications of parame ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
In this paper we continue previous work from Sannella, Sokolowski and Tarlecki on parameterization in specification languages. Within the loose approach, we define specification and model level semantics for two kinds of parameterizations (parameterized specifications and specifications of parameterized data types) and describe, in a compositional manner, parameter passing at the two levels. Moreover, the specification and the model level semantics of parameter passing are shown to be compatible. We also show that the results obtained do not only apply to the loose approach but can also be directly applicable to the initial framework, and in general to any other kind of monomorphic framework (i.e. a framework where all specifications are monomorphic). In particular, the results obtained generalize and extend previous results for the initial approach. Finally, for obtaining all our results, new categorical constructions of multiple pushouts, amalgamations and extensions, gen...
Specification of Parameterized Programs - Persistency Revisited
- Nordic Journal of Computing
, 2000
"... this paper. Study of PSPs has long tended in the direction of PDTs [1, 2, 3, 5]. One of the problems is that, while the former continued the tradition of working with classes axiomatized by (possibly conditional) equations, the latter require a precise grasp on individual algebras (which, for model ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
this paper. Study of PSPs has long tended in the direction of PDTs [1, 2, 3, 5]. One of the problems is that, while the former continued the tradition of working with classes axiomatized by (possibly conditional) equations, the latter require a precise grasp on individual algebras (which, for modeling purposes, can be identified with programs): a program P taking as a parameter another program X cannot change X -- X functions in the context of P , that is in P [X ], in the same way as it would in isolation. This intuition of "preserving actual parameter" has been identified as one of the semantic requirements on PSP in form of the persistency requirement on the functors from # Email: yngvel@ii.uib.no + Email: michal@ii.uib.no (1), e.g., [3, 15, 2]. However, in the purely equational context, there was hardly any syntactic counterpart of this semantic requirement. Thus, no syntactic/logical means were available for reasoning about correctness of such implementations
Algebraic System Specification and Development: Survey and Annotated Bibliography - Second Edition -
, 1997
"... Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5.4 Special Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.6 Semantics of Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.1 Semantics of Ada . . . ..."
Abstract
- Add to MetaCart
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5.4 Special Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.6 Semantics of Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.1 Semantics of Ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.2 Action Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.7 Specification Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7.1 Early Algebraic Specification Languages . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7.2 Recent Algebraic Specification Languages . . . . . . . . . . . . . . . . . . . . . . . 55 4.7.3 The Common Framework Initiative. . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5 Methodology 57 5.1 Development Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.1.1 Applica...

