A Language for Configuring Multi-level Specifications

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 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.

[1]  Gillian Ann Hill A language for configuring systems , 2001 .

[2]  James E. Rumbaugh,et al.  Object-oriented analysis and design (OOAD) , 2003 .

[3]  Steven J. Vickers Geometric logic as a Specification Language , 1994, Theory and Formal Methods.

[4]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2: Module Specifications and Constraints , 1990 .

[5]  Catherine Oriat,et al.  Detecting equivalence of modular specifications with categorical diagrams , 2000, Theor. Comput. Sci..

[6]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[7]  Donald Sannella,et al.  Toward formal development of programs from algebraic specifications: Implementations revisited , 1987, TAPSOFT, Vol.1.

[8]  T. S. E. Maibaum,et al.  Logical Specification and Implementation , 1984, FSTTCS.

[9]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[10]  Donald Sannella,et al.  Architectural Specifications in CASL , 1998, AMAST.

[11]  Steven J. Vickers,et al.  Presheaves as Configured Specifications , 2001, Formal Aspects of Computing.

[12]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[13]  Francisco Durán,et al.  Structured Theories and Institutions , 2003, CTCS.

[14]  Joseph A. Goguen,et al.  The Semantics of CLEAR, A Specification Language , 1979, Abstract Software Specifications.

[15]  Hartmut Ehrig,et al.  Algebraic Theory of Modular Specification Development , 1988, ADT.

[16]  José Luiz Fiadeiro,et al.  On local modularity and interpolation in entailment systems , 2002, Inf. Process. Lett..

[17]  Chen C. Chang,et al.  Model Theory: Third Edition (Dover Books On Mathematics) By C.C. Chang;H. Jerome Keisler;Mathematics , 1966 .