FROM STATIC TO DYNAMIC PROCESS TYPES

Franz Puntigam

2006

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.

References

  1. Agha, G., Mason, I. A., Smith, S., and Talcott, C. (1992). Towards a theory of actor computation. In Proceedings CONCUR'92, number 630 in Lecture Notes in Computer Science, pages 565-579. Springer-Verlag.
  2. Arbab, F. (2005). Abstract behavior types: A foundation model for components and their composition. Science of Computer Programming, 55(1-3):3-52.
  3. Bacon, D. F., Strom, R. E., and Tarafdar, A. (2000). Guava: A dialect of Java without data races. In OOPSLA 2000.
  4. Boyapati, C. and Rinard, M. (2001). A parameterized type system for race-free Java programs. In OOPSLA 2001. ACM.
  5. Brinch-Hansen, P. (1975). The programming language Concurrent Pascal. IEEE Transactions on Software Engineering, 1(2):199-207.
  6. Caromel, D. (1993). Toward a method of object-oriented concurrent programming. Communications of the ACM, 36(9):90-101.
  7. Choi, J.-D., Gupta, M., Serrano, M., Sreedhar, V. C., and Midkiff, S. (1999). Escape analysis for Java. In OOPSLA'99, Denver, Colorado.
  8. Colaco, J.-L., Pantel, M., and Salle, P. (1997). A setconstraint-based analysis of actors. In Proceedings FMOODS'97, Canterbury, United Kingdom. Chapman & Hall.
  9. de Alfaro, L. and Henzinger, T. A. (2001). Interface automata. In Proceedings of the Ninth Annual Symposium on Foundations of Software Engineering (FSE), pages 109-120. ACM Press.
  10. Flanagan, F. and Abadi, M. (1999). Types for safe locking. In Proceedings ESOP'99, Amsterdam, The Netherlands.
  11. Heuzeroth, D. and Reussner, R. (1999). Meta-protocol and type system for the dynamic coupling of binary components. In OORASE'99: OOSPLA'99 Workshop on Reflection and Software Engineering, Bicocca, Italy.
  12. Jacobsen, H.-A. and Krämer, B. J. (1998). A design pattern based approach to generating synchronization adaptors from annotated IDL. In IEEE International Conference on Automated Software Engineering (ASE'98), pages 63-72, Honolulu, Hawaii, USA.
  13. Kobayashi, N., Pierce, B., and Turner, D. (1999). Linearity and the pi-calculus. ACM Transactions on Programming Languages and Systems, 21(5):914-947.
  14. Kobayashi, N. and Yonezawa, A. (1994). Type-theoretic foundations for concurrent object-oriented programming. ACM SIGPLAN Notices, 29(10):31-45. Proceedings OOPSLA'94.
  15. Lee, E. A. and Xiong, Y. (2004). A behavioral type system and its application in Ptolemy II. Formal Aspects of Computing, 16(3):210-237.
  16. Liskov, B. and Wing, J. M. (1993). Specifications and their use in defining subtypes. ACM SIGPLAN Notices, 28(10):16-28. Proceedings OOPSLA'93.
  17. Matsuoka, S. and Yonezawa, A. (1993). Analysis of inheritance anomaly in object-oriented concurrent programming languages. In Agha, G., editor, Research Directions in Concurrent Object-Oriented Programming. The MIT Press.
  18. Meyer, B. (1993). Systematic concurrent objectoriented programming. Communications of the ACM, 36(9):56-80.
  19. Meyer, B. (1997). Object-Oriented Software Construction. Prentice Hall, second edition edition.
  20. Meyer, B. (2003). The grand challenge of trusted components. In ICSE-25 (International Conference on Software Engineering), Portland, Oregon. IEEE Computer Press.
  21. Mezini, M. and Ostermann, K. (2002). Integrating independent components with on-demand remodularization. In OOPSLA 2002 Conference Proceedings, pages 52- 67, Seattle, Washington. ACM.
  22. Milner, R., Parrow, J., and Walker, D. (1992). A calculus of mobile processes (parts I and II). Information and Computation, 100:1-77.
  23. Najm, E. and Nimour, A. (1997). A calculus of object bindings. In Proceedings FMOODS'97, Canterbury, United Kingdom. Chapman & Hall.
  24. Nielson, F. and Nielson, H. R. (1993). From CML to process algebras. In Proceedings CONCUR'93, number 715 in Lecture Notes in Computer Science, pages 493-508. Springer-Verlag.
  25. Nierstrasz, O. (1993). Regular types for active objects. ACM SIGPLAN Notices, 28(10):1-15. Proceedings OOPSLA'93.
  26. Plasil, F. and Visnovsky, S. (2002). Behavioral protocols for software components. IEEE Transactions on Software Engineering, 28(11):1056-1076.
  27. Puntigam, F. (1995). Flexible types for a concurrent model. In Proceedings of the Workshop on Object-Oriented Programming and Models of Concurrency, Torino.
  28. Puntigam, F. (1997). Coordination requirements expressed in types for active objects. In Aksit, M. and Matsuoka, S., editors, Proceedings ECOOP'97, number 1241 in Lecture Notes in Computer Science, pages 367-388, Jyväskylä, Finland. Springer-Verlag.
  29. Puntigam, F. (2000). Concurrent Object-Oriented Programming with Process Types. Der Andere Verlag, Osnabrück, Germany.
  30. Puntigam, F. (2003). State information in statically checked interfaces. In Eighth International Workshop on Component-Oriented Programming, Darmstadt, Germany.
  31. Ravara, A. and Vasconcelos, V. T. (1997). Behavioural types for a calculus of concurrent objects. In Proceedings Euro-Par'97, number 1300 in Lecture Notes in Computer Science, pages 554-561. Springer-Verlag.
  32. Südholt, M. (2005). A model of components with nonregular protocols. In Software Composition (SC 2005), Edinburgh, Scotland.
  33. Vivien, F. and Rinard, M. (2001). Incrementalized pointer and escape analysis. In PLDI 7801. ACM.
  34. von Praun, C. and Gross, T. R. (2003). Static conflict analysis for multi-threaded object-oriented programs. In PLDI 7803, pages 115-128. ACM Press.
  35. Yellin, D. M. and Strom, R. E. (1997). Protocol specifications and component adaptors. ACM Transactions on Programming Languages and Systems, 19(2):292- 333.
Download


Paper Citation


in Harvard Style

Puntigam F. (2006). FROM STATIC TO DYNAMIC PROCESS TYPES . In Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT, ISBN 978-972-8865-69-6, pages 21-28. DOI: 10.5220/0001312900210028


in Bibtex Style

@conference{icsoft06,
author={Franz Puntigam},
title={FROM STATIC TO DYNAMIC PROCESS TYPES},
booktitle={Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT,},
year={2006},
pages={21-28},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0001312900210028},
isbn={978-972-8865-69-6},
}


in EndNote Style

TY - CONF
JO - Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT,
TI - FROM STATIC TO DYNAMIC PROCESS TYPES
SN - 978-972-8865-69-6
AU - Puntigam F.
PY - 2006
SP - 21
EP - 28
DO - 10.5220/0001312900210028