Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3525))

Abstract

A model is a simplified representation of the real world and, as such, includes only those aspects of the real-world system relevant to the problem at hand. The paper reviews a modelling approach to the design of concurrent programs in which models represent the behaviour of concurrent Java programs. A notation based on CSP is used to model behaviour. Tool support enables both interactive model exploration and the mechanical verification of required safety and liveness properties. Models are systematically translated into Java programs. The approach, supported by a textbook, forms the basis of a course at the authors’ institution and has also been widely adopted elsewhere. With the benefit of five years hindsight, we examine the strengths and weaknesses of the approach and look at some of the subsequent remedies and directions.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. John Wiley & Sons, Chichester (1999)

    MATH  Google Scholar 

  2. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  3. Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)

    Google Scholar 

  4. Cheung, S.C., Kramer, J.: Checking Safety Properties Using Compositional Reachability Analysis. ACM Transactions on Software Engineering and Methodology 8(1), 49–78 (1999)

    Article  Google Scholar 

  5. Giannakopoulou, D., Magee, J., Kramer, J.: Checking Progress with Action Priority: Is it Fair? In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, pp. 511–527. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  6. Giannakopoulou, D., Magee, J.: Fluent Model Checking for Event-Based Systems. In: Proc. of the 4th joint meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2003), Helsinki (2003)

    Google Scholar 

  7. Chatley, R., Eisenbach, S., Kramer, J., Magee, J., Uchitel, S.: Predictable Dynamic Plugin Systems. In: Wermelinger, M., Margaria-Steffen, T. (eds.) FASE 2004. LNCS, vol. 2984, pp. 129–143. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  8. Uchitel, S., Kramer, J., Magee, J.: Incremental Elaboration of Scenario-Based Specifications and Behaviour Models using Implied Scenarios. In: Transactions on Software Engineering and Methodology (TOSEM), vol. 13(1), pp. 37–85. Association of Computing Machinery Press

    Google Scholar 

  9. Magee, J., Kramer, J., Giannakopoulou, D., Pryce, N.: Graphical Animation of Behavior Models. In: Proc. of the 22nd International Conference on Software Engineering (ICSE 2000), Limerick, June 2000, pp. 499–508 (2000)

    Google Scholar 

  10. Foster, H., Kramer, J., Magee, J., Uchitel, S.: Model-based Verification of Web Service Compositions. In: Proc. of the Automated Software Engineering, Montreal, IEEE CS Press, Los Alamitos

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Magee, J., Kramer, J. (2005). Model-Based Design of Concurrent Programs. In: Abdallah, A.E., Jones, C.B., Sanders, J.W. (eds) Communicating Sequential Processes. The First 25 Years. Lecture Notes in Computer Science, vol 3525. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11423348_11

Download citation

  • DOI: https://doi.org/10.1007/11423348_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25813-1

  • Online ISBN: 978-3-540-32265-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics