Advertisement

Casl — the Common Algebraic Specification Language

  • Till Mossakowski
  • Anne E. Haxthausen
  • Donald Sannella
  • Andrezj Tarlecki
Part of the Monographs in Theoretical Computer Science book series (EATCS)

Abstract

Casl is an expressive specification language that has been designed to supersede many existing algebraic specification languages and provide a standard. Casl consists of several layers, including basic (unstructured) specifications, structured specifications and architectural specifications; the latter are used to prescribe the modular structure of implementations.

We describe a simplified version of the Casl syntax, semantics and proof calculus for each of these three layers and state the corresponding soundness and completeness theorems. The layers are orthogonal in the sense that the semantics of a given layer uses that of the previous layer as a “black box”, and similarly for the proof calculi. In particular, this means that Casl can easily be adapted to other logical systems.

We conclude with a detailed example specification of a warehouse, which serves to illustrate the application of both Casl and the proof calculi for the various layers.

Key words

Algebraic specification formal software development logic calculus institution 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Casl case studies. Available at http://www.pst.informatik.uni-muenchen.de/~baumeist/CoFI/case.html.Google Scholar
  2. 2.
    S. Alagic. Institutions: Integrating objects, XML and databases. Information and Software Technology, 44:207–216, 2002.CrossRefGoogle Scholar
  3. 3.
    D. Ancona, M. Cerioli and E. Zucca. Extending Casl by late binding. In C. Choppy, D. Bert and P. Mosses, editors, Recent Trends in Algebraic Development Techniques, 14th International Workshop, WADT’99, volume 1827 of Lecture Notes in Computer Science. Springer, pages 53–72, 2000.Google Scholar
  4. 4.
    E. Astesiano, M. Bidoit, H. Kirchner, B. Krieg-Brückner, P.D. Mosses, D. Sannella and A. Tarlecki. Casl: The common algebraic specification language. Theoretical Computer Science, 286:153–196, 2002.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    E. Astesiano, H.-J. Kreowski and B. Krieg-Brückner. Algebraic Foundations of Systems Specification. Springer, 1999.Google Scholar
  6. 6.
    J. Barwise and J. Etchemendy. Language, Proof and Logic. CSLI Publications, 2002.Google Scholar
  7. 7.
    H. Baumeister and D. Bert. Algebraic specification in Casl. In M. Frappier and H. Habrias, editors, Software Specification Methods: An Overview Using a Case Study, chapter 12, pages 209–224. Springer, 2001.Google Scholar
  8. 8.
    H. Baumeister and D. Bert. Algebraic specification in Casl. In M. Frappier and H. Habrias, editors, Software Specification Methods: An Overview Using a Case Study, chapter 15. ISTE, 2006.Google Scholar
  9. 9.
    H. Baumeister, M. Cerioli, A. Haxthausen, T. Mossakowski, P. Mosses, D. Sannella and A. Tarlecki. Casl semantics. In [50], Part III.Google Scholar
  10. 10.
    H. Baumeister and A. Zamulin. State-based extension of Casl. In W. Grieskamp, T. Santen and B. Stoddart, editors, Proceedings IFM 2000, volume 1945 of Lecture Notes in Computer Science, pages 3–24, Springer, 2000.Google Scholar
  11. 11.
    M. Bidoit and R. Hennicker. On the integration of observability and reachability concepts. In M. Nielsen and U. Engberg, editors, Foundations of Software Science and Computation Structures, 5th International Conference, FOSSACS 2002, volume 2303 of Lecture Notes in Computer Science, pages 21–36. Springer, 2002.Google Scholar
  12. 12.
    M. Bidoit, D. Sannella and A. Tarlecki. Observational interpretation of Casl specifications. Submitted for publication, 2006.Google Scholar
  13. 13.
    T. Borzyszkowski. Generalized interpolation in Casl. Information Processing Letters, 76(1–2):19–24, 2000.zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    T. Borzyszkowski. Higher-order logic and theorem proving for structured specifications. In C. Choppy, D. Bert, and P. Mosses, editors, Workshop on Algebraic Development Techniques 1999, volume 1827 of Lecture Notes in Computer Science, pages 401–418, 2000.Google Scholar
  15. 15.
    T. Borzyszkowski. Logical systems for structured specifications. Theoretical Computer Science, 286:197–245, 2002.zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    M. Cerioli, A. Haxthausen, B. Krieg-Brückner and T. Mossakowski. Permissive subsorted partial logic in Casl. In M. Johnson, editor, Algebraic Methodology and Software Technology: 6th International Conference, AMAST 97, volume 1349 of Lecture Notes in Computer Science, pages 91–107. Springer, 1997.Google Scholar
  17. 17.
    C. Cirstea. Institutionalising many-sorted coalgebraic modal logic. In CMCS 2002, Electronic Notes in Theoretical Computer Science. Elsevier Science, 2002.Google Scholar
  18. 18.
    CoFI. The Common Framework Initiative for algebraic specification and development, electronic archives. Notes and Documents accessible from: http://www.cofi.info/.Google Scholar
  19. 19.
    R. Diaconescu. Grothendieck institutions. Applied categorical structures, 10:383–402, 2002.zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    T. Dimitrakos and T. Maibaum. On a generalised modularisation theorem. Information Processing Letters, 74(1–2):65–71, 2000.zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    J.L. Fiadeiro and J.F. Costa. Mirror, mirror in my hand: A duality between specifications and models of process behaviour. Mathematical Structures in Computer Science, 6(4):353–373, 1996.zbMATHMathSciNetCrossRefGoogle Scholar
  22. 22.
    J.A. Goguen and R.M. Burstall. Institutions: Abstract model theory for specification and programming. Journal of the Association for Computing Machinery, 39:95–146, 1992.zbMATHMathSciNetGoogle Scholar
  23. 23.
    J.A. Goguen and R. Diaconescu. Towards an algebraic semantics for the object paradigm, In E. Astesiano, G. Reggio and A. Tarlecki, editors, Recent Trends in Data Type Specification: Workshop on Specification of Abstract Data Types: Selected Papers, volume 785 of Lecture Notres in Computer Science, pages 1–29, Springer, 1994.Google Scholar
  24. 24.
    A. Haxthausen and F. Nickl. Pushouts of order-sorted algebraic specifications. In M. Wirsing and M. Nivat, editors, Proceedings of AMAST’96, volume 1101 of Lecture Notes in Computer Science, pages 132–147. Springer, 1996.Google Scholar
  25. 25.
    H. Herrlich and G. Strecker. Category Theory. Allyn and Bacon, Boston, 1973.zbMATHGoogle Scholar
  26. 26.
    H. Hussmann, M. Cerioli and H. Baumeister. From UML to Casl (static part). Technical report, 2000. Università di Genova, DISI-TR-00-06, Italy.Google Scholar
  27. 27.
    D. Hutter, B. Langenstein, C. Sengler, J.H. Siekmann, W. Stephan and W. Wolpers. Verification support environment (VSE). High Integrity Systems, 1(6):523–530, 1996.Google Scholar
  28. 28.
    C._B. Jones. Systematic Software Development Using VDM. Prentice Hall, 1990.Google Scholar
  29. 29.
    B. Klin, P. Hoffman, A. Tarlecki, L. Schröder, and T. Mossakowski. Checking amalgamability conditions for Casl architectural specifications. In Mathematical Foundations of Computer Science, volume 2136 of Lecture Notes in Computer Science, pages 451–463. Springer, 2001.CrossRefGoogle Scholar
  30. 30.
    CoFI Language Design Group, B. Krieg-Brückner and P.D. Mosses (eds.). Casl summary. In [50], Part I.Google Scholar
  31. 31.
    A. Lopes and J.L. Fiadeiro. Preservation and reflection in specification. In Algebraic Methodology and Software Technology, pages 380–394, 1997.Google Scholar
  32. 32.
    K. Meinke and J. V. Tucker, editors. Many-sorted Logic and Its Applications. Wiley, 1993.Google Scholar
  33. 33.
    J. Meseguer. General logics. In H.-D. Ebbinghaus, editor, Logic Colloquium 87, pages 275–329. North Holland, 1989.Google Scholar
  34. 34.
    T. Mossakowski. Colimits of order-sorted specifications. In F. Parisi Presicce, editor, Recent Trends in Algebraic Development Yechniques. Proc. 12th International Workshop, volume 1376 of Lecture Notes in Computer Science, pages 316–332. Springer, 1998.Google Scholar
  35. 35.
    T. Mossakowski. Specification in an arbitrary institution with symbols. In C. Choppy, D. Bert, and P. Mosses, editors, Recent Trends in Algebraic Development Techniques, Proc. 14th International Workshop, WADT’99, volume 1827 of Lecture Notes in Computer Science, pages 252–270. Springer, 2000.Google Scholar
  36. 36.
    T. Mossakowski. Comorphism-based Grothendieck logics. In K. Diks and W. Rytter, editors, Mathematical Foundations of Computer Science, volume 2420 of Lecture Notes in Computer Science, pages 593–604. Springer, 2002.Google Scholar
  37. 37.
    T. Mossakowski. Relating Casl with other Specification Languages: The Institution Level. Theoretical Computer Science, 286:367–475, 2002.zbMATHCrossRefMathSciNetGoogle Scholar
  38. 38.
    T. Mossakowski. HetCasl-heterogeneous specification. Language summary, 2004. Unpublished report: www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/HetCASL/HetCASL-Summary.psGoogle Scholar
  39. 39.
    T. Mossakowski. Casl sublanguages and extensions. In P. D. Mosses, editor, Casl Reference Manual, volume 2960 of Lecture Notes in Computer Science, chapter I:7, pages 61–69. Springer, 2004.Google Scholar
  40. 40.
    T. Mossakowski. Heterogeneous specification and the heterogeneous tool set. Habilitation thesis, University of Bremen, 2005.Google Scholar
  41. 41.
    T. Mossakowski, S. Autexier and D. Hutter. Extending development graphs with hiding. In H. Hußmann, editor, Fundamental Approaches to Software Engineering, volume 2029 of Lecture Notes in Computer Science, pages 269–283. Springer, 2001.Google Scholar
  42. 42.
    T. Mossakowski, S. Autexier and D. Hutter. Development graphs — proof management for structured specifications. Journal of Logic and Algebraic Programming, 67(1–2):114–145, 2006.zbMATHCrossRefMathSciNetGoogle Scholar
  43. 43.
    T. Mossakowski, A. Haxthausen and B. Krieg-Brückner. Subsorted partial higher-order logic as an extension of Casl. In C. Choppy, D. Bert and P. Mosses, editors, Recent Trends in Algebraic Development Techniques, 14th International Workshop, WADT’99, volume 1827 of Lecture Notes in Computer Science, pages 126–145. Springer-Verlag, 2000.Google Scholar
  44. 44.
    T. Mossakowski, P. Hoffman, S. Autexier and D. Hutter. Casl proof calculus. In [50], Part IV.Google Scholar
  45. 45.
    T. Mossakowski, C. Maeder, K. Lüttich and S. Wölfl. The heterogeneous tool set. Submitted for publication. Hets is available from http://www.tzi.de/cofi/hets.Google Scholar
  46. 46.
    T. Mossakowski, D. Sannella and A. Tarlecki. A simple refinement language for Casl. In J. L. Fiadeiro, editor, WADT 2004, volume 3423 of Lecture Notes in Computer Science, pages 162–185. Springer, 2005.Google Scholar
  47. 47.
    T. Mossakowski, L. Schröder, M. Roggenbach and H. Reichel. Algebraic-coalgebraic specification in CoCasl. Journal of Logic and Algebraic Programming, 67(1–2):146–197, 2006.zbMATHCrossRefMathSciNetGoogle Scholar
  48. 48.
    P.D. Mosses. CoFI: The Common Framework Initiative for Algebraic Specification and Development. In TAPSOFT’ 97, Proceedings of an International Symposium on Theory and Practice of Software Development, volume 1214 of Lecture Notes in Computer Science, pages 115–137. Springer, 1997.CrossRefGoogle Scholar
  49. 49.
    P.D. Mosses and M. Bidoit. CaslThe Common Algebraic Specification Language: User Manual, volume 2900 of Lecture Notes in Computer Science, Springer, 2004.Google Scholar
  50. 50.
    P.D. Mosses (ed.). CaslThe Common Algebraic Specification Language: Reference Manual, volume 2960 of Lecture Notes in Computer Science, Springer, 2004.Google Scholar
  51. 51.
    M. Nielsen and U. Pletat. Polymorphism in an institutional framework, Technical Report, Technical University of Denmark, 1986.Google Scholar
  52. 52.
    B. Nordström, K. Petersson and J. Smith. Programming in Martin-Löf’ s Type Theory: An Introduction. Oxford University Press, 1990.Google Scholar
  53. 53.
    L. Paulson. ML for the Working Programmer. Cambridge University Press, 1996, 2nd edition.Google Scholar
  54. 54.
    A. Popescu and G. Rosu. Behavioral extensions of institutions. In J.L. Fiadeiro, N. Harman, M. Roggenbach and J.M. Rutten, editors, Proceeeding of Algebra and Coalgebra in Computer Science: First International Conference, CALCO 2005, volume 3629 of Lecture Notes in Computer Science, pages 331–347, Springer, 2005.Google Scholar
  55. 55.
    G. Reggio, E. Astesiano and C. Choppy. Casl-LTL — a Casl extension for dynamic reactive systems — summary. Technical Report, DISI, Università di Genova, DISI-TR-99-34, Italy, 2000.Google Scholar
  56. 56.
    G. Reggio and L. Repetto. Casl-CHART: a combination of statecharts and of the algebraic specification language Casl. In Proceedings of AMAST 2000, volume 1816 of Lecture Notes in Computer Science, pages 243–257, Springer, 2000.Google Scholar
  57. 57.
    M. Roggenbach. CSP-Casl — a new integration of process algebra and algebraic specification. In F. Spoto, G. Scollo and A. Nijholt, editors, Third AMAST Workshop on Algebraic Methods in Language Processing (AMiLP-3), TWLT vol. 21, pages 229–243, University of Twente, 2003.Google Scholar
  58. 58.
    M. Roggenbach, T. Mossakowski and L. Schröder. Libraries. In [50], Part VI.Google Scholar
  59. 59.
    D. Sannella and A. Tarlecki. On observational equivalence and algebraic specification. Journal of Computer and System Sciences, 34:150–178, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  60. 60.
    D. Sannella and A. Tarlecki. Specifications in an arbitrary institution. Information and Computation, 76:165–210, 1988.CrossRefMathSciNetzbMATHGoogle Scholar
  61. 61.
    D. Sannella and A. Tarlecki. Toward formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica, 25:233–281, 1988.zbMATHCrossRefMathSciNetGoogle Scholar
  62. 62.
    L. Schröder and T. Mossakowski. HasCasl: Towards integrated specification and development of Haskell programs. In H. Kirchner and C. Reingeissen, editors, Algebraic Methodology and Software Technology, 2002, volume 2422 of Lecture Notes in Computer Science, pages 99–116. Springer, 2002.Google Scholar
  63. 63.
    L. Schröder, T. Mossakowski, P. Hoffman, B. Klin, and A. Tarlecki. Amalgamation in the semantics of Casl. Theoretical Computer Science, 331(1):215–247, 2005.zbMATHCrossRefMathSciNetGoogle Scholar
  64. 64.
    A. Sernadas, J.F. Costa, and C. Sernadas. An institution of object behaviour. In H. Ehrig and F. Orejas, editors, Recent Trends in Data Type Specification, volume 785 of Lecture Notes in Computer Science, pages 337–350. Springer, 1994.Google Scholar
  65. 65.
    A. Sernadas and C. Sernadas. Denotational semantics of object specification within an arbitrary temporal logic institution. Research report, Section of Computer Science, Department of Mathematics, Instituto Superior Técnico, 1049-001 Lisboa, Portugal, 1993. Presented at IS-CORE Workshop 93.Google Scholar
  66. 66.
    A. Sernadas, C. Sernadas, C. Caleiro, and T. Mossakowski. Categorical fibring of logics with terms and binding operators. In D. Gabbay and M. de Rijke, editors, Frontiers of Combining Systems 2, Studies in Logic and Computation, pages 295–316. Research Studies Press, 2000.Google Scholar
  67. 67.
    A. Tarlecki. Abstract Specification Theory: An Overview. In M. Broy and M. Pizka, editors, Models, Algebras, and Logics of Engineering Software, volume 191 of NATO Science Series: Computer and System Sciences, pages 43–79. IOS Press, 2003.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Till Mossakowski
    • 1
  • Anne E. Haxthausen
    • 2
  • Donald Sannella
    • 3
  • Andrezj Tarlecki
    • 4
  1. 1.DFKI Lab Bremen and University of BremenBremenGermany
  2. 2.Department of Informatics and Mathematical ModellingTechnical University of DenmarkKgs. LyngbyDenmark
  3. 3.LFCS, School of InformaticsUniversity of EdinburghEdinburghUK
  4. 4.Institute of InformaticsWarsaw University and Institute of Computer Science, Polish Academy of ScienceWarsawPoland

Personalised recommendations