A strategic approach to transformational design

  • Jürgen Bohn
  • Wil Janssen
Session10: Tranformations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1051)


Designing parallel systems in a correct way is difficult. Transformational design of systems guarantees correctness by the correctness of the transformations, but is often tedious and complicated. We discuss different transformation strategies to guide the designer from the initial specification to different implementations, tailored to different architectures. Strategies give rise to simpler transformation rules, point the way in the design trajectory, and allow for the reuse of proofs and transformation steps when deriving optimizations and variants of algorithms.


Regular Expression Transformation Rule Layered Strategy Transformation Step Initial Specification 
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.


  1. 1.
    R. Back. Refinement calculus, Part II: Parallel and Reactive Programs. In de Bakker, de Roever, and Rozenberg, editors, Stepwise Refinement of Distributed Systems, LNCS 430, pages 67–93. Springer-Verlag, 1990.Google Scholar
  2. 2.
    R. Back and K. Sere. Stepwise refinement of action systems. Structured Programming 12:17–30, 1991.Google Scholar
  3. 3.
    P. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
  4. 4.
    J. Bohn and W. Janssen. From a single specification to many implementations — many roads lead to parallelism. Technical report, University of Oldenburg, 1995. Available at Scholar
  5. 5.
    J. Bohn and S. Rössig. On automatic and interactive design of communicating systems. In E. Brinksma, W. Cleaveland, K.G. Larsen, T. Margaria, and B. Steffen, editors, Proceedings of the First TACAS workshop, LNCS 1019, pages 216–247. Springer-Verlag, 1995.Google Scholar
  6. 6.
    R. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
  7. 7.
    C. Chou and E. Gafni. Understanding and verifying distributed algorithms using stratified decomposition. In Proceeding 7th ACM Symposium on Principles of Distributed Computing, 1988.Google Scholar
  8. 8.
    T. Elrad and N. Francez. Decomposition of distributed programs into communication closed layers. Science of Computer Programming, 2:155–173, 1982.Google Scholar
  9. 9.
    J. P. Bowen et al. A ProCoS II project description: ESPRIT Basic Research project 7071. Bulletin of the EATCS, 50:128–137, 1993.Google Scholar
  10. 10.
    C. Fischer. Transformation von synchronen SL-Specifikationen von Telekommunikationssytemen in asynchrone SL-Specifikationen. Master's thesis, University of Oldenburg, 1995. In German.Google Scholar
  11. 11.
    R. Gerth, R. Kuiper, and J. Segers. Interface refinement in reactive systems. In Proceedings CONCUR '92, LNCS 630, pages 77–94. Springer-Verlag, 1992.Google Scholar
  12. 12.
    C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  13. 13.
    W. Janssen. Layered Design of Parallel Systems. PhD thesis, University of Twente, 1994.Google Scholar
  14. 14.
    W. Janssen, M. Poel, and J. Zwiers. Action systems and action refinement in the development of parallel systems. In Proceedings of CONCUR '91, LNCS 527, pages 298–316. Springer-Verlag, 1991.Google Scholar
  15. 15.
    L. Lamport. The Temporal Logic of Actions. ACMTOPLAS, 16(3):872–923, 1994.Google Scholar
  16. 16.
    C. Lengauer. Loop parallelization in the polytope model (invited talk). In Eike Best, editor, Proceedings CONCUR '93, LNCS 715, pages 398–416. Springer-Verlag, 1993.Google Scholar
  17. 17.
    E.-R. Olderog. Towards a design calculus for communicating programs (invited paper). In Proceedings of CONCUR '91, LNCS 527, pages 61–77. Springer-Verlag, 1991.Google Scholar
  18. 18.
    E.-R. Olderog and S. Rössig. A case study in transformational design of concurrent systems. In M.-C. Gaudel and J.-P. Jouannaud, editors, TAPSOFT '93, LNCS 668, pages 90–104. Springer-Verlag, 1993.Google Scholar
  19. 19.
    E.-R. Olderog, S. Rössig, J. Sander, and M. Schenke. ProCoS at Oldenburg: The interface between specification language and occam-like programming language. Berichte aus dem Fachbereich Informatik 3, University of Oldenburg, 1992.Google Scholar
  20. 20.
    S. Rössig. A Transformational Approach to the Design of Communicating Systems. PhD thesis, University of Oldenburg, 1994.Google Scholar
  21. 21.
    J. Spivey. The Z Notation: A Reference Manual. Prentice Hall, 1989.Google Scholar
  22. 22.
    B. Steffen, T. Margaria, and A. Claßen. Heterogeneous analysis and verification for distributed systems. Technical Report MIP-9509, University of Passau, 1995.Google Scholar
  23. 23.
    F. Stomp. A derivation of a broadcasting protocol using sequentially phased reasoning (extended abstract). In L. Logrippo, R. Probert, and H. Ural, editors, Proceedings 10th IFIP symp. on Protocol Specification, Testing and Verification, pages 19–32. Elsevier Science Publishers, 1990.Google Scholar
  24. 24.
    F. Stomp and M. Siegel. Extending the limits of sequentially phased reasoning. In P. Thiagarajan, editor, Proceedings FST & TCS 14, LNCS 880. Springer-Verlag, 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Jürgen Bohn
    • 1
  • Wil Janssen
    • 1
  1. 1.Fachbereich InformatikUniversity of OldenburgOldenburgGermany

Personalised recommendations