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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org
Hauptverfasser: Campos, Joana, Vasconcelos, Vasco T
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