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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bauer, F.L. and Wössner, H., “Algorithmic language and program development”, Springer-Verlag Berlin, Heidelberg, New York (1982)
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–118
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)
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)
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–332
Clocksin, W.F. and Mellish, C.S., “Programming in Prolog”, Springer-Verlag Berlin, Heidelberg, New York, ISBN 3-540-11046-1 (1981)
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–510
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–264
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–168
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)
Genrich, H.J. and Lautenbach, K., System modelling with high-level Petri nets, Theoretical Computer Science 13,1, North-Holland Publishing Company (1981), 109–136
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–111
Genrich, H.J., Lautenbach, K. and Thiagarajan, P.S., Elements of General Net Theory, in [4], “ 21–38, 93–105
Genrich, H.J. and Stankiewics-Wiechno, E., A Dictionary of some Basic Notions of Net Theory, in [4], “ 519–535
Goguen, J. and Meseguer J., Rapid Prototyping in the OBJ Executable Specification Language, ACM SIGSOFT Software Engineering Notes 7, No 5 (December 1982), 75–84
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–149
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)
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–40
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–170
Lamport, L., Specifying Concurrent Program Modules, ACM Transactions on Programming Languages 5, 2 (April 1983), 190–222
MacLennan, B.J., Values and Objects in Programming Languages, SIGPLAN Notices, 17, 12 (December 1982), 70–79
Musser, D.R., Abstract Data Type Specification in the Affirm System, in “Proceedings on Specifications of Reliable Software”, IEEE Catalog No 79 (1979), 47–57
Petri, C.A., General Net Theory, in “Proceedings of the Joint IBM University of Newcastle upon Tyne Seminar”, Shaw, B. (Ed.) (1976), 130–169
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–351
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–345
Schmidt, H.W. and Kreowski H.-J., Conditional Specification in the Presence of Tests and Multi-Valued Symbols, Arbeitsberichte der GMD 74 (1983)
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–489
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–454
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–732
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1985 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Krämer, B. (1985). Stepwise construction of non-sequential software systems using a net-based specification language. In: Rozenberg, G. (eds) Advances in Petri Nets 1984. Lecture Notes in Computer Science, vol 188. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15204-0_18
Download citation
DOI: https://doi.org/10.1007/3-540-15204-0_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-15204-0
Online ISBN: 978-3-540-39320-7
eBook Packages: Springer Book Archive