Channels as Objects in Concurrent Object-Oriented Programming
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 clie...
Gespeichert in:
| Veröffentlicht in: | arXiv.org |
|---|---|
| Hauptverfasser: | , |
| Format: | Paper |
| Sprache: | Englisch |
| Veröffentlicht: |
Ithaca
Cornell University Library, arXiv.org
19.10.2011
|
| Schlagworte: | |
| ISSN: | 2331-8422 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | 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. |
|---|---|
| AbstractList | 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. |
| Author | Campos, Joana Vasconcelos, Vasco T |
| Author_xml | – sequence: 1 givenname: Joana surname: Campos fullname: Campos, Joana – sequence: 2 givenname: Vasco surname: Vasconcelos middlename: T fullname: Vasconcelos, Vasco T |
| BookMark | eNotjU1Lw0AURQexYG27dxlwnTrvzUcmCxcStAqFuOi-vCQvNaGd6Ewi_nwrdnW4Z3HPrbj2g2ch7kCutTNGPlD46b7XAH8CTHYl5qgUpE4j3ohVjL2UEm2Gxqi5eCw-yHs-xoRiUlY912NMOp8Ug6-nENiPF5uWoTsvbpL3MBwCnU6dPyzFrKVj5NWFC7F7ed4Vr-m23LwVT9uUDKjUWmgo146tkoA1aWOshJY5zysNtWPMGBgQs4o0cqUl64a1lZZaaylXC3H_f_sZhq-J47jvhyn4c3GP0lnntMqU-gWoGkqq |
| ContentType | Paper |
| Copyright | 2011. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| Copyright_xml | – notice: 2011. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| DBID | 8FE 8FG ABJCF ABUWG AFKRA AZQEC BENPR BGLVJ CCPQU DWQXO HCIFZ L6V M7S PHGZM PHGZT PIMPY PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PTHSS |
| DOI | 10.48550/arxiv.1110.4157 |
| DatabaseName | ProQuest SciTech Collection ProQuest Technology Collection ProQuest SciTech Premium Collection Technology Collection Materials Science & Engineering Database ProQuest Central (Alumni) ProQuest Central UK/Ireland ProQuest Central Essentials - QC ProQuest Central Technology Collection ProQuest One ProQuest Central Korea SciTech Premium Collection ProQuest Engineering Collection Engineering Database ProQuest Central Premium ProQuest One Academic (New) ProQuest Publicly Available Content Database ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic (retired) ProQuest One Academic UKI Edition ProQuest Central China Engineering Collection |
| DatabaseTitle | Publicly Available Content Database Engineering Database Technology Collection ProQuest One Academic Middle East (New) ProQuest Central Essentials ProQuest One Academic Eastern Edition ProQuest Central (Alumni Edition) SciTech Premium Collection ProQuest One Community College ProQuest Technology Collection ProQuest SciTech Collection ProQuest Central China ProQuest Central ProQuest One Applied & Life Sciences ProQuest Engineering Collection ProQuest One Academic UKI Edition ProQuest Central Korea Materials Science & Engineering Collection ProQuest Central (New) ProQuest One Academic ProQuest One Academic (New) Engineering Collection |
| DatabaseTitleList | Publicly Available Content Database |
| Database_xml | – sequence: 1 dbid: PIMPY name: ProQuest - Publicly Available Content Database url: http://search.proquest.com/publiccontent sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Physics |
| EISSN | 2331-8422 |
| Genre | Working Paper/Pre-Print |
| GroupedDBID | 8FE 8FG ABJCF ABUWG AFKRA ALMA_UNASSIGNED_HOLDINGS AZQEC BENPR BGLVJ CCPQU DWQXO FRJ HCIFZ L6V M7S M~E PHGZM PHGZT PIMPY PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PTHSS |
| ID | FETCH-LOGICAL-a513-661da948e63012ca455601fee99b41c8e27e1e1227ba42eb40e4de4606af66a93 |
| IEDL.DBID | BENPR |
| IngestDate | Mon Jun 30 09:28:27 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | false |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a513-661da948e63012ca455601fee99b41c8e27e1e1227ba42eb40e4de4606af66a93 |
| Notes | SourceType-Working Papers-1 ObjectType-Working Paper/Pre-Print-1 content type line 50 |
| OpenAccessLink | https://www.proquest.com/docview/2086884373?pq-origsite=%requestingapplication% |
| PQID | 2086884373 |
| PQPubID | 2050157 |
| ParticipantIDs | proquest_journals_2086884373 |
| PublicationCentury | 2000 |
| PublicationDate | 20111019 |
| PublicationDateYYYYMMDD | 2011-10-19 |
| PublicationDate_xml | – month: 10 year: 2011 text: 20111019 day: 19 |
| PublicationDecade | 2010 |
| PublicationPlace | Ithaca |
| PublicationPlace_xml | – name: Ithaca |
| PublicationTitle | arXiv.org |
| PublicationYear | 2011 |
| Publisher | Cornell University Library, arXiv.org |
| Publisher_xml | – name: Cornell University Library, arXiv.org |
| SSID | ssj0002672553 |
| Score | 1.4703169 |
| SecondaryResourceType | preprint |
| Snippet | 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,... |
| SourceID | proquest |
| SourceType | Aggregation Database |
| SubjectTerms | Object oriented programming Object-oriented languages Semantics Test procedures |
| Title | Channels as Objects in Concurrent Object-Oriented Programming |
| URI | https://www.proquest.com/docview/2086884373 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV05T8MwFLagBYmJWxylysBqgY8k9oRE1QoG2gg6lKmynRepA2lJSsXP5zl1YUBiYfQxWPbzOz99j5BrYQutwCmK0U9BJQiNX8payq0ClKCEF7Frmk2kw6GaTHQWEm51gFVudGKjqPO58zlyDNJVopQn4rlbvFPfNcpXV0MLjW3S9kxlKOft-_4we_7OsvAkRZ9ZrOuTDXnXjak-ZyuvKXCCxekvHdwYlsH-f490QNqZWUB1SLagPCK7DaDT1cfE1-s9hKWOTB2NrM-21NGsjHrz0q0pmcIsHXmmY_Q7o2wN1XpDY3ZCxoP-uPdAQ6sEamImKBrZ3GipIMH_yp2RsQ-0CgCtrWROAU-BAeM8tUZysPIWZA4SgxdTJInR4pS0ynkJZyRCByV3ceJAoGsiPP2bNc6mzO8zVqlz0tlcxjSIez39uYmLv5cvyR4PIDqmO6S1rD7giuy41XJWV93wel0PwHzBUfb4lL1-Acfpp24 |
| linkProvider | ProQuest |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V07T8MwELaqFgQTb_EokAFGi8ZxEmdADIWKqq8MHcoU2e5F6kBaklLgR_EfOecBAxJbB1bbQ3I-38ufvyPkylFxIEALitlPTDk4AR4ppShTAlCDPBa7Om824Q-HYjIJwhr5rN7CGFhlZRNzQz2da1MjxyRdeEIYIp67xQs1XaPM7WrVQqNQix58vGHKlt1273F_rxnrPIzbj7TsKkClazsU_dFUBlyAh6rNtOSuyUligCBQ3NYCmA822Iz5SnIGireAT4FjnC9jz5OGewktfoOjrrfqpBF2B-HTd1GHeT6G6E5xHZpzhd3I9H22MoYJB2zX_2Xycz_W2flnEtjFP5cLSPdIDZJ9spnDVXV2QAwawQB0Mktm1kiZWlJmzRKrPU90QThVjtKR4XHGqNoKCyDaM7rqQzJexwcfkXoyT-CYWBh-TbXraXAw8HIMuZ2SWvm2WSeVECekWck-Kg9zFv0I_vTv6Uuy9Tge9KN-d9g7I9ushAvaQZPUl-krnJMNvVrOsvSiVByLRGveqC_xM_92 |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Channels+as+Objects+in+Concurrent+Object-Oriented+Programming&rft.jtitle=arXiv.org&rft.au=Campos%2C+Joana&rft.au=Vasconcelos%2C+Vasco+T&rft.date=2011-10-19&rft.pub=Cornell+University+Library%2C+arXiv.org&rft.eissn=2331-8422&rft_id=info:doi/10.48550%2Farxiv.1110.4157 |