Skip to main content

KORSO reference languages concepts and application domains

  • Languages
  • Chapter
  • First Online:
Book cover KORSO: Methods, Languages, and Tools for the Construction of Correct Software

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1009))

Abstract

This paper gives an overview of the three Korso reference languages Specturm, Troll light, and Special, exposing their motivation and background, language concepts, and typical application domains. The presentation of the different languages is followed by a discussion to what extent these languages may complement each other in the software development process.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R.J.R. Back, Refinement Calculus, Part II: Parallel and Reactive Programs, in: [BRR89] 67–93.

    Google Scholar 

  2. J.W. de Bakker, Ed., Languages for Parallel Architectures — Design, Semantics, Implementation Aspects (Wiley & Sons, 1989).

    Google Scholar 

  3. F.L. Bauer, R. Berghammer, M. Broy, W. Dosch, F. Geiselbrechtinger, R. Gnatz, E. Hangel, W. Hesse, and Krieg-Brückner. The Munich Project CIP, Vol 1: The Wide Spectrum Language CIP-L., volume 183 of L.N.C.S. Springer, 1985.

    Google Scholar 

  4. M. Bidoit and C. Choppy. ASSPEGIQUE: An Integrated Environment for Algebraic Specifications. Proc. 1st Int. Joint Conference on Theory and Practice of Software Development (TAPSOFT'85), pages 246–260. LNCS 186, Springer-Verlag, Berlin, 1985.

    Google Scholar 

  5. Ralph Betschko, Sabine Dick, Klaus Didrich, and Wolfgang Grieskamp. Formal Development of an Efficient Implementation of a Lexical Scanner within the KorSo Methodology Framework. Forschungsberichte des Fachbereichs Informatik 93-30, Technische Universität Berlin, Franklinstraße 28/29-D-10587 Berlin, October 1993.

    Google Scholar 

  6. M. Broy, C. Facchi, R. Grosu, R. Hettler, H. Hussmann, D. Nazareth, F. Regensburger, O. Slotosch, and K. Stølen. The Requirement and Design Specification Language SPECTRUM. An Informal Introduction. Version 1.0. Part i. Technical Report TUM-I9311, Technische Universität München. Institut für Informatik, Fakultät für Informatik, TUM, 80290 München, Germany, May 1993.

    Google Scholar 

  7. M. Broy, C. Facchi, R. Grosu, R. Hettler, H. Hussmann, D. Nazareth, F. Regensburger, O. Slotosch, and K. Stølen. The Requirement and Design Specification Language SPECTRUM. An Informal Introduction. Version 1.0. Part ii. Technical Report TUM-I9312, Technische Universität München. Institut für Informatik, Fakultät für Informatik, TUM, 80290 München, Germany, May 1993.

    Google Scholar 

  8. R. M. Burstall, J. A. Goguen The semantics of CLEAR, a specification language. In D. Bjørner, editor, Proc. Advanced Course on Abstract Software Specification. LNCS, Springer, 1980.

    Google Scholar 

  9. J. Bohn, H. Hungar, Traverdi — Transformation and Verfication of Distributed Systems. This volume.

    Google Scholar 

  10. D. Bjørner, H. Langmaack, C.A.R. Hoare, Eds., Provably Correct Systems (Tech. Report, DTH Lyngby, 1993).

    Google Scholar 

  11. M. Broy, Specification and top-down design of distributed systems, J. Comput. System Sci. 34 (1987) 236–265.

    Article  Google Scholar 

  12. M. Broy. Requirement and Design Specification for Distributed Systems. LNCS, 335:33–62, 1988.

    Google Scholar 

  13. M. Broy. Methodische Grundlagen der Programmierung. In M. Broy, editor, Informatik und Mathematik, pages 355–365. Springer-Verlag, 1991.

    Google Scholar 

  14. J.W. de Bakker, W.-P. de Roever, G. Rozenberg, Eds., Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness, LNCS 430 (Springer-Verlag, 1990).

    Google Scholar 

  15. J.C.M. Baeten and W.P. Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18, Cambridge University Press, 1990.

    Google Scholar 

  16. R.L. Constable et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs, New Jersey, 1986.

    Google Scholar 

  17. J. Camilleri. The HOL System Description, Version 1 for HOL 88.1.10. Technical Report, Cambridge Research Center, 1989.

    Google Scholar 

  18. E.M. Clarke, E.A. Emerson, A.P. Sistla, Automatic Verification of finite-state concurrent systems using temporal logic specifications, ACM TOPLAS 8 (1986) 244–263.

    Article  Google Scholar 

  19. I. Claßen, H. Ehrig, and D. Wolz. Algebraic Specification Techniques and Tools for Software Development — The ACT Approach. World Scientific Publishing, AMAST Series in Computing, 1993, to appear.

    Google Scholar 

  20. S. Conrad, M. Gogolla, and R. Herzig. Troll light: A Core Language for Specifying Objects. Informatik-Bericht 92-02, Technische Universität Braunschweig, 1992.

    Google Scholar 

  21. P. Chen. The Entity-Relationship Model — Towards a Unified View of Data. ACM Trans. on Database Systems, 1(1):9–36, 1976.

    Article  Google Scholar 

  22. Felix Cornelius, Heinrich Hußmann, and Michael Löwe. The korso Case Study for Software Engineering with Formal Methods, 1994. This volume.

    Google Scholar 

  23. Ingo Claßen. Semantik der revidierten Version der algebraischen Spezifikationssprache ACT ONE. Technical Report 88/24, TU Berlin, 1988.

    Google Scholar 

  24. I. Claßen. ACT System — User Manual. Internal Report, TU Berlin, April 1992.

    Google Scholar 

  25. K.M. Chandy, J. Misra, Parallel Program Design: A Foundation, Addison-Wesley, 1988.

    Google Scholar 

  26. S. Conrad. Spezifikation eines vereinfachten Datenbanksystems. In Ehrich [Ehr93].

    Google Scholar 

  27. L. Cardelli and P. Wegner. On Understanding Types, Data Abstraction, and Polymorphism. ACM Computing Surveys, 17(4):471–523, December 1985.

    Article  Google Scholar 

  28. E. Downs, P. Clare, and I. Coe. Structured systems analysis and design method (2nd ed). Prentice-Hall, 1992.

    Google Scholar 

  29. K. Didrich, A. Fett, C. Gerke, W. Grieskamp. P. Pepper. Opal: Design and Implementation of an Algebraic Programming Language. accepted for Conference on Programming Languages and System Architecture

    Google Scholar 

  30. W. Damm, R. Schlör, Specification and verification of system-level hardware designs using timing diagrams, in: Proc. European Design Automation Conference, Paris, 1993.

    Google Scholar 

  31. H.-D. Ehrich, G. Denker, and A. Sernadas. Constructing Systems as Object Communities. In M.-C. Gaudel and J.-P. Jouannaud, editors, Proc. TAPSOFT'93: Theory and Practice of Software Development, pages 453–467. Springer LNCS 668, 1993.

    Google Scholar 

  32. G. Engels, M. Gogolla, U. Hohenstein, K. Hülsmann, P. Löhr-Richter, G. Saake, and H.-D. Ehrich. Conceptual Modelling of Database Applications Using an Extended ER Model. Data & Knowledge Engineering, 9(2):157–204, 1992.

    Google Scholar 

  33. H.-D. Ehrich, M. Gogolla, and U.W. Lipeck. Algebraische Spezifikation abstrakter Datentypen — Eine Einführung in die Theorie. Teubner, Stuttgart, 1989.

    Google Scholar 

  34. H.-D. Ehrich, editor. Beiträge zu Korso-und Troll light-Fallstudien. Informatik-Bericht 93-11, Technische Universität Braunschweig, 1993.

    Google Scholar 

  35. H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1. Springer, 1985.

    Google Scholar 

  36. E.A. Emerson. Temporal and Modal Logic. In J. Van Leeuwen, editor, Handbook of Theoretical Computer Science, Vol. B, pages 995–1072. North-Holland, Amsterdam, 1990.

    Google Scholar 

  37. H.-D. Ehrich and A. Sernadas. Fundamental Object Concepts and Constructions. In G. Saake and A. Sernadas, editors, Information Systems — Correctness and Reusability, Proc. ESPRIT BRA IS-CORE Workshop, London, pages 1–24. Informatik-Bericht 91-03, Technische Universität Braunschweig, 1991.

    Google Scholar 

  38. K. Futatsugi, J.A. Goguen, J.-P. Jouannaud, J. Meseguer. Principles of OBJ2. In Proc. POPL, 1985.

    Google Scholar 

  39. J. Fiadeiro, C. Sernadas, T. Maibaum, and A. Sernadas. Describing and Structuring Objects for Conceptual Schema Development. In Loucopoulos and Zicari [LZ92], pages 117–138.

    Google Scholar 

  40. M.-C. Gaudel. Towards Structured Algebraic Specifications. ESPRIT ‘85', Status Report of Continuing Work (North-Holland), pages 493–510, 1986.

    Google Scholar 

  41. M. Gogolla, S. Conrad, G. Denker, R. Herzig, N. Vlachantonis, and H.-D. Ehrich. Troll light The Language and Its Development Environment. This volume.

    Google Scholar 

  42. J. Goguen, D. Coleman, and R. Gallimore. Applications of Algebraic Specifications using OBJ. Cambridge, 1992.

    Google Scholar 

  43. M. Gogolla, S. Conrad, and R. Herzig. Sketching Concepts and Computational Model of Troll light. In A. Miola, editor, Proc. 3rd Int. Conf. Design and Implementation of Symbolic Computation Systems DISCO, pages 17–32. Springer LNCS 722, 1993.

    Google Scholar 

  44. R. Grosu, R. Hettler, D. Nazareth, F. Regensburger, and O. Slotosch. The specification language Spectrum — Language Report V1.0. Technical Report TUM-I9429, Technische Universität München. Institut für Informatik, 1994.

    Google Scholar 

  45. J.V. Guttag, J.J. Horning, and J.M. Wing. Larch in Five Easy Pieces. Technical report, Digital, Systems Research Center, Paolo Alto, California, 1985.

    Google Scholar 

  46. J.A. Goguen and J. Meseguer. Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics. Research Directions in Object-Oriented Programming, B. Shriver, P. Wegner, (eds.), pages 417–477. MIT Press, 1987.

    Google Scholar 

  47. M.J.C. Gordon and T.F. Melham. Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, 1993.

    Google Scholar 

  48. R. Grosu and D. Nazareth. Towards a New Way of Parameterization. In Proceedings of the Third Maghrebian Conference on Software Engineering and Artificial Intelligence, pages 383–392, 1994.

    Google Scholar 

  49. Radu Grosu and Franz Regensburger. The Logical Framework of Spectrum. Technical Report TUM-I9402, Institut für Informatik, Technische-Universität München, 1994.

    Google Scholar 

  50. OPAL Language Group. The Programming Language OPAL. Technical Report 91-10, Technische Universität Berlin, 1991.

    Google Scholar 

  51. R. Herzig, S. Conrad, and M. Gogolla. Compositional Description of Object Communities with Troll light. In C. Chrisment, editor, Proc. Basque Int. Workshop on Information Technology (BIWIT). Cepadues Society Press, France, 1994.

    Google Scholar 

  52. M. Hennessy. Algebraic Theory of Processes. MIT Press, 1988.

    Google Scholar 

  53. R. Herzig, Spezifikation der abstrakten Syntax von TROLL light mit TROLL light. In Ehrich [Ehr93], pages 43–49.

    Google Scholar 

  54. R. Hettler. A Requirement Specification for a Lexical Analyzer. Technical Report TUM-I9409, TU München, 1994.

    Google Scholar 

  55. P. Hudak, S. Peyton Jones, and P. Wadler, editors. Report on the Programming Language Haskell, A Non-strict Purely Functional Language (Version 1.2). ACM SIGPLAN Notices, May 1992.

    Google Scholar 

  56. R. Hull and R. King. Semantic Database Modelling: Survey, Applications, and Research Issues. ACM Computing Surveys, 19(3):201–260, 1987.

    Article  Google Scholar 

  57. R.W. Harper, D.B. MacQueen, and R.G. Milner. Standard ML. Report ECS-LFCS-86-2, Univ. Edinburgh, 1986.

    Google Scholar 

  58. R. Hettler, D. Nazareth, F. Regensburger, and O. Slotosch. AVL trees revisited: A case study in Spectrum, 1994. This volume.

    Google Scholar 

  59. H. Hungar, G, Rünger, Verification of a communication network. A case study in the use of temporal logic, Manuscript, Oldenburg/Saarbrücken, 1993.

    Google Scholar 

  60. H. Hungar, Combining model checking and theorem proving to verify parallel processes, in: C. Courcoubetis, Ed., Computer Aided Verification (CAV '93), LNCS 697 (Springer-Verlag, 1993) 154–165.

    Google Scholar 

  61. H. Hussmann. Rapid Propotyping for Algebraic Specifications — RAP-System User's Manual Tech. Report MIP-8504, Universität Passau 1985 (revised edition 1987.

    Google Scholar 

  62. H. Hussmann. Synergy between formal and pragmatic software engineering methods. Technical Report TUM-I9323, Institut für Informatik, Technische-Universität München, September 1993. (Submitted to ESOP 94).

    Google Scholar 

  63. H. Hußmann. Formal Foundation for SSADM. Habilitation thesis, TU München, 1994.

    Google Scholar 

  64. R. Herzig and N. Vlachantonis. Specification of a Production Cell with TROLL light, Case Study “Production Cell”: A Comparative Study in Formal Specification and Verification (C. Lewerentz and T. Lindner, eds.), Chapter 14. FZI Publication 1/94, Forschungszentrum Informatik, Karlsruhe (Germany), 1994.

    Google Scholar 

  65. INMOS Ltd., Occam 2 Reference Manual (Prentice Hall, 1988).

    Google Scholar 

  66. B. Josko, Modelchecking of Ctl formulae under liveness assumptions, in: Proc. ICALP 87, LNCS 267 (Springer-Verlag, 1987) 280–289.

    Google Scholar 

  67. B. Josko, Verifying the correctness of AADL modules using model checking, in: [BRR89] 386–400.

    Google Scholar 

  68. R. Jungclaus, G. Saake, T. Hartmann, and C. Sernadas. Object-Oriented Specification of Information Systems: The TROLL Language. Informatik-Bericht 91-04, Technische Universität Braunschweig, 1991.

    Google Scholar 

  69. B. Krieg-Brückner and B. Hoffmann, editors. PROgram development by SPECification and TRAnsformation: Vol. I: Methodology, Vol II: Language Family, Vol III: System. Prospectra Report M.1.1.S3-R-55.2,-56.2,h-57.2. (to appear in LNCS), 1991. Universität Bremen (1990).

    Google Scholar 

  70. S. Kleuker, Case study: stepwise development of a communication processor using trace logic, to appear in: D.J. Andrewa, J.F. Groote, C.A. Middelburg, Eds., Semantics of Specification Languages (SoSL), Workshops in Computing, Springer-Verlag, 1994.

    Google Scholar 

  71. T. Lehmann and J. Loeckx. The Specification Language of OBSCURE. Recent Trends in Data Type Specification, Selected Papers of the 5th Workshop on Specification of Abstract Data Types, pages 131–153. LNCS 332, Springer-Verlag, Berlin 1987.

    Google Scholar 

  72. C. Lewerentz and T. Lindner. Case Study’ Production Cell': A Comparative Study in Formal Specification and Verification. This volume.

    Google Scholar 

  73. P. Loucopoulos. Conceptual Modeling. In Loucopoulos and Zicari [LZ92], pages 1–26.

    Google Scholar 

  74. Z. Luo, R. Pollack, and P. Taylor. How to Use LEGO. Departement of Computer Science, University of Edinburgh, 1989.

    Google Scholar 

  75. N.A. Lynch and M.R. Tuttle, An introduction to input/ouput automata, CWI-Quaterly 2(3), CWI, 1989.

    Google Scholar 

  76. P. Loucopoulos and R. Zicari, editors. Conceptual Modeling, Databases, and CASE: An Integrated View of Information Systems Development. John Wiley & Sons, 1992.

    Google Scholar 

  77. W. Menzel et al. Bestandsaufnahme und Klassifikation der Korso-Werkzeuge. Technischer Bericht, Universität Karlsruhe 1993.

    Google Scholar 

  78. R. Milner, Communication and Concurrency (Prentice-Hall, 1989).

    Google Scholar 

  79. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Vol. 1: Specification. Springer, 1992.

    Google Scholar 

  80. F. Nickl. Ablaufspezifikation durch Datenflußmodellierung und stromverarbeitende Funktionen. Technical Report TUM-I9334, Technische Universität München, 1993.

    Google Scholar 

  81. T. Nipkow. Term Rewriting and Beyond — Theorem Proving in Isabelle. FAC, 1:320–338, 1989.

    Article  Google Scholar 

  82. T. Nipkow. Order-Sorted Polymorphism in Isabelle. In G. Huet, G. Plotkin, and C. Jones, editors, Proc. 2nd Workshop on Logical Frameworks, pages 307–321, 1991.

    Google Scholar 

  83. T. Nipkow and C. Prehofer. Type Checking Type Classes. In Proc. 20th ACM Symp. Principles of Programming Languages, pages 409–418. ACM Press, 1993.

    Google Scholar 

  84. E.-R. Olderog, Nets, Terms and Formulas (Cambridge University Press, 1991).

    Google Scholar 

  85. E.-R. Olderog and S. Rössig, A case study in transformational design of concurrent systems, in: M.-C. Gaudel, J.-P. Jouannaud, Eds., Proc. TAP-SOFT '93, LNCS 668 (Springer-Verlag, 1993) 90–104.

    Google Scholar 

  86. E.-R. Olderog and S. Rössig and J. Sander and M. Schenke, ProCoS at Oldenburg: The Interface between Specification Language and Occam-like Programming Language, Bericht 3/92, Univ. Oldenburg, Fachbereich Informatik, 1992.

    Google Scholar 

  87. L.C. Paulson. Logic and Computation, Interactive Proof with Cambridge LCF, volume 2 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1987.

    Google Scholar 

  88. N. Perry. Hope+. Internal report IC/FPRC/LANG/2.51/7, Dept. of Computing, Imperial College London, 1988.

    Google Scholar 

  89. J. Peckham and F. Maryanski. Semantic Data Models. ACM Computing Surveys, 20(3):153–189, 1988.

    Article  Google Scholar 

  90. C. Pusch. Übersetzung von Spectrum Spezifikationen nach Isabelle. Fortgeschrittenenpraktikum, Technische Universität München, 1994.

    Google Scholar 

  91. Franz Regensburger. The calculus of Spectrum. Technical Report TUM-I9424, Institut für Informatik, Technische-Universität München, 1994.

    Google Scholar 

  92. W. Reisig. Petri Nets: An Introduction. Springer, 1985.

    Google Scholar 

  93. L. Rapanotti and A. Socorro. Introducing FOOPS. Technical Report, Programming Research Group, Oxford University, 1992.

    Google Scholar 

  94. M. Schulte, Spezifikation und Verifikation von kommunizierenden Objekten in einem verteilten System, Diplomarbeit, Fachbereich Informatik, Univ. Oldenburg, März 1994.

    Google Scholar 

  95. R. Schlör, J. Helbig, Layered timing diagrams — visual constraint programming for system level design, submitted to publication, 1993.

    Google Scholar 

  96. C. Sudergat, R. Hettler, D. Nazareth, and F. Regensburger. AVL-Trees: A case study for software development in spectrum. Interner Bericht der TU München, 1993.

    Google Scholar 

  97. J.M. Spivey, The Z Notation: A Reference Manual (Prentice Hall, 1989).

    Google Scholar 

  98. A. Sernadas, C. Sernadas, and H.-D. Ehrich. Object-Oriented Specification of Databases: An Algebraic Approach. In P.M. Stocker and W. Kent, editors, Proc. 13th Int. Conf. on Very Large Data Bases VLDB, pages 107–116. Morgan-Kaufmann, 1987.

    Google Scholar 

  99. A. Sernadas, C. Sernadas, P. Gouveia, P. Resende, and J. Gouveia. OBLOG — Object-Oriented Logic: An Informal Introduction. Tech. Report, INESC, Lisbon, 1991.

    Google Scholar 

  100. D. Sannella, A. Tarlecki On Observational Equivalence. Journal of Comp. and Sys. Science, 34, 1987.

    Google Scholar 

  101. C. Strachey. Fundamental Concepts in Programming Languages. In Lecture Notes for International Summer School in Computer Programming, Copenhagen, 1967.

    Google Scholar 

  102. D.T. Sannella and M. Wirsing. A Kernel Language for Algebraic Specification and Implementation. Technical Report CSR-131-83, University of Edinburgh, Edinburgh EH9 3JZ, September 1983.

    Google Scholar 

  103. D. A. Turner. Miranda — a Non-Strict Functional Language with Polymorphic Types. In Jouannaud, editor, Conference on Functional Programming Languages and Computer Architecture, pages 1–16. Springer Verlag, 1985.

    Google Scholar 

  104. N. Vlachantonis, R. Herzig, M. Gogolla, G. Denker, S. Conrad, and H.-D. Ehrich. Towards Reliable Information Systems: The Korso Approach. In C. Rolland, F. Bodart, and C. Cauvet, editors, Advanced Information Systems Engineering, Proc. 5th CAiSE'93, Paris, pages 463–482. Springer LNCS 685, 1993.

    Google Scholar 

  105. P. Wadler and S. Blott. How to Make Ad-hoc Polymorphism Less Ad hoc. In 16th ACM Symposium on Principles of Programming Languages, pages 60–76, 1989.

    Google Scholar 

  106. Uwe Wolter, K. Didrich, Felix Cornelius, M. Klar, R. Wessäly, and H. Ehrig. How to Cope with the Spectrum of Spectrum, 1994. This volume.

    Google Scholar 

  107. C. Wadsworth, M. Gordon, and R. Milner. Edinburgh LCF: A Mechanised Logic of Computation, volume 78 of LNCS. Springer, 1979.

    Google Scholar 

  108. R.J. Wieringa. A Conceptual Model Specification Language (CMSL, Version 2). Technical Report IR-267, Vrije Universiteit Amsterdam, 1991.

    Google Scholar 

  109. N. Wirth. Algorithms + Data Structures = Programs. Prentice Hall, 1976.

    Google Scholar 

  110. M. Wirsing. Algebraic Specification. In J. Van Leeuwen, editor, Handbook of Theoretical Computer Science, Vol. B, pages 677–788. North-Holland, Amsterdam, 1990.

    Google Scholar 

  111. M. Wirsing et al. A Framework for Software Development in Korso. Informatik-Bericht, LMU München, 1992.

    Google Scholar 

  112. J. Zwiers, Compositionality, Concurrency, and Partial Correctness — Proof Theories for Networks of Processes and Their Relationship, LNCS 321 (Springer-Verlag, 1989).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manfred Broy Stefan Jähnichen

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Ehrich, H.D. (1995). KORSO reference languages concepts and application domains. In: Broy, M., Jähnichen, S. (eds) KORSO: Methods, Languages, and Tools for the Construction of Correct Software. Lecture Notes in Computer Science, vol 1009. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0015460

Download citation

  • DOI: https://doi.org/10.1007/BFb0015460

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60589-8

  • Online ISBN: 978-3-540-47802-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics