Ett ständigt ökande antal sammankopplade datorenheter gör kravet på programmering av abstraktioner för fjärrinteraktion från ett till flera, ännu strängare. Prenumerations/prenumerationsparadigmet har förespråkats som en kandidat abstraktion för sådan en-till-många interaktion i stor skala. Vanliga metoder vid publicering/prenumeration omfattar dock abstraktioner på låg nivå som knappast har någon inverkan på typsäkerheten och som endast ger dåligt stöd för objektinkapsling. Detta tenderar att lägga ytterligare börda på programvaruutvecklare; garantier såsom ovan nämnda typ säkerhet och objektinkapsling blir av allt större betydelse med ett ökat antal programvarukomponenter, som moderna applikationer också omfattar, förutom ett ökande antal hårdvarukomponenter. Typbaserad publicering/prenumeration (TPS) är en högnivåvariant av publicerings/prenumerationsparadigmet som just syftar till att ge garantier såsom typsäkerhet och inkapsling. Vi presenterar logiken och principerna bakom TPS, samt två implementationer i Java: den första baserad på en specifik utvidgning av Java-språket, och en andra ny implementering som använder sig av senaste allmänna funktioner i Java, såsom generiska och beteendereflektion. Vi jämför de två tillvägagångssätten och utvärderar därmed de tidigare nämnda funktionerna samt ytterligare funktioner som har inkluderats i den senaste Java 1.5-utgåvan i samband med distribuerad och samtidig programmering. Vi diskuterar fördelarna med alternativa programmeringsspråk och funktioner för att genomföra TPS. Genom att se över alternativa abstraktioner för distribuerad programmering, inklusive "klassiska" och nya, utvidgar vi våra undersökningar till programmeringsspråkstöd för distribuerad programmering i allmänhet, och påpekar att stödet i nuvarande vanliga programmeringsspråk fortfarande är otillräckligt. Detta arbete stöddes delvis av Agilent Laboratories, Lombard Odier Darier Hentsch och Co., den schweiziska gruppen för objektorienterad programmering och den schweiziska nationella vetenskapsstiftelsen. P. Eugster var tidigare associerad med Sun Microsystems, Inc. och Schweiziska Federal Institute of Technology i Lausanne. Författarens adress: P. Eugster, Institutionen för datavetenskap, Purdue University, West Lafayette, IN 47907; e-post: p@cs.purdue.edu. Tillstånd att göra digitala eller hårda kopior av delar eller allt detta arbete för personligt bruk eller klassrum beviljas utan avgift under förutsättning att kopior inte görs eller distribueras för vinst eller direkt kommersiell fördel och att kopior visar detta meddelande på första sidan eller första skärmen av en skärm tillsammans med den fullständiga citering. Upphovsrätt till delar av detta verk som ägs av andra än ACM måste hedras. Abstraktering med kredit är tillåten. För att kopiera på annat sätt, för att återpublicera, för att posta på servrar, för att omfördela till listor, eller för att använda någon komponent i detta verk i andra verk krävs förhandsgodkännande och/eller avgift. Behörighet kan begäras från publikationsavdelningen, ACM, Inc., 2 Penn Plaza, Suite 701, New York, NY 10121-0701 USA, fax +1 (212) 869-0481, eller behörigheter@acm.org.
Exemplet i bild4 påminner starkt om skrivbaserad publicering/prenumeration (TPS), som beskrivs i REF.
Type-based publish/subscribe: Concepts and experiences
{'venue': 'TOPL', 'journal': None, 'mag_field_of_study': ['Computer Science']}