Advertisement

Stepwise construction of non-sequential software systems using a net-based specification language

  • Bernd Krämer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 188)

Abstract

A specification language for non-sequential and distributed software systems is outlined by way of a series of examples. The language is based on an integration of initial algebra semantics and Predicate-Transition net semantics. Abstract system specifications are presented in terms of types, operations, conditional specifications and nets. The role of nets is to specify the behavior of a type of system in the sense of processes and their synchronisation. Domains, functions and relations, which make up the invariant structure of Predicate-Transition nets, are specified algebraically. The language supports modular and stepwise development of specifications applying and extending the algebraic concept of combination, parameterization and formal implementation to this kind of abstract systems specifications.

For illustration of the language features, we specify a simple communication service between two nodes of a computer network and partially implement it using the specification of three lower level types of systems that together comprise the alternating bit protocol.

Keywords

Specification Language Initial Case Operation Symbol Abstract Data Type Distribute Software System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    Bauer, F.L. and Wössner, H., “Algorithmic language and program development”, Springer-Verlag Berlin, Heidelberg, New York (1982)Google Scholar
  2. [2]
    Bayer, M., Böhringer, B., Dehottay, J.P., Feuerhahn, H., Jasper, J., Koster, C.H.A. and Schmiedecke, U., Software Development in the CDL2 Laboratory, in “Software Engineering Environments”, Hünke, H. (Ed.), North-Holland Publishing Company, ISBN 3-444-86133-5 (1981), 97–118Google Scholar
  3. [3]
    Bochmann, G. v., “Architecture of Distributed Computer Systems”, Lecture Notes in Computer Science 77, Springer-Verlag Berlin, Heidelberg, New York, ISBN 3-540-09723-6 (1979)Google Scholar
  4. [4]
    Brauer, W. (Ed.), “Net Theory and Applications”, Lecture Notes in Computer Science 84, Springer-Verlag Berlin, Heidelberg, New York, ISBN 3-540-10001-6 (1980)Google Scholar
  5. [5]
    Burstall, R. and Goguen, J.R., The semantics of Clear, a Specification Language, in “1979 Copenhagen Winter School on Abstract Software Specification Proceedings”, Lecture Notes in Computer Science 86, Bjørner, D. (Ed.), Springer-Verlag Berlin, Heidelberg, New York, ISBN 3-540-10007-5 (1980), 292–332Google Scholar
  6. [6]
    Clocksin, W.F. and Mellish, C.S., “Programming in Prolog”, Springer-Verlag Berlin, Heidelberg, New York, ISBN 3-540-11046-1 (1981)Google Scholar
  7. [7]
    Diaz, M., Modelling and Analysis of Communication and Cooperation Protocols using Petri Net Based Models, in “Protocol Specification, Testing and Verification”, Sunshine, C. (Ed.), North-Holland Publishing Company, ISBN 0444-864814 (1982), 465–510Google Scholar
  8. [8]
    Ehrig, H., Kreowski H.-J., Mahr, B. and Padawitz, P., Algebraic Implementation of Abstract Data Types, Theoretical Computer Science 20,3, North-Holland Publishing Company (1982), 209–264Google Scholar
  9. [9]
    Ehrig, H., Kreowski, H.-J., Thatcher, J.W., Wagner, E.G., and Wright, J.B., Parameterized data types in algebraic languages, in “Automata, Languages and Programming”, Seventh Colloquium, Noordwijkerhout, the Netherlands, de Bakker J.W. and van Leeuwen, J. (Eds.), Lecture Notes in Computer Science 85, Springer-Verlag Berlin, Heidelberg, New York, ISBN 3-540-10003-2 (1980), 157–168Google Scholar
  10. [10]
    Genrich, H.J., Extended simple regular expressions, in Lecture Notes in Computer Science 32, Bečvář, J. (Ed.), Springer-Verlag Berlin, Heidelberg, New York (1975)Google Scholar
  11. [11]
    Genrich, H.J. and Lautenbach, K., System modelling with high-level Petri nets, Theoretical Computer Science 13,1, North-Holland Publishing Company (1981), 109–136Google Scholar
  12. [12]
    Genrich, H.J. and Lautenbach, K., S-Invariance in Predicate-Transition Nets, in “Applications and Theory of Petri Nets”, Informatik-Fachberichte 66, Pagnoni, A. and Rozenberg, G. (Eds.), Springer-Verlag Berlin, Heidelberg, New York, Tokyo, ISBN 3-540-12309-1 (1983), 98–111Google Scholar
  13. [13]
    Genrich, H.J., Lautenbach, K. and Thiagarajan, P.S., Elements of General Net Theory, in [4], “ 21–38, 93–105Google Scholar
  14. [14]
    Genrich, H.J. and Stankiewics-Wiechno, E., A Dictionary of some Basic Notions of Net Theory, in [4], “ 519–535Google Scholar
  15. [15]
    Goguen, J. and Meseguer J., Rapid Prototyping in the OBJ Executable Specification Language, ACM SIGSOFT Software Engineering Notes 7, No 5 (December 1982), 75–84CrossRefGoogle Scholar
  16. [16]
    Goguen, J., Thatcher, J.W. and Wagner, E.G., An Initial Algebra Approach to the Specification, Correctness, and Implementation of Abstract Data Types, in “Current Trends in Programming Methodology”, Volume IV, Data Structuring, Yeh, R.T. (Ed.), Prentice-Hall, Englewood Cliffs, New Jersey, ISBN 0-13-195735-X (1978), 80–149Google Scholar
  17. [17]
    Krämer, B., Formal and Semi-Graphic Specification of Non-Sequential Software Systems, to appear in “Entwurf großer Software-Systeme”, Berichte des German Chapte of the ACM, Remmele, W. (Ed.), B.G. Teubner, Stuttgart (1984)Google Scholar
  18. [18]
    Krämer, B., Nieters, H.H., Schmidt, H.W., Bayer, M., Dehottay, J.P., and Singer, K., A Syntax Directed Editor for a Semi-Graphic Language to Specifying Non-sequential Systems in “Implementierung von Programmiersprachen”, Tagungsunterlage zum GI-Fachgespräch, 7. März, Zürich, Ganzinger, H. (Ed.) (1984), 21–40Google Scholar
  19. [19]
    Krämer, B. and Schmidt, H.W., A High Level Net Language for Modeling Organisational Systems, in “Adequate Modeling of Systems”, Proceedings of the International Working Conference on Model Realism, Bad Honnef, FRG Wedde, H. (Ed.), Springer-Verlag Berlin, Heidelberg, New York, ISBN 3-540-12567-1 (1982), 156–170Google Scholar
  20. [20]
    Lamport, L., Specifying Concurrent Program Modules, ACM Transactions on Programming Languages 5, 2 (April 1983), 190–222CrossRefGoogle Scholar
  21. [21]
    MacLennan, B.J., Values and Objects in Programming Languages, SIGPLAN Notices, 17, 12 (December 1982), 70–79Google Scholar
  22. [22]
    Musser, D.R., Abstract Data Type Specification in the Affirm System, in “Proceedings on Specifications of Reliable Software”, IEEE Catalog No 79 (1979), 47–57Google Scholar
  23. [23]
    Petri, C.A., General Net Theory, in “Proceedings of the Joint IBM University of Newcastle upon Tyne Seminar”, Shaw, B. (Ed.) (1976), 130–169Google Scholar
  24. [24]
    Queille, J.P. and Sifakis, J., Specification and Verification of Concurrent Systems in CESAR, in “International Symposium on Programming”, Fifth Colloquium, Turin, Italy, Dezani-Ciancaglini, M. and Montanari, U. (Eds.), Lecture Notes in Computer Science 137, Springer-Verlag Berlin, Heidelberg, New York, ISBN 3-540-11494-7 (1982), 337–351Google Scholar
  25. [25]
    Schmidt, H.W., Towards a Net-Theoretic Notion of Type based on Predicate-Transition Nets, in “Papers presented at the 5th European Workshop on Applications and Theory of Petri Nets”, Aarhus, Denmark (1984), 330–345Google Scholar
  26. [26]
    Schmidt, H.W. and Kreowski H.-J., Conditional Specification in the Presence of Tests and Multi-Valued Symbols, Arbeitsberichte der GMD 74 (1983)Google Scholar
  27. [27]
    Sunshine, C.A., Thompson, D.H., Erickson, R.W., Gerhardt, S.L., and Schwabe, D., Specification and Verification of Communication Protocols in AFFIRM Using State Transition Models, in IEEE Transactions On Software Engineering, SE-8,5 (1982), 460–489Google Scholar
  28. [28]
    Schwartz, R.L. and Melliar-Smith, P.M., Temporal Logic Specification of Distributed Systems, in “Proceedings of The 2nd International Conference on Distributed Computing Systems”, Paris, France, IEEE Catalog No. 81CH1591-7 (1981), 446–454Google Scholar
  29. [29]
    Thatcher, J.W., Wagner, E.G., and Wright, J.B., Data Type Specification: Parameterization and the Power of Specification Techniques, ACM Transactions on Programming Languages and Systems, 4,4 (1982), 711–732Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Bernd Krämer
    • 1
  1. 1.Institut für Systemtechnik, GMD BonnSt. Augustin 1

Personalised recommendations