Skip to main content

From Static to Dynamic Process Types

  • Conference paper
Software and Data Technologies (ICSOFT 2006)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 10))

Included in the following conference series:

  • 621 Accesses

Abstract

Process types – a kind of behavioral types – specify constraints on message acceptance for the purpose of synchronization and to determine object usage and component behavior in object-oriented languages. So far process types have been regarded as a purely static concept for Actor languages incompatible with inherently dynamic programming techniques. We propose solutions of related problems causing the approach to become useable in more conventional dynamic and concurrent languagues. The proposed approach can ensure message acceptability and support local and static checking of race-free programs.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 109.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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. Puntigam, F.: Coordination Requirements Expressed in Types for Active Objects. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 367–388. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  2. Agha, G., Mason, I.A., Smith, S., Talcott, C.: Towards a theory of actor computation. In: Cleaveland, W.R. (ed.) CONCUR 1992. LNCS, vol. 630, pp. 565–579. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  3. Puntigam, F.: Flexible types for a concurrent model. In: Proceedings of the Workshop on Object-Oriented Programming and Models of Concurrency, Torino (1995)

    Google Scholar 

  4. Puntigam, F.: Concurrent Object-Oriented Programming with Process Types. Der Andere Verlag, Osnabrück (2000)

    Google Scholar 

  5. von Praun, C., Gross, T.R.: Static conflict analysis for multi-threaded object-oriented programs. In: PLDI 2003, pp. 115–128. ACM Press, New York (2003)

    Chapter  Google Scholar 

  6. Bacon, D.F., Strom, R.E., Tarafdar, A.: Guava: A dialect of Java without data races. In: OOPSLA (2000)

    Google Scholar 

  7. Boyapati, C., Rinard, M.: A parameterized type system for race-free Java programs. In: OOPSLA 2001. ACM, New York (2001)

    Google Scholar 

  8. Brinch-Hansen, P.: The programming language Concurrent Pascal. IEEE Transactions on Software Engineering 1, 199–207 (1975)

    Google Scholar 

  9. Flanagan, F., Abadi, M.: Types for Safe Locking. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  10. Arbab, F.: Abstract behavior types: A foundation model for components and their composition. Science of Computer Programming 55, 3–52 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  11. de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of the Ninth Annual Symposium on Foundations of Software Engineering (FSE), pp. 109–120. ACM Press, New York (2001)

    Google Scholar 

  12. Heuzeroth, D., Reussner, R.: Meta-protocol and type system for the dynamic coupling of binary components. In: OOSPLA 1999 Workshop on Reflection and Software Engineering, Bicocca, Italy (1999)

    Google Scholar 

  13. Jacobsen, H.-A., Krämer, B.J.: A design pattern based approach to generating synchronization adaptors from annotated IDL. In: IEEE International Conference on Automated Software Engineering (ASE 1998), Honolulu, Hawaii, USA, pp. 63–72 (1998)

    Google Scholar 

  14. Lee, E.A., Xiong, Y.: A behavioral type system and its application in Ptolemy II. Formal Aspects of Computing 16, 210–237 (2004)

    Article  MATH  Google Scholar 

  15. Mezini, M., Ostermann, K.: Integrating independent components with on-demand remodularization. In: OOPSLA 2002 Conference Proceedings, Seattle, Washington, nov 2002, pp. 52–67. ACM Press, New York (2002)

    Chapter  Google Scholar 

  16. Nierstrasz, O.: Regular types for active objects. ACM SIGPLAN Notices 28, 1–15 (1993); Proceedings OOPSLA 1993

    Article  Google Scholar 

  17. Plasil, F., Visnovsky, S.: Behavioral protocols for software components. IEEE Transactions on Software Engineering 28, 1056–1076 (2002)

    Article  Google Scholar 

  18. Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Transactions on Programming Languages and Systems 19, 292–333 (1997)

    Article  Google Scholar 

  19. Liskov, B., Wing, J.M.: Specifications and their use in defining subtypes. ACM SIGPLAN Notices 28, 16–28 (1993); Proceedings OOPSLA 1993

    Article  Google Scholar 

  20. Puntigam, F.: State information in statically checked interfaces. In: Eighth International Workshop on Component-Oriented Programming, Darmstadt, Germany (2003)

    Google Scholar 

  21. Südholt, M.: A Model of Components with Non-regular Protocols. In: Gschwind, T., Aßmann, U., Nierstrasz, O. (eds.) SC 2005. LNCS, vol. 3628, pp. 99–113. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  22. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  23. Meyer, B.: The grand challenge of trusted components. In: ICSE-25 (International Conference on Software Engineering), Portland, Oregon. IEEE Computer Society Press, Los Alamitos (2003)

    Google Scholar 

  24. Matsuoka, S., Yonezawa, A.: Analysis of inheritance anomaly in object-oriented concurrent programming languages. In: Agha, G. (ed.) Research Directions in Concurrent Object-Oriented Programming, MIT Press, Cambridge (1993)

    Google Scholar 

  25. Caromel, D.: Toward a method of object-oriented concurrent programming. Communications of the ACM 36, 90–101 (1993)

    Article  Google Scholar 

  26. Meyer, B.: Systematic concurrent object-oriented programming. Communications of the ACM 36, 56–80 (1993)

    Article  Google Scholar 

  27. Nielson, F., Nielson, H.R.: From CML to process algebras. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 493–508. Springer, Heidelberg (1993)

    Google Scholar 

  28. Colaco, J.-L., Pantel, M., Salle, P.: A set-constraint-based analysis of actors. In: Proceedings FMOODS 1997, Canterbury, United Kingdom. Chapman and Hall, Boca Raton (1997)

    Google Scholar 

  29. Kobayashi, N., Yonezawa, A.: Type-theoretic foundations for concurrent object-oriented programming. ACM SIGPLAN Notices 29, 31–45 (1994); Proceedings OOPSLA 1994

    Google Scholar 

  30. Ravara, A., Vasconcelos, V.T.: Behavioural types for a calculus of concurrent objects. In: Lengauer, C., Griebl, M., Gorlatch, S. (eds.) Euro-Par 1997. LNCS, vol. 1300, pp. 554–561. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  31. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (parts I and II). Information and Computation 100, 1–77 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  32. Kobayashi, N., Pierce, B., Turner, D.: Linearity and the pi-calculus. ACM Transactions on Programming Languages and Systems 21, 914–947 (1999)

    Article  Google Scholar 

  33. Najm, E., Nimour, A.: A calculus of object bindings. In: Proceedings FMOODS 1997, Canterbury, United Kingdom. Chapman and Hall, Boca Raton (1997)

    Google Scholar 

  34. Choi, J.-D., Gupta, M., Serrano, M., Sreedhar, V.C., Midkiff, S.: Escape analysis for Java. In: OOPSLA 1999, Denver, Colorado (1999)

    Google Scholar 

  35. Vivien, F., Rinard, M.: Incrementalized pointer and escape analysis. In: PLDI 2001. ACM, New York (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joaquim Filipe Boris Shishkov Markus Helfert

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Puntigam, F. (2008). From Static to Dynamic Process Types. In: Filipe, J., Shishkov, B., Helfert, M. (eds) Software and Data Technologies. ICSOFT 2006. Communications in Computer and Information Science, vol 10. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70621-2_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70621-2_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-70619-9

  • Online ISBN: 978-3-540-70621-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics