Nothing Special   »   [go: up one dir, main page]

skip to main content
article

Type Theory and Language Constructs for Objects with States

Published: 01 March 2006 Publication History

Abstract

In current class-based Object-Oriented Programming Languages (OOPLs), object types include only static features. How to add object dynamic behaviors modeled by Harel's statecharts into object types is a challenging task. We propose adding states and state transitions, which are largely unstated in object type theory, into object type definitions and typing rules. We argue that dynamic behaviors of objects should be part of object type definitions. We propose our type theory, the @t-calculus, which refines Abadi and Cardelli's @z-calculus, in modeling objects with their dynamic behaviors. In our proposed type theory, we also explain that a subtyping relation between object types should imply the inclusion of their dynamic behaviors. By adding states and state transitions into object types, we propose modifying programming language constructs for state tracking.

References

[1]
Abadi, M. and Cardelli, L., A Theory of Objects. 1996. Springer, New York.
[2]
Booch, G., Rumbaugh, J. and Jacobson, I., The Unified Modeling Language User Guide. 1999. Addison-Wesley.
[3]
Deline, R. and M. Fahndrich, “Typestates for objects”, ECOOP 2004, 465-90
[4]
Drossopoulou, S., F. Damiani, M. Dezani-Ciancaglini, and P. Giannini, “Fickle: dynamic object re-classification”, ECOOP 2001, 130-49
[5]
Harel, D. and Grey, E., Executable Object Modeling with Statecharts. IEEE Computer. v30 i7. 31-42.
[6]
Hopcroft, J.E., Motwani, R. and Ullman, J.D., Introduction to Automata Theory, Languages, and Computation. 2001. 2nd Edition. Addison-Wesley.
[7]
Igarashi, A. and N. Kobayashi, “Resource Usage Analysis”, ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2002, 331-42
[8]
Liskov, B.H. and Wing, J.M., A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems. v16 i6. 1811-1841.
[9]
Madsen, O.L., “Towards Integration of State Machines and object-oriented Languages”, Proceedings of TOOLS Europe '99: Technology of Object Oriented Languages and Systems. 29th International Conference, 1999, 261-74
[10]
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W., Object-Rriented Modeling and Design. 1991. Prentice Hall.
[11]
Ravara, A. and V.T. Vasconcelos, “Typing non-uniform concurrent objects”, Proceedings of CONCUR 2000. 11th International Conference on Concurrency Theory, 2000, 474-88
[12]
Sakharov, A., “State Machine Specification Directly in Java and C++”, addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications, OOPSLA, 2000, 103-104
[13]
Samek, M. and Montgomery, P., State-Oriented Programming. Embedded Systems Engineering. v13 i8. 22-43.
[14]
Strom, R.E. and Yemini, S., Typestate: A Programming Language Concept for Enhancing Software Reliability. IEEE Transactions on Software Engineering. vSE-12 i1. 157-171.
[15]
http://www.cs.princeton.edu/~dpw/papers/smethods.pdf
[16]
Yu, S., Class-is-type is inadequate for object reuse. ACM Sigplan Notice. v36 i6. 50-59.
  1. Type Theory and Language Constructs for Objects with States

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Electronic Notes in Theoretical Computer Science (ENTCS)
    Electronic Notes in Theoretical Computer Science (ENTCS)  Volume 135, Issue 3
    March, 2006
    142 pages

    Publisher

    Elsevier Science Publishers B. V.

    Netherlands

    Publication History

    Published: 01 March 2006

    Author Tags

    1. ζ-calculus
    2. τ-calculus
    3. object dynamic behaviors
    4. object types
    5. programming language constructs
    6. state tracking

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 0
      Total Downloads
    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 14 Dec 2024

    Other Metrics

    Citations

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media