Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Multi-stage programming (poster)
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Exploiting an event-based infrastructure to develop complex distributed systems
Proceedings of the 20th international conference on Software engineering
Using off-the-shelf middleware to implement connectors in distributed software architectures
Proceedings of the 21st international conference on Software engineering
Software engineering and middleware: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Achieving scalability and expressiveness in an Internet-scale event notification service
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
Addendum to the 1998 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
JavaSpaces Principles, Patterns, and Practice
JavaSpaces Principles, Patterns, and Practice
.NET Framework Essentials
Guardians and actions: linguistic support for robust, distributed programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Computer
Query Optimization and Execution Plan Generation in Object-Oriented Data Management Systems
IEEE Transactions on Knowledge and Data Engineering
Abstracting Object Interactions Using Composition Filters
ECOOP '93 Proceedings of the Workshop on Object-Based Distributed Programming
Ubiquitous, Decentralized, and Evolving Software: Challenges for Software Engineering
ICGT '02 Proceedings of the First International Conference on Graph Transformation
Jada - Coordination and Communication for Java Agents
MOS '96 Selected Presentations and Invited Papers Second International Workshop on Mobile Object Systems - Towards the Programmable Internet
DADO: enhancing middleware to support crosscutting features in distributed, heterogeneous systems
Proceedings of the 25th International Conference on Software Engineering
Pragmatic Type Interoperability
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Lightweight probabilistic broadcast
ACM Transactions on Computer Systems (TOCS)
Type-based publish/subscribe: Concepts and experiences
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programming with Live Distributed Objects
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Hi-index | 0.00 |
Distributed application development is overly tedious, asthe dynamic composition of distributed components is hardto combine with static safety with respect to types (typesafety) and data (encapsulation). Achieving such safetyusually goes through specific compilation to generate theglue between components, or making use of a single programminglanguage for all individual components with ahardwired abstraction for the distributed interaction.In this paper, we investigate general-purpose programminglanguage features for supporting third-party implementationsof programming abstractions for distributed interactionamong components. We report from our experiencesin developing a stock market application based ontype-based publish/subscribe (TPS) implemented (1) as alibrary in standard Java as well as with (2) a homegrownextension of the Java language augmented with specificprimitives for TPS, motivated by the lacks of former implementation.We then revisit the library approach, investigatingthe impact of genericity, reflective features, and thetype system, on the implementation of a satisfactory TPSlibrary. We then discuss the impact of these features alsoon other distributed programming abstractions, and henceon the engineering of distributed applications in general,pointing out lacks of mainstream programming environmentssuch as Java as well as .NET.