Fundamentals of algebraic specification 2: module specifications and constraints
Fundamentals of algebraic specification 2: module specifications and constraints
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
Detecting equivalence of modular specifications with categorical diagrams
Theoretical Computer Science
Fundamentals of Algebraic Specification I
Fundamentals of Algebraic Specification I
On local modularity and interpolation in entailment systems
Information Processing Letters
Logical Specification and Implementation
Proceedings of the Fourth Conference on Foundations of Software Technology and Theoretical Computer Science
The Semantics of CLEAR, A Specification Language
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
Specware: Formal Support for Composing Software
MPC '95 Mathematics of Program Construction
Proceedings of the Carnegie Mellon Workshop on Logic of Programs
Structured theories and institutions
Theoretical Computer Science
Hi-index | 0.00 |
This paper shows how systems can be built from their component parts with specified sharing. Its principle contribution is a modular language for configuring systems. A configuration is a description in the new language of how a system is constructed hierarchically from specifications of its component parts. Category theory has been used to represent the composition of specifications that share a component part by constructing colimits of diagrams. We reformulated this application of category theory to view both configured specifications and their diagrams as algebraic presentations of presheaves. The framework of presheaves leads naturally to a configuration language that expresses structuring from instances of specifications, and also incorporates a new notion of instance reduction to extract the component instances from a particular configuration. The configuration language now expresses the hierarchical structuring of multi-level configured specifications. The syntax is simple because it is independent of any specification language; structuring a diagram to represent a configuration is simple because there is no need to calculate a colimit; and combining specifications is simple because structuring is by configuration morphisms with no need to flatten either specifications or their diagrams to calculate colimits.