Channels as Objects in Concurrent Object-Oriented Programming

Computer Science – Programming Languages

Scientific paper

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

In Proceedings PLACES 2010, arXiv:1110.3853

Scientific paper

10.4204/EPTCS.69.2

There is often a sort of a protocol associated to each class, stating when and how certain methods should be called. Given that this protocol is, if at all, described in the documentation accompanying the class, current mainstream object-oriented languages cannot provide for the verification of client code adherence against the sought class behaviour. We have defined a class-based concurrent object-oriented language that formalises such protocols in the form of usage types. Usage types are attached to class definitions, allowing for the specification of (1) the available methods, (2) the tests clients must perform on the result of methods, and (3) the object status - linear or shared - all of which depend on the object's state. Our work extends the recent approach on modular session types by eliminating channel operations, and defining the method call as the single communication primitive in both sequential and concurrent settings. In contrast to previous works, we define a single category for objects, instead of distinct categories for linear and for shared objects, and let linear objects evolve into shared ones. We introduce a standard sync qualifier to prevent thread interference in certain operations on shared objects. We formalise the language syntax, the operational semantics, and a type system that enforces by static typing that methods are called only when available, and by a single client if so specified in the usage type. We illustrate the language via a complete example.

No associations

LandOfFree

Say what you really think

Search LandOfFree.com for scientists and scientific papers. Rate them and share your experience with other people.

Rating

Channels as Objects in Concurrent Object-Oriented Programming does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.

If you have personal experience with Channels as Objects in Concurrent Object-Oriented Programming, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Channels as Objects in Concurrent Object-Oriented Programming will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFWR-SCP-O-596691

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.