Abstract
Specware supports the systematic construction of formal specifications and their stepwise refinement into programs. The fundamental operations in Specware are that of composing specifications (via colimits), the corresponding refinement by composing refinements (via sheaves), and the generation of programs by composing code modules (via colimits). The concept of diagram refinement is introduced as a practical realization of composing refinements via sheaves. Sequential and parallel composition of refinements satisfy a distributive law which is a generalization of similar compatibility laws in the literature. Specware is based on a rich categorical framework with a small set of orthogonal concepts. We believe that this formal basis will enable the scaling to system-level software construction.
Specware is a trademark of Kestrel Development Corporation, Palo Alto, USA.
Preview
Unable to display preview. Download preview PDF.
References
Artin, M., Grothendieck, A., And Verdier, J. L. Théorie des Topos et Cohomologie Etale des Schémas, Lecture Notes in Mathematics, Vol. 269. Springer-Verlag, 1972. SGA4, Séminaire de Géométrie Algébrique du Bois-Marie, 1963–1964.
Bauer, F. L., Et Al. The Munich Project CIP, Volume I: The Wide Spectrum Language CIP-L, Lecture Notes in Computer Science, Vol. 183. Springer-Verlag, Berlin, 1985.
Bauer, F. L., Ehler, H., Horsch, A., Möller, B., Partsch, H., Paukner, O., and Pepper, P. The Munich Project CIP, Volume II: The Program Transformation System CIP-S, Lecture Notes in Computer Science, Vol. 292. Springer-Verlag, Berlin, 1987.
Bird, R. S. Introduction to the theory of lists. Tech. Rep. PRG-56, Oxford University Computing Laboratory, Programming Research Group, October 1986. Appeared in Logic of Programming and Calculi of Discrete Design, M. Broy, Ed., Springer-Verlag, NATO ASI Series F: Computer and Systems Sciences, Vol. 36, 1987.
Bird, R. A calculus of functions for program derivation. Tech. Rep. PRG-64, Oxford University, Programming Research Group, December 1987.
Blaine, L., And Goldberg, A. DTRE — a semi-automatic transformation system. In Constructing Programs from Specifications, B. Möller, Ed. North-Holland, Amsterdam, 1991, pp. 165–204.
Burstall, R. M., And Goguen, J. A. Putting theories together to make specifications. In Proceedings of the Fifth International Joint Conference on Artificial Intelligence (Cambridge, MA, August 22–25, 1977), IJCAI, pp. 1045–1058.
Gilham, L.-M., Goldberg, A., And Wang, T. C. Toward reliable reactive systems. In Proceedings of the 5th International Workshop on Software Specification and Design (Pittsburgh, PA, May 1989).
Goguen, J. A., And Burstall, R. M. CAT, A system for the correct elaboration of correct programs from structured specifications. Tech. Rep. CSL-118, SRI International, Oct. 1980.
Goguen, J. A., And Winkler, T. Introducing OBJ3. Tech. Rep. SRI-CSL-88-09, SRI International, Menlo Park, California, 1988.
Green, C. Synthesis of graphical displays for tabular data. Tech. Rep. SBIR.FR.86.1, Kestrel Institute, October 1987. Final Report for Phase I; Note: accompanying videotape.
Hoare, C. A. R. Proof of correctness of data representation. Acta Informatica 1 (1972), 271–281.
Jones, C. B. Systematic Software Development Using VDM. Prentice-Hall, Englewood Cliffs, NJ, 1986.
Jüllig, R. Applying formal software synthesis. IEEE Software 10, 3 (May 1993), 11–22. (also Technical Report KES.U.93.1, Kestrel Institute, May 1993).
Knuth, D. E. The Art of Computer Programming, Volume 1: Fundamental Algorithms. Addison-Wesley, Reading, Massachusetts, 1968.
Lambek, J., And Scott, P. J. Introduction to Higher Order Categorical Logic. Cambridge University Press, Cambridge, 1986.
Lehman, M. M., Stenning, V., And Turski, W. M. Another look at software design methodology. ACM SIGSOFT Software Engineering Notes 9, 2 (April 1984), 38–53.
Mac Lane, S. Categories for the Working Mathematician. Springer-Verlag, New York, 1971.
Mac Lane, S., And Moerdijk, I. Sheaves in Geometry and Logic. Springer-Verlag, New York, 1992.
Meseguer, J. General logics. In Logic Colloquium'87, H.-D. Ebbinghaus et al., Eds. North-Holland, 1989, pp. 275–329.
Sannella, D., And Tarlecki, A. Specifications in an arbitrary institution. Inf. and Comput. 76 (1988), 165–210.
Sannella, D., And Tarlecki, A. Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica 25, 3 (1988), 233–281.
Smith, D. R. KIDS — a semi-automatic program development system. IEEE Transactions on Software Engineering Special Issue on Formal Methods in Software Engineering 16, 9 (September 1990), 1024–1043.
Smith, D. R. Constructing specification morphisms. Journal of Symbolic Computation, Special Issue on Automatic Programming 15, 5–6 (May–June 1993), 571–606.
Smith, D. R., And Lowry, M. R. Algorithm theories and design tactics. Science of Computer Programming 14, 2–3 (October 1990), 305–321.
Srinivas, Y. V. A sheaf-theoretic approach to pattern matching and related problems. Theoretical Comput. Sci. 112 (1993), 53–97.
Turski, W. M., And Maibaum, T. E. The Specification of Computer Programs. Addison-Wesley, Wokingham, England, 1987.
Wirsing, M. Structured algebraic specifications: A kernel language. Theoretical Comput. Sci. 42 (1986), 123–249. A slight revision of his Habilitationsschrift, Technische Universität München, 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Srinivas, Y.V., Jüllig, R. (1995). Specware: Formal support for composing software. In: Möller, B. (eds) Mathematics of Program Construction. MPC 1995. Lecture Notes in Computer Science, vol 947. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60117-1_22
Download citation
DOI: https://doi.org/10.1007/3-540-60117-1_22
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60117-3
Online ISBN: 978-3-540-49445-4
eBook Packages: Springer Book Archive